MIPS $gp register

2019-06-17 15:47发布

Is there a danger in using the $gp register to store a value? I guess my question is what is the true functionality of $gp and is it invoked behind-the-scenes somehow so that if I were to use it, things could go very very wrong?

标签: mips
1条回答
放我归山
2楼-- · 2019-06-17 16:34

Well, $gp register points to the global area. Convention indicates that you should store it when you write a function (see .cprestore).

If you need to use it (honestly, cant see why), remeber these things:

1)Always store it in the Saved Register Area of your stack.

2)Always load that value into the $gp when destroying the stack.

3) Dont use it. (i.e dont access global scope)

Also, i'm not sure, but you can forget about PIC code.

查看更多
登录 后发表回答