第4章汇编语言程序设计 2未初始化段 是为变量在数据存储器中保留空间的。它们在目 标文件中没有实际内容,只是保留出空间,在运 行程序时再利用这些空间去建立和存储变量。未 初始化段一般应建立在片内或片外RAM中。 由这些段定义的空间仅作为临时存储空间,在 程序运行时,可以利用这些存储空间存放变量。 未初始化段分为默认的和命名的两种,分别由 汇编器伪指令bss和 sect产生
2.未初始化段 是为变量在数据存储器中保留空间的。它们在目 标文件中没有实际内容,只是保留出空间,在运 行程序时再利用这些空间去建立和存储变量。未 初始化段一般应建立在片内或片外RAM中。 • 由这些段定义的空间仅作为临时存储空间,在 程序运行时,可以利用这些存储空间存放变量。 • 未初始化段分为默认的和命名的两种,分别由 汇编器伪指令.bss和.usect产生。. 第4章 汇编语言程序设计
第4章汇编语言程序设计 目标文件中的段与目标存储器之间的关系: 目标文件 目标存储器 bss RAM data EPROM text ROM
目标文件中的段与目标存储器之间的关系: 目标文件 目标存储器 .bss .data .text RAM E 2 PROM ROM 第4章 汇编语言程序设计
第4章汇编语言程序设计 3.段定义伪指令 >汇编器对段的处理是通过段伪指令来区别各个段的, 并将段名相同的语句汇编在一起。 >汇编器有5条伪指令可识别汇编语言程序的各个部分: bss 定义未初始化段 sect定义未初始化段 O. text 定义已初始化段 O. data 定义已初始化段 ○sect 一定义已初始化段
3. 段定义伪指令 ➢汇编器对段的处理是通过段伪指令来区别各个段的, 并将段名相同的语句汇编在一起。 ➢汇编器有5条伪指令可识别汇编语言程序的各个部分: ● .bss ● .usect ● .text ● .data ● .sect ——定义未初始化段 ——定义未初始化段 ——定义已初始化段 ——定义已初始化段 ——定义已初始化段 第4章 汇编语言程序设计
第4章汇编语言程序设计 °定义已初始化段的伪指令 text[段起点] data[段起点] sect“段名”L段起点] 段起点——是任选项。 若选用,它为段程序计数器SPC定义一个起始值。 若默认,则SPC从0开始
• 定义已初始化段的伪指令 .text [段起点] .data [段起点] .sect “段名”[,段起点] 段起点——是任选项。 若选用,它为段程序计数器SPC定义一个起始值。 若默认,则SPC从0开始。 第4章 汇编语言程序设计
定义未初始化段的伪指令 (1).bs指令:用于在bs段中保留若干个空间。 格式:bss符号,字数L[块标记定位标记] 符号一对应于保留的存储空间第一个字的变量名称。 字数一表示在bss段或标有名字的段中保留若干个存 储单元。 块标记一若非零值,则分配的字数空间连续,除非大 于一页,否则不跨页。 定位标记一表明字的对齐方式(偶地址) >每调用一次bss伪指令,汇编器在相应的段保留更 多的空间
(1) .bss伪指令: 用于在bss段中保留若干个空间。 格式:.bss 符号, 字数 [, [块标记][, 定位标记]] 符号—对应于保留的存储空间第一个字的变量名称。 字数—表示在bss段或标有名字的段中保留若干个存 储单元。 块标记—若非零值,则分配的字数空间连续,除非大 于一页,否则不跨页。 定位标记—表明字的对齐方式(偶地址) ➢ 每调用一次.bss伪指令,汇编器在相应的段保留更 多的空间。 定义未初始化段的伪指令