MIPS $ gp注册

时间:2010-04-11 21:35:22

标签: mips

使用$gp寄存器存储值是否存在危险?我想我的问题是$gp的真正功能是什么,它是否以某种方式在幕后调用,以便如果我使用它,事情可能会非常错误?

1 个答案:

答案 0 :(得分:6)

好吧,$ gp寄存器指向全局区域。 Convention表示在编写函数时应该存储它(参见.cprestore)。

如果你需要使用它(老实说,不知道为什么),请记住这些事情:

  

1)始终将其存储在已保存中   注册堆栈区域。

     

2)始终将该值加载到$ gp中   当摧毁堆栈时。

     

3)不要使用它。 (即不要访问   全球范围)

另外,我不确定,但你可以忘记PIC代码。