Mips 跳跃、跳跃和链接之间的区别
有人能举例说明jal指令的有用性吗?在完成一个子例程后,如何使用jal指令返回到主体 “jmp”是一个“goto” “日航”是一个“gosub” 如果您希望从何处返回,jal将返回地址保存为$ra;)Mips 跳跃、跳跃和链接之间的区别,mips,Mips,有人能举例说明jal指令的有用性吗?在完成一个子例程后,如何使用jal指令返回到主体 “jmp”是一个“goto” “日航”是一个“gosub” 如果您希望从何处返回,jal将返回地址保存为$ra;) 跳转将某个地址放在程序计数器中并从那里继续执行,但是JAL(跳转和链接)也会执行相同的操作,但它会将返回地址保存在ra中,以便您可以在子例程完成ie后继续执行: int main() { dosomething(); //code here } void dosomething
跳转将某个地址放在程序计数器中并从那里继续执行,但是JAL(跳转和链接)也会执行相同的操作,但它会将返回地址保存在ra中,以便您可以在子例程完成ie后继续执行:
int main() {
dosomething();
//code here
}
void dosomething() {
//.....code here
}
dosomething
将是一个子例程,返回到主块并继续执行跳转和链接将跳转到例程并将程序计数器存储到GPR r31中,当例程完成时,MIPS使用“jr r31”从该例程返回