Mips 跳跃、跳跃和链接之间的区别

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

有人能举例说明jal指令的有用性吗?在完成一个子例程后,如何使用jal指令返回到主体

“jmp”是一个“goto”

“日航”是一个“gosub”

如果您希望从何处返回,jal将返回地址保存为$ra;)


跳转将某个地址放在程序计数器中并从那里继续执行,但是JAL(跳转和链接)也会执行相同的操作,但它会将返回地址保存在ra中,以便您可以在子例程完成ie后继续执行:

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


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

dosomething
将是一个子例程,返回到主块并继续执行

跳转和链接将跳转到例程并将程序计数器存储到GPR r31中,当例程完成时,MIPS使用“jr r31”从该例程返回