寄存器 #30 ($fp) 与 MIPS 中的 jal 函数有什么关系吗?
Does register #30 ($fp) have anything to do with the jal function in MIPS?
"jal Rout
是 MIPS 处理器执行的指令,位于地址 0x00400100
。标号 Rout
指向位于地址 Rout
的子程序地址 0x00555500
。执行 jal Rout
指令后,寄存器 #30($fp
,帧指针)的值是多少?
据我了解,它不会被更改,因为 $fp
未被 jal
使用,而是使用寄存器 #31($ra
、return 地址)。我错了吗?这个问题还有更多内容吗?谢谢。
在搜索、询问和阅读各种参考资料后,结论是,确实,jal
影响 $ra
寄存器,而不是 $fp
,因此各种地址和其余这个问题没用;答案是“jal
不影响寄存器号 30”。
"jal Rout
是 MIPS 处理器执行的指令,位于地址 0x00400100
。标号 Rout
指向位于地址 Rout
的子程序地址 0x00555500
。执行 jal Rout
指令后,寄存器 #30($fp
,帧指针)的值是多少?
据我了解,它不会被更改,因为 $fp
未被 jal
使用,而是使用寄存器 #31($ra
、return 地址)。我错了吗?这个问题还有更多内容吗?谢谢。
在搜索、询问和阅读各种参考资料后,结论是,确实,jal
影响 $ra
寄存器,而不是 $fp
,因此各种地址和其余这个问题没用;答案是“jal
不影响寄存器号 30”。