Instructieset en assembly
Op een little-endian RISC-V is het register met 0x12345678 met „sw” naar adres 0x100 geschreven. Wat is de waarde als daarna met „lbu” het byte op adres 0x101 wordt gelezen?
- A0x34
- B0x56
- C0x78
Antwoord en toelichting tonen
Antwoord: B. 0x56
Bij little-endian wordt het laagste byte van de waarde op het laagste adres geplaatst. Bij 0x12345678 staan op 0x100 0x78, op 0x101 0x56, op 0x102 0x34 en op 0x103 0x12. Het byte op 0x101 is dus 0x56. Bij big-endian zouden vanaf 0x100 achtereenvolgens 0x12, 0x34, … staan en zou 0x101 0x34 zijn. Bij het werken met netwerk- of bestandsformaten moet op dit verschil worden gelet.