MIPS寄存器保存 [英] MIPS registers preservation

查看:3
本文介绍了MIPS寄存器保存的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

然而,我的问题是,如果经历这个过程有麻烦,为什么还要费心使用这些寄存器呢?除了可能耗尽要使用的寄存器之外,还有使用这些寄存器的意义吗?

推荐答案

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

这意味着如果您调用其他人的函数,比如我的函数,您可以保证s寄存器在我的函数退出后在您的函数中是相同的。您不能为t寄存器保证这一点,我的函数可以自由覆盖这些寄存器。

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

这篇关于MIPS寄存器保存的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆