Befehlssatz und Assembler
Welche Wirkung hat der RISC-V-Befehl „jal ra, func“?
- AEr speichert die Adresse des nächsten Befehls in ra und springt dann nach func
- BEr legt nur die Adresse von func in ra ab und springt nicht
- CEr kehrt zu der in ra stehenden Adresse zurück
Antwort und Erläuterung anzeigen
Antwort: A. Er speichert die Adresse des nächsten Befehls in ra und springt dann nach func
jal (jump and link) schreibt die Adresse des nächsten Befehls (PC+4) in das angegebene Register (Link) und springt zur Zieladresse. In der Aufrufkonvention wird die Rücksprungadresse in ra (x1) abgelegt; ein Funktionsaufruf lautet „jal ra, func“, als Pseudobefehl „call func“. Die aufgerufene Funktion kehrt am Ende zur Adresse in ra zurück. Ist das Zielregister x0, ist es nur ein Sprung.