一千萬個為什麽

搜索

MIPS $ gp寄存器

使用 $ gp 寄存器存儲值是否存在危險?我想我的問題是 $ gp 的真正功能是什麽,它是以某種方式在幕後調用的,所以如果我使用它,事情可能會非常錯誤?

最佳答案

那麽,$ gp寄存器指向全球區域。 Convention 表示您在編寫函數時應該存儲它(請參閱.cprestore)。

如果你需要使用它(老實說,不知道為什麽),請記住這些:

1)始終將其存儲在已保存中   註冊堆棧區域。

     

2)始終將該值加載到$ gp中   當摧毀堆棧時

     

3)不要使用它。 (即不要訪問   全球範圍)

另外,我不確定,但你可以忘記PIC代碼。

轉載註明原文: MIPS $ gp寄存器