首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]DSP初学困惑:c54xx C调用汇编,参数是如何传递的?

[求助]DSP初学困惑:c54xx C调用汇编,参数是如何传递的?

[求助]DSP初学困惑:c54xx C调用汇编,参数是如何传递的?

这是个很关键的问题,我用2000也还没搞明白,期待高手的出现,顶一下~~
是指C函数的的参数传递到汇编子程序中

详细去看C编译器的手册吧,我用2812,是在spru514b_TMS320C28x Optimizing C C++ Compiler User's Guide (Rev. B)。其中的一章重点讲了 Run-time Environment,介绍了在C中调中汇编函数时参数传递的规则。概括的来说,就是用寄存器或者stack,对应的分配有一套详细的规则。举例说,如果函数只有一个参数,并且是个pointer,那么在2812中它肯定是被放到XAR4中;如果参数是一个16-int,则根据规则会被放入AL中。。。。所以这些都是由C编译器定义好的,要写c-callabe的汇编函数必须要遵循这些规则。5000也有对应的手册吧,但是规则可能就不一样了,就我所知,2812和2407的规则都是不一样的。

返回列表