从MIPS调用C时,我们使用JR还是JALR?

时间:2013-02-10 01:42:55

标签: c mips calling-convention mips32

我正在编写一些自修改代码,我想从MIPS调用一个C函数(称之为foo)。

我已将foo&foo的mem添加到$t1。现在我jr/jalr $t1

C会将$ra设置为我当前的PC(+8)(跳转前),允许我使用JR或者我必须JALR代替{{1}}因为C不会)?

我现在无法测试这个,因为我正在调试我的宏(对于MIPS助记符)。我一定搞砸了,因为我一直收到非法的指令错误。

1 个答案:

答案 0 :(得分:1)

您必须使用JALR。 C函数怎么可能知道如何为你设置$ra