This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

有关ccs5.4环境下c6678汇编编程的求助



使用ccs5.4模拟c6678环境编程,想学习使用汇编语言进行优化,故将写好的线性汇编程序编译后在模拟运行时拷贝出反汇编代码,准备对代码进行分析,在反汇编中编译器使用了如下的并行排布方式:

90fa1aac:   00830001                SPMASK D2
90fa1ab0:   03D008F3   ||^        MV.D2 B20,B7
90fa1ab4:   000340F1    ||         MVD.M1 A0,A0
90fa1ab8:   0420805B   ||          ADD.L2 4,B8,B8
90fa1abc:   7100202B   || [!B2] MVK.S2 0x0040,B2
90fa1ac0:   02901FD9   ||          MV.L1X B4,A5
90fa1ac4:   039CA1E1   ||          ADD.S1 A5,A7,A7
90fa1ac8:   C1C52A64   || [ A0] LDW.D1T1 *+A17[A9],A3

我将反汇编代码复制整理后写成函数重新编译,编译器报Resource conflict in loop buffer at cycle 8, modulo cycle 1错误

删掉MV.L1X B4,A5或ADD.S1 A5,A7,A7中的任意一条即可去除这个错误,应该是编译器认为这两条语句在资源使用上有冲突,但为什么之前它自己优化出的反汇编中可以这么使用呢?