MIPS寄存器保存

时间:2013-10-09 22:55:23

标签: mips preserve

所以我现在正在学习MIPS,我在MIPS绿色表上看到,总共有12个寄存器(包括s寄存器)在调用中保留。在我对此的理解中,必须堆叠所有这些寄存器并在我们想要再次访问它们时检索它们。

但是我的问题是,如果遇到这个麻烦,为什么还要使用这些寄存器呢?是否有可能使用这些寄存器而不是可能耗尽寄存器?

1 个答案:

答案 0 :(得分:6)

MIPS程序集有一个调用约定,它指定t寄存器是被调用者保存的,s寄存器是调用者保存的。

这意味着如果你打电话给别人的功能,比如我的话,你可以保证在我的功能编辑之后s寄存器在你的函数中是相同的。你无法对t寄存器进行保护,我的函数可以自由覆盖。

编写MIPS程序集时,应始终遵循此约定。