Quantcast
Channel: C6000™多核 - 最近的话题
Viewing all articles
Browse latest Browse all 5545

[求教]TMS320C6678 DSP在使用汇编执行多条指令的时候在内存会对代码段进行压缩或者简化吗?

$
0
0

正在学习dsp汇编,想要熟悉一下各个段在内存里的情况,我模仿TI的simple.s汇编程序实验,发现如下问题,请求解答:

我只用到了代码段,这是我的.cmd文件:

这是我一开始的.s文件:

在内存中是这样的:

我分析后猜想:

0xA358(1010 0011 0101 1000)是MVK.L1     0x0308(0000   0011   0000   1000)表示 后面的src,dst 即 2,A6(标记部分表示 0110=A6  0010=2)

0xA358(1010 0011 0101 1000)是MVK.L1     0x0084(0000   0000   1000   0100)表示 后面的src,dst 即 1,A1(标记部分表示 0001=A1  0001=1)

0xA358(1010 0011 0101 1000)是MVK.L1     0x0088(0000   0000   1000   1000)表示 后面的src,dst 即 2,A1(标记部分表示 0001=A1  0010=2)

0xA35A(1010 0011 0101 1010)是MVK.L2     0x0108(0000   0001   0000  1000)表示 后面的src,dst 即 2,B2(标记部分表示 0010=B2  0010=2)

当多于6条指令时,比如9条:

我怀疑前8条指令在内存就会被压缩,而第九条指令没有被压缩:

问题1:

    请问开头的-c和-a分别代表什么意思,有什么作用,为什么不加这两行编译会报错。

问题2:

    请问我上述的猜想对吗?如果对为什么偶数条指令会被压缩,压缩规则是什么样的?

问题3:

    为什么start,和end不需要.def直接可以成为函数?

请求得到解答!


Viewing all articles
Browse latest Browse all 5545

Trending Articles