CCS工程中cmd文件的编写

Section目标文件中最小单位称为块,一个块就是最终在存储器映象中占据连续空间的一段代码或数据。

1、COFF目标文件包含三个默认的块:

.text可执行代码
.data已初始化数据
.bss为未初始化数据保留的空间

2、汇编器对块的处理

未初始化块

                        .bss      变量存放空间
                        .usect    用户自定义的未初始化段

初始化块

                        .text     汇编指令代码
                        .data     常数数据(比如对变量的初始化数据)
                        .sect     用户自定义的已初始化段
                        .asect    通.sect,多了绝对地址定位功能,一般不用

3、C语言的段

未初始化块(data)

                        .bss      存放全局和静态变量
                        .ebss     长调用的.bss(超过了64K地址限制)
                        .stack    存放C语言的栈
                        .sysmem   存放C语言的堆
                        .esysmem  长调用的.sysmem(超过了64K地址限制)

初始化块

                        .text     可执行代码和常数(program)
                        .switch   switch语句产生的常数表格(program/低64K数据空间)
                        .pinit    Tables for global constructors (C++)(program)
                        .cinit    用来存放对全局和静态变量的初始化常数值(program)
                        .const    全局和静态的const变量初始化值和字符串常数,(data)
                        .econst   长.const(可定位到任何地方)(data)

你可能感兴趣的:(c,汇编,cmd,存储,语言)