gpt4 book ai didi

assembly - MIPS 寄存器保存

转载 作者:行者123 更新时间:2023-12-02 07:01:57 24 4
gpt4 key购买 nike

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

但是我的问题是,如果通过这个有麻烦,为什么还要费心使用这些寄存器?除了可能用完寄存器之外,使用这些寄存器还有意义吗?

最佳答案

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

这意味着如果你调用别人的函数,比如我的,你可以保证 s 寄存器在我的函数退出后在你的函数中是相同的。对于 t 寄存器,您不能保证这一点,我的函数可以随意覆盖它。

编写 MIPS 汇编时,您应该始终遵循此约定。

关于assembly - MIPS 寄存器保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19284198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com