我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 指令类型 >

MIPS中jjrjal这三个跳转指令有什么区别最好能举下例子说明下谢谢

归档日期:07-27       文本归类:指令类型      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  jr和jal与程序调用函数有关。程序调用函数,当函数调用结束后需要重新继续执行原来的程序,所以在调用函数之前,必须先存储函数返回起始点地址,用于存储这一地址的寄存器在MIPS中是$ra。

  jal的意思就是跳转到某个地址同时把返回调用点的地址存储在$ra中。而jr用法一般是“jr $ra”,一般是函数调用结束后,用于跳转到返回地址。

  eg:j 2500 //跳转到目标地址10000,指令中的地址是字地址,所以需要乘以4,转换成字节地址。

  eg:jal 2500 //$ra=PC+4, PC=10000,指令中的地址也是字地址,乘以4转换成字节地址。一般用于主程序调用函数时候的跳转,设置函数的返回地址为主程序中跳转指令的下一个指令,意思就是执行完函数就得回到主程序继续执行。寄存器$ra专门用来保存函数的返回地址。

  eg:jr $ra //跳转到寄存器中的地址。一般用于函数执行完返回主函数时候的跳转。

  2、jr和jal与程序调用函数有关。程序调用函数,当函数调用结束后需要重新继续执行原来的程序,所以在调用函数之前,必须先存储函数返回起始点地址。

  j1111 意思就是跳转到地址1111,而jr用法一般是“jr $ra”,一般是函数调用结束后,用于跳转到返回地址。

  其中,内的项是必须的,{}内的项是可选的,如opcode是指令助记符,是必须的,而{cond}为指令执行条件,是可选的,如果不写则使用默认条件AL(无条件执行)。

本文链接:http://f-taiken.net/zhilingleixing/543.html