Befehlssatz und Assembler

Welche Beziehung zwischen Assemblersprache und Maschinensprache ist richtig?

  1. AAssemblerbefehle werden vom Assembler nahezu eins zu eins in Maschinenbefehle übersetzt
  2. BAssembler ist unabhängig vom CPU-Typ einheitlich und läuft auf jeder CPU unverändert
  3. CMaschinensprache ist ein Interpreter, der Assembler zur Laufzeit Zeile für Zeile interpretiert
Antwort und Erläuterung anzeigen

Antwort: A. Assemblerbefehle werden vom Assembler nahezu eins zu eins in Maschinenbefehle übersetzt

Die Assemblersprache schreibt Maschinenbefehle in für Menschen lesbaren Symbolen (Mnemonics) wie „add a0, a0, a1“, die der Assembler in Bitfolgen von Befehlen umsetzt. Da sie den Befehlen nahezu eins zu eins entspricht, unterscheidet sich der Assembler je nach ISA. Pseudobefehle wie „li“ und „mv“ ersetzt der Assembler jedoch durch einen oder mehrere echte Befehle. Auch das Umsetzen von Labels in Adressen ist Aufgabe des Assemblers.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Befehlssatz und Assembler

  1. In welchen Befehl setzt der Assembler den RISC-V-Pseudobefehl „nop“ (tut nichts) tatsächlich um?
  2. Worin unterscheiden sich die RISC-V-Befehle „add“ und „addi“?
  3. Welchen Wert hat das Register a2 nach Ausführung des obigen RISC-V-Codes?
  4. Welche Wirkung hat der RISC-V-Befehl „lw t0, 8(sp)“?
  5. Wie wird beim RISC-V-Verzweigungsbefehl „beq a0, a1, label“ die Adresse des Sprungziels label dargestellt?