Instructieset en assembly
Welke 32-bits waarde staat in t0 nadat in RISC-V (RV32I) „addi t0, zero, -1” is uitgevoerd?
- A0xFFFFFFFF
- B0x00000FFF
- C0x80000001
Antwoord en toelichting tonen
Antwoord: A. 0xFFFFFFFF
De immediate -1 wordt met 12 bits weergegeven als 0xFFF. addi breidt deze tekenuitgebreid uit naar 32 bits, dat wil zeggen dat het hoogste bit 1 naar alle hogere posities wordt gekopieerd, zodat 0xFFFFFFFF ontstaat, wat -1 in two's complement weergeeft. Dankzij tekenuitbreiding kan aftrekken worden gedaan door alleen een negatieve immediate op te tellen. Als de bovenste bits met nullen zouden worden gevuld, zou het 0x00000FFF = 4095 worden en verandert de betekenis.