CCS中段的分配
0赞在C/C+程序中可以使用编译命令直接将代码或数据分配到所要分配的段中。
用CODE_SECTION命令可以分配代码到指定的段中,在C语言语法如下:
#pragma CODE_SECTION( symbol,“section name”) [;]
C++k 则采用下面的语句:
#pragma CODE_SECTION( “section name”) [;]
接下来给出使用CODE_SECTION命令的例子:
#pragma CODE_SECTION( funcA,“codeA”) [;]
Int funcA(int a )
{
Int i;
Return(i=a)
}
编译后的结果如下:
.sect“codeA”
.golbal_funcA
;*******************************************************
;*FUNCTION NAME:_funcA*
;*******************************************************
_funcA:
Return;返回
用DATA_SECTION命令可以分配数据到指定的段内,在C语言中按下面给出的语法定义:
#pragma DATA_SECTION( symbol,“section name”) [;]
C++中的语法是:
#pragma DATA _SECTION( “section name”) [;]
接下来给出分配数据的例子:
#pragma DATA _SECTION( butterB,“my_sect”) [;]
Char butteA[512];
Char butteB[512];
编译后的结果如下:
.global_budderA
.bss_bufferA,512,0,0
.global_bufferB
_bufferB:.usect”my_sect”,512,0,0
下面给出汇编语言中代码分配的例子:
.text
MOV #10,AC0
MOV AC0,AC1
下面给出汇编语言中为数据分配段的例子:
.data
.word 9,10
.word 11,12
在汇编文件中可以定义变量和为数组预留空间
.def _I_east_data
.def _Q_east_data
.def _I_west_data
.def _Q_west_data
.daf _x
.sect input
_I_east_data
.space 20*16
_Q_east_data:
.space 20*16
_I_west_data
.space 20*16
_Q_west_data
.space 20*16
_x:
.word 0
