??长整型(long)和无符号长整型(unsigned long)都是由32位的二进制数来表示。??有符号类型都是由基2的补码来表示。??字符型是有符号类型,等同于整型。
??枚举(enum)类型的对象用16位数来表示;在表达上与整型相似。
??所有浮点型(float,double和long double)相似,在TMS320C2x/C2xx/C5x中都是用32位浮点格式来表示。
??long和float类型以低有效字存储在低端的存储地址。
注:在TMS320C2x/C2xx/C5xC语言中,字节长度为16位,sizeof操作符返回的对象长度是以16位为字节长度的字节数。例如sizeof(int) = 1。
13.1.3 寄存器变量
C编译器在一个函数中最多只能用两个寄存器变量,而且必须在参数表或函数的开始处声明。在嵌套块中的寄存器变量定义被认为是一般的变量。编译器用AR6和AR7作寄存器变量:□□
AR6被指定为第一个寄存器变量。AR7被指定为第二个寄存器变量。
变量的地址放在指定的寄存器中,访问起来更加容易。16位的字节变量(char,short,int和pointer)可以用作寄存器变量。
在运行时,设置每一个寄存器变量需要四条指令。为了有效地利用这种方式,只有在一个变量被多次访问时,才使用寄存器变量。
程序优化编译器也会定义寄存器变量,但使用方式不同。编译器会自己决定哪些变量作为寄存器变量,程序中声明的寄存器变量会全部被忽略。
13.1.4 asm语句
TMS320C2x/C2xx/C5x的C编译器可以在编译器输出的汇编语言中直接嵌入汇编语言指令。这种能力是C语言的扩展——asm语句。asm语句能够实现一些C无法实现的功能。
/*******************************************************/
asm(\
/******************************************************/