Czy ktoś mógłby podać przykład przydatności instrukcji jal, w jaki sposób można go użyć, aby powrócić do głównego ciała po zakończeniu podprogramu?Różnica między skokiem i skokiem i linkiem
dotyczy
Czy ktoś mógłby podać przykład przydatności instrukcji jal, w jaki sposób można go użyć, aby powrócić do głównego ciała po zakończeniu podprogramu?Różnica między skokiem i skokiem i linkiem
dotyczy
"jmp" to "goto".
"JAL" jest "GOSUB"
jal zapisuje adres zwrotny w $ ra, jeżeli chcą, aby powrócić skąd przyszedłeś;)
http://logos.cs.uic.edu/366/notes/mips%20quick%20tutorial.htm
Skocz stawia pewien adres w liczniku programów i kontynuuje wykonywanie z tego miejsca, JAL (przeskok i łącze) robi to samo, ale zapisuje adres zwrotny w ra, aby można było kontynuować wykonywanie po zakończeniu podprogramu, tj .:
int main() {
dosomething();
//code here
}
void dosomething() {
//.....code here
}
dosomething
będzie podprogram, który powraca do głównego bloku i kontynuuje wykonywanie
skok i link zrobi skok rutyna i przechowywania licznika programu do R31 georadarowych, a gdy procedura wykończenia MIPS używa „jr r31 "aby powrócić z tej rutyny.