【发布时间】:2010-04-11 21:35:21
【问题描述】:
使用$gp 寄存器存储值有危险吗?我想我的问题是$gp 的真正功能是什么,它是否以某种方式在幕后调用,所以如果我要使用它,事情可能会变得非常非常错误?
【问题讨论】:
标签: mips
使用$gp 寄存器存储值有危险吗?我想我的问题是$gp 的真正功能是什么,它是否以某种方式在幕后调用,所以如果我要使用它,事情可能会变得非常非常错误?
【问题讨论】:
标签: mips
嗯,$gp 寄存器指向全局区域。 Convention 表示在编写函数时应该存储它(参见.cprestore)。
如果您需要使用它(老实说,不明白为什么),请记住以下几点:
1) 始终将其存储在“已保存”中 堆栈的寄存器区域。
2) 始终将该值加载到 $gp 销毁堆栈时。
3) 不要使用它。 (即不访问 全局范围)
另外,我不确定,但你可以忘记 PIC 代码。
【讨论】: