Instructieset en assembly
Hoe wordt het sprongdoel label weergegeven in de RISC-V-voorwaardelijke sprong-instructie „beq a0, a1, label”?
- AHet adres van het sprongdoel zelf (32 bits) zit in de instructie
- BHet zit in de instructie als afstand tot het adres (PC) van de sprong-instructie zelf
- CHet adres van het sprongdoel moet in register a1 worden gezet
Antwoord en toelichting tonen
Antwoord: B. Het zit in de instructie als afstand tot het adres (PC) van de sprong-instructie zelf
Een RISC-V-sprong-instructie drukt het sprongdoel uit als een afstand met teken, „hoeveel bytes verder dan het adres (PC) van de huidige instructie”. Dit heet PC-relatieve adressering. Omdat sprongdoelen meestal dichtbij liggen, volstaat een korte afstand, die in de 32-bits instructie past. Een ander voordeel is dat de afstand niet verandert als het hele programma op een ander adres wordt geplaatst, zodat het zonder herschrijven werkt.