Instructieset en assembly
Welke registers worden in de standaard RISC-V-aanroepconventie gebruikt om gehele-getalargumenten en retourwaarden door te geven?
- AArgumenten in s0 tot s7, retourwaarde in ra
- BArgumenten in a0 tot a7, retourwaarde in a0 (en a1)
- CAlle argumenten op de stack, retourwaarde in sp
Antwoord en toelichting tonen
Antwoord: B. Argumenten in a0 tot a7, retourwaarde in a0 (en a1)
In de standaard RISC-V-aanroepconventie worden maximaal 8 gehele-getalargumenten doorgegeven in a0 tot a7 (x10 tot x17), en de retourwaarde komt in a0, bij 64-bits waarden en dergelijke in a0 en a1. Omdat ze via registers, die sneller zijn dan geheugen, worden doorgegeven, is de overhead van een functie-aanroep klein. Argumenten boven de 8 komen op de stack. Kommagetalargumenten gebruiken fa0 tot fa7.