繁体   English   中英

了解MIPS

[英]Understanding MIPS

我需要以下MIPS代码的帮助 在此处输入图片说明

我仍然对堆栈指针保存当前子例程地址的方式感到困惑。 同样,在jal fact之后发生的事情是因为jal fact总是使用事实的地址来更新PC,因此看起来似乎从未使用过这段代码。

将堆栈指针减一会在堆栈上保留那么多字节的内存。 增量执行相反操作,释放空间。 注释中提供了有关将寄存器保存到堆栈或从堆栈还原寄存器的所有其他信息。

最后一条指令从子例程返回。 注意,当参数为零时,例程的末尾会有条件分支。 因此,递归调用不是无限的。 最终,由于条件分支跳转到子例程的末尾,因此该自变量减小了足够的次数,以达到零,这时首次返回。 然后在jal之后在调用者中继续执行。 乘法之后,还有另一个收益。 等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM