1.变量存取方式及far关键字
(1) C6000的C编译器支持两种内存模型-影响对.bss段中的变量是如何访问的。
小模式:.bss段小于32KB
编译器将页指针DP(寄存器B14)指向.bss段的起始,对变量采取直接寻址方式。
只需1条指令就可以加载1个变量
LDW *+DP(_x), A0
大模式:对.bss段大小没有要求;编译器对变量使用寄存器间接寻址;使用3条指令才可以加载1个变量,对变量存取的速度比较慢
MVKL _x, A0
MVKH _x, A0
LDW *A0, B0
在 DSPs环境下的C编程和在微机环境下的C编程区别很大。实践中出现的问题往往是由于编程者并不了解C6000的C编译器对自己的C代码做了怎样的理解。
1