Instructieset en assembly
Welke werking van de RISC-V-instructie „jal ra, func” is juist?
- ASlaat het adres van de volgende instructie op in ra en springt daarna naar func
- BPlaatst alleen het adres van func in ra en springt niet
- CKeert terug naar het adres in ra
Antwoord en toelichting tonen
Antwoord: A. Slaat het adres van de volgende instructie op in ra en springt daarna naar func
jal (jump and link) schrijft het adres van de eigen volgende instructie (PC+4) naar het opgegeven register (link) en springt naar het doeladres. In de aanroepconventie komt het terugkeeradres in ra (x1), dus een functie-aanroep is „jal ra, func”, en als pseudo-instructie wordt „call func” geschreven. De aangeroepen functie keert aan het eind terug naar het adres in ra. Als de bestemming x0 is, is het een gewone sprong.