Instructieset en assembly

Welke werking van de RISC-V-instructie „lw t0, 8(sp)” is juist?

  1. ASchrijft de waarde van t0 als 4 bytes naar het adres sp plus 8
  2. BLeest 4 bytes vanaf het adres sp plus 8 en plaatst die in t0
  3. CLeest 4 bytes vanaf het adres sp maal 8 en plaatst die in t0
Antwoord en toelichting tonen

Antwoord: B. Leest 4 bytes vanaf het adres sp plus 8 en plaatst die in t0

lw staat voor load word en is een instructie die 32 bits (4 bytes) uit het geheugen leest. „8(sp)” geeft het adres aan dat ontstaat door 8 op te tellen bij de waarde van sp als basis; deze adresseermethode heet base-relative (registerindirect plus offset). Het is handig om variabelen op de stack of leden van een structuur op een vaste afstand van de basis te benaderen. Omgekeerd is sw (store word) de instructie die een registerwaarde naar het geheugen schrijft.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. Hoe wordt het sprongdoel label weergegeven in de RISC-V-voorwaardelijke sprong-instructie „beq a0, a1, label”?
  2. Welk voordeel van PC-relatieve adressering voor sprongen is juist?
  3. Welke uitspraak over de instructielengte van basisinstructies van RISC-V en instructies van x86 is juist?
  4. Welk voordeel van een vaste instructielengte is het meest passend?
  5. In RISC-V-instructies zijn de velden voor registers (rd, rs1, rs2) elk 5 bits. Wat is de juiste reden?