[求助]DSP初学困惑:c54xx C调用汇编,参数是如何传递的?
- UID
- 150091
- 性别
- 男
|
[求助]DSP初学困惑:c54xx C调用汇编,参数是如何传递的?
[求助]DSP初学困惑:c54xx C调用汇编,参数是如何传递的? |
|
|
|
|
|
- UID
- 150164
- 性别
- 男
|
这是个很关键的问题,我用2000也还没搞明白,期待高手的出现,顶一下~~ |
|
|
|
|
|
- UID
- 150091
- 性别
- 男
|
|
|
|
|
|
- UID
- 150164
- 性别
- 男
|
详细去看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的规则都是不一样的。 |
|
|
|
|
|