Befehlssatz und Assembler

Welchen Wert hat das Register a2 nach Ausführung des obigen RISC-V-Codes?

addi a0, zero, 5
addi a1, a0, 3
add  a2, a0, a1
  1. A8
  2. B13
  3. C15
Antwort und Erläuterung anzeigen

Antwort: B. 13

Zeile 1 addiert 5 zu zero (stets 0), also a0=5; Zeile 2 addiert 3 zu a0, also a1=8; Zeile 3 addiert a0 und a1, also a2=5+8=13. Arithmetische Befehle in RISC-V werden in der Reihenfolge „Befehl Ziel, Quelle1, Quelle2 (oder Immediate)“ geschrieben, das erste Register nimmt das Ergebnis auf. zero ist ein Alias für x0 und wird häufig zum Erzeugen von Konstanten verwendet.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Befehlssatz und Assembler

  1. Welche Wirkung hat der RISC-V-Befehl „lw t0, 8(sp)“?
  2. Wie wird beim RISC-V-Verzweigungsbefehl „beq a0, a1, label“ die Adresse des Sprungziels label dargestellt?
  3. Welcher Vorteil der PC-relativen Adressierung bei Verzweigungen und Sprüngen ist richtig?
  4. Welche Aussage zur Befehlslänge der RISC-V-Basisbefehle und der x86-Befehle ist richtig?
  5. Welcher Vorteil fester Befehlslänge ist am zutreffendsten?