Отличается между прыжком и прыжком и связью - PullRequest
10 голосов
/ 30 марта 2012

Может ли кто-нибудь привести пример полезности инструкции jal, как ее можно использовать для возврата к основному телу после выполнения подпрограммы?

привет

Ответы [ 3 ]

13 голосов
/ 30 марта 2012

«jmp» - это «goto».

"джал" - это "госуб"

jal сохраняет обратный адрес в $ ra, если вы хотите вернуться откуда вы пришли;)

http://logos.cs.uic.edu/366/notes/mips%20quick%20tutorial.htm

6 голосов
/ 02 апреля 2012

Jump помещает определенный адрес в счетчик программы и продолжает выполнение оттуда, однако JAL (переход и ссылка) делает то же самое, но сохраняет адрес возврата в ra, чтобы вы могли продолжить выполнение после завершения подпрограммы, то есть:

int main() {
    dosomething();
    //code here
}


void dosomething() {
//.....code here
}

dosomething будет подпрограммой, которая вернется в основной блок и продолжит выполнение

1 голос
/ 06 апреля 2012

jump and link выполнит переход к подпрограмме и сохранит счетчик программ в GPR r31, а когда процедура завершится, MIPS использует 'jr r31' для возврата из этой подпрограммы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...