zyh_126

CCS中段的分配

0
阅读(2785)

在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