MIPS寄存器保存 [英] MIPS registers preservation
本文介绍了MIPS寄存器保存的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我现在正在学习MIPS,我在MIPS绿表上看到,在一个调用中总共保留了12个寄存器(包括s个寄存器)。在我的理解中,必须堆叠所有这样的寄存器,并在以后我们想要再次访问它们时检索它们。
然而,我的问题是,如果经历这个过程有麻烦,为什么还要费心使用这些寄存器呢?除了可能耗尽要使用的寄存器之外,还有使用这些寄存器的意义吗?推荐答案
MIPS程序集有一个调用约定,该约定指定t
寄存器是调用方保存的,s
寄存器是被调用方保存的。
这意味着如果您调用其他人的函数,比如我的函数,您可以保证s
寄存器在我的函数退出后在您的函数中是相同的。您不能为t
寄存器保证这一点,我的函数可以自由覆盖这些寄存器。
编写MIPS程序集时,应始终遵循此约定。
这篇关于MIPS寄存器保存的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文