第4章汇编语言程序开发工具 1.未初始化段 (1).bss伪指令 用于在bss段中保留若干个空间。 格式:bss 符号, 字数 符号一对应于保留的存储空间第一个字的变量名称。 可以让其他段引用,也可以用.global命令定义为全 局符号。 字数一表示在bss段或标有名字的段中保留若干个存储单元。 每调用一次.bss伪指令,汇编器在相应的段保留 更多的空间。 2010年7月18日 DSP原理及应用 26
第4章汇编语言程序开发工具 1.未初始化段 (2).usect伪指令 用于为指定的命名段保留若干个空间。 格式:符号 usect“段名”,字数 段名一 程序员为未初始化的命名段定义的名字。 每调用一次.usect伪指令,汇编器在指定的命名 段保留更多的空间。 2010年7月18日 DSP原理及应用 27
第4章汇编语言程序开发工具 4.3.2汇编器对段的处理 2.已初始化段 已初始化段中包含有可执行代码或初始化数据。 这些段中的内容都在目标文件中,当加载程序时 再放到’C55x的存储器中。每个已初始化段都是可以 重新定位的,并且可以引用其他段中所定义的符号。 链接器在链接时会自动地处理段间的相互引用。 已初始化段由.text、.data和.sect三个伪指令 建立。 2010年7月18日 DSP原理及应用 28
第4章汇编语言程序开发工具 2.已初始化段 已初始化命令的句法: .text [段起点] .data [段起点] .sect “段名”[,段起点] 段起点— 是任选项。 若选用,它为段程序计数器SPC定义一个起始值。 若默认,则SPC从0开始。 2010年7月18日 DSP原理及应用 29
第4章汇编语言程序开发工具 4.3.2汇编器对段的处理 当汇编器遇到.text或.data或.sect命令时,将 停止对当前段的汇编(相当于一条结束当前段汇编的 命令),然后将紧接着的程序代码或数据汇编到指定 的段中,直到再遇到另一条.text、,data或.sect命 令为止。 当汇编器遇到.bss或.usect命令时,并不结束当 前段的汇编,只是暂时从当前段脱离出来,并开始对 新的段进行汇编 .bss和.usect命令可以出现在一个已初始化段的 任何位置,而不会对它的内容发生影响。 2010年7月18日 DSP原理及应用 30