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

C6678汇编程序问题

     for(i=0;i<32;i++)

    {

         funcyion(arg1,arg2,arg3);

    }

         其中 funcyion(arg1,arg2,arg3)是用C6678DSP的汇编指令编写的汇编程序,该程序将单核内的A0~A31和B0~B31寄存器都用上了;

问题是:

        for循环只执行一次,第一次执行后,i=5367859200的一个很大的数,而不是i=1,有人说A组和B组的寄存器不能都用,请大家帮分析一下,谢谢

Shine:

c里面调用汇编需要遵循一定规则的,您可以结合compiler user guide检查一下您的汇编代码。
7.5.1 Using Assembly Language Modules With C/C++ Code
www.ti.com/…/spru187u.pdf

hongkun ma:

你都用上了,那么参数传递,你用哪个寄存器呢?

i 临时变量,编译器也许会放在寄存器里面

再说,也不可能把 64个寄存器都用上,系统还要用来做SP等等特殊用途呢。

赞(0)
未经允许不得转载:TI中文支持网 » C6678汇编程序问题
分享到: 更多 (0)