C语言与汇编的参数是怎么传的?四个参数以内使用R12-R15,如果有五个呢?
kqian0327:
你好,
你使用的是IAR还是CCS的编译环境呢?
调出反汇编指令,你可以在调试模式下单步跟踪,看当前的寄存器状态和汇编指令,就就知道参数如何传递的了。
希望我的回答对你有帮助。
user4468234:
回复 kqian0327:
IAR的,找到了。五个参数中前四个分别分配到R12-R15中,第五个被堆栈起来,但还有个问题,同时堆栈的还有PC寄存器的值,那我该怎么取出参数呢?下面的图片中0x5C96为PC指针的地址,0x0000,没搞清楚是什么,0x0014是我要的参数。
灰小子:
回复 user4468234:
你看看编译过程生成的汇编代码。你贴出来的这个机械码不容易看懂
TI中文支持网




