Befehlssatz und Assembler
Welchen 32-Bit-Wert enthält t0 nach Ausführung von „addi t0, zero, -1“ in RISC-V (RV32I)?
- A0xFFFFFFFF
- B0x00000FFF
- C0x80000001
Antwort und Erläuterung anzeigen
Antwort: A. 0xFFFFFFFF
Das Immediate −1 wird in 12 Bit als 0xFFF dargestellt. addi erweitert es auf 32 Bit vorzeichenrichtig, kopiert also das höchste Bit 1 in alle höheren Stellen, sodass sich 0xFFFFFFFF ergibt, die Darstellung von −1 im Zweierkomplement. Dank der Vorzeichenerweiterung lässt sich durch Addieren eines negativen Immediate subtrahieren. Würde mit Nullen aufgefüllt, ergäbe sich 0x00000FFF = 4095, und die Bedeutung wäre verändert.