ISA et assembleur
Quel est le fonctionnement correct de l'instruction RISC-V « jal ra, func » ?
- AEnregistrer l'adresse de l'instruction suivante dans ra, puis sauter à func
- BPlacer seulement l'adresse de func dans ra, sans sauter
- CRevenir à l'adresse contenue dans ra
Afficher la réponse et l'explication
Réponse : A. Enregistrer l'adresse de l'instruction suivante dans ra, puis sauter à func
jal (jump and link) écrit l'adresse de l'instruction qui la suit (PC+4) dans le registre spécifié (lien), puis saute à l'adresse visée. La convention d'appel plaçant l'adresse de retour dans ra (x1), un appel de fonction s'écrit « jal ra, func », ou « call func » en pseudo-instruction. La fonction appelée revient à l'adresse contenue dans ra à la fin de son traitement. Avec x0 comme destination, c'est un simple saut.