TI中文支持网
TI专业的中文技术问题搜集分享网站

C语言与汇编的参数传递问题

C语言与汇编的参数是怎么传的?四个参数以内使用R12-R15,如果有五个呢?

kqian0327:

你好,

你使用的是IAR还是CCS的编译环境呢?

调出反汇编指令,你可以在调试模式下单步跟踪,看当前的寄存器状态和汇编指令,就就知道参数如何传递的了。

希望我的回答对你有帮助。

user4468234:

回复 kqian0327:

IAR的,找到了。五个参数中前四个分别分配到R12-R15中,第五个被堆栈起来,但还有个问题,同时堆栈的还有PC寄存器的值,那我该怎么取出参数呢?下面的图片中0x5C96为PC指针的地址,0x0000,没搞清楚是什么,0x0014是我要的参数。

灰小子:

回复 user4468234:

你看看编译过程生成的汇编代码。你贴出来的这个机械码不容易看懂

赞(0)
未经允许不得转载:TI中文支持网 » C语言与汇编的参数传递问题
分享到: 更多 (0)