Befehlssatz und Assembler

Welche Wirkung hat der RISC-V-Befehl „lw t0, 8(sp)“?

  1. ADer Wert von t0 wird als 4 Byte an die Adresse sp plus 8 geschrieben
  2. BAb der Adresse sp plus 8 werden 4 Byte gelesen und in t0 abgelegt
  3. CAb der Adresse, die sich aus dem 8-Fachen von sp ergibt, werden 4 Byte gelesen und in t0 abgelegt
Antwort und Erläuterung anzeigen

Antwort: B. Ab der Adresse sp plus 8 werden 4 Byte gelesen und in t0 abgelegt

lw steht für load word und ist ein Befehl, der 32 Bit (4 Byte) aus dem Speicher lädt. „8(sp)“ bezeichnet die Adresse aus der Basis sp plus 8; diese Adressierungsart heißt basisrelativ (Registerindirekt mit Offset). Sie ist praktisch, um mit festem Abstand von der Basis auf Variablen auf dem Stack oder Strukturelemente zuzugreifen. Umgekehrt schreibt sw (store word) einen Registerwert in den Speicher.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Befehlssatz und Assembler

  1. Wie wird beim RISC-V-Verzweigungsbefehl „beq a0, a1, label“ die Adresse des Sprungziels label dargestellt?
  2. Welcher Vorteil der PC-relativen Adressierung bei Verzweigungen und Sprüngen ist richtig?
  3. Welche Aussage zur Befehlslänge der RISC-V-Basisbefehle und der x86-Befehle ist richtig?
  4. Welcher Vorteil fester Befehlslänge ist am zutreffendsten?
  5. In RISC-V-Befehlen sind die Felder zur Registerangabe (rd, rs1, rs2) jeweils 5 Bit lang. Welche Begründung ist richtig?