Instructieset en assembly
Waar worden in de standaard RISC-V-aanroepconventie het 9e en 10e argument doorgegeven bij het aanroepen van een functie met 10 gehele-getalargumenten?
- AIn s0 en s1
- BIn t0 en t1
- COp de stack
Antwoord en toelichting tonen
Antwoord: C. Op de stack
Er zijn slechts 8 argumentregisters, a0 tot a7, dus vanaf het 9e argument plaatst de aanroeper ze op de stack en leest de aangeroepen functie ze op een vaste positie vanaf de stackpointer. Doordat het aantal geheugentoegangen toeneemt, worden functies met zeer veel argumenten iets trager. Er worden vaak maatregelen genomen om het aantal argumenten te beperken, zoals grote structuren als geheel via een pointer doorgeven.