Instructieset en assembly

Welke algemene gehele-getalregisters heeft RISC-V RV32I (de basisinstructieset voor gehele getallen van 32 bits)?

  1. A32 registers van 32 bits breed (x0 tot x31)
  2. B8 registers van 32 bits breed (x0 tot x7)
  3. C64 registers van 64 bits breed (x0 tot x63)
Antwoord en toelichting tonen

Antwoord: A. 32 registers van 32 bits breed (x0 tot x31)

RV32I heeft 32 gehele-getalregisters, x0 tot x31, met een breedte van 32 bits (in de 64-bitsversie RV64I is de breedte 64 bits en blijft het aantal 32). Het veld voor een register in een instructie is 5 bits, wat 2⁵ = 32 registers kan aanduiden. Er zijn ook aliassen zoals ra, sp en a0, waarvan de rol in de aanroepconventie is vastgelegd. Voor embedded gebruik bestaat ook RV32E met 16 registers.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. Welke relatie tussen assembleertaal en machinecode is juist?
  2. Door welke instructie vervangt de assembler in werkelijkheid de RISC-V-pseudo-instructie „nop” (doe niets)?
  3. Wat is het juiste verschil tussen de RISC-V-instructies „add” en „addi”?
  4. Wat is de waarde van register a2 na uitvoering van de bovenstaande RISC-V-code?
  5. Welke werking van de RISC-V-instructie „lw t0, 8(sp)” is juist?