Befehlssatz und Assembler
Welche Wirkung hat der RISC-V-Befehl „lw t0, 8(sp)“?
- ADer Wert von t0 wird als 4 Byte an die Adresse sp plus 8 geschrieben
- BAb der Adresse sp plus 8 werden 4 Byte gelesen und in t0 abgelegt
- 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.