徽理工大骨计算机科学与技术系歌兆《汇编语言》 422段定义伪操作 1.完整的段定义伪指令 段定义伪操作的格式: 段名 SEGMENT[定位类型]组合类型]使用类型]「类别 ;语句序列 段名ENDS 1)段名 段名是为该段起的名字,用来指出汇编程序为 该段分配的存储区起始位置
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 4.2.2 段定义伪操作: 段定义伪操作的格式: 段名 SEGMENT [定位类型] [组合类型] [使用类型] [‘类别 ’] …… …… ; 语句序列 段名 ENDS 1) 段名 段名是为该段起的名字,用来指出汇编程序为 该段分配的存储区起始位置。 1. 完整的段定义伪指令
徽理工大骨计算机科学与技术系歌兆《汇编语言》 2)定位方式 (1)PARA:表示本段必须从能被16整除的地址处开始存 放,即段起始地址最低四位必须是0。 (2)WoRD:表示本段要从一个偶数地址处开始存放,即 段起始地址的最低一位必须是0 (3)BYTE:表示本段起始地址可以从任一地址处开始存放。 (4)PAGE:表示本段要从能被256整除的地址处开始存放 即起始地址的最低八位必须是0。 默认为PARA
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 2) 定位方式 (1)PARA:表示本段必须从能被16整除的地址处开始存 放,即段起始地址最低四位必须是0。 (2)WORD:表示本段要从一个偶数地址处开始存放,即 段起始地址的最低一位必须是0。 (3)BYTE:表示本段起始地址可以从任一地址处开始存放。 (4)PAGE:表示本段要从能被256整除的地址处开始存放, 即起始地址的最低八位必须是0。 默认为 PARA
徽理工大骨计算机科学与技术系歌兆《汇编语言》 3)组合方式 组合方式有六种类型可供选择。 (1) PRIVATE该段为私有段,在连接时将不与其他同名段合并 (2) PUBLIC该段在连接时可以把不同模块的同名段相连接而形 成一个段。每一段从小段的边界开始,所以各段之间有小于16个字 节的间隙。 (3) COMMON该段在连接时可以把不同模块中的同名段重叠 而形成一个段,由于各同名段有相同的起始地址,所以会产生 覆盖。 (4) STACK把不同模块的同名段组合而成一个堆栈段。各段之 间没有间隙。 (5) MEMORY同 PUBLIO (6)AT表达式使段地址是表达式所计算出来的16位值,CS除外
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 3) 组合方式 组合方式有六种类型可供选择。 (1)PRIVATE 该段为私有段,在连接时将不与其他同名段合并 (2)PUBLIC该段在连接时可以把不同模块的同名段相连接而形 成一个段。 每一段从小段的边界开始,所以各段之间有小于16个字 节的间隙。 (3)COMMON 该段在连接时可以把不同模块中的同名段重叠 而形 成一个段,由于各同名段有相同的起始地址,所以会产生 覆盖。 (4)STACK 把不同模块的同名段组合而成一个堆栈段。各段之 间没有间隙。 (5) MEMORY 同PUBLIC (6)AT 表达式 使段地址是表达式所计算出来的16位值,CS除外。 默认为 PRIVATE
徽理工大骨计算机科学与技术系歌兆《汇编语言》 【例】有两个模块,各模块段定义如下 模块2 模块1: DATA1 SEGMENT PARA PUBLIC ' DATAl DATAL SEGMENT PARA PUBLIC DATA1' M2 DB 104H DUP (11H) M1 DB 45H DUP(0) DATAl ENDS DATAl ENDS DATAZ SEGMENT PARA COMMON ' DATA2 DATAZ SEGMENT PARA COMMON ' DATA2 N2 DB 105H DUP (0) N1 DB 102H DUP(O) DATAZ ENDS DATA2 ENDS END DATA3 SEGMENT DB 50 DUP (20H) DATA3 ENDS END
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 【例】有两个模块,各模块段定义如下 模块1: ┆ DATA1 SEGMENT PARA PUBLIC ‘DATA1’ M1 DB 45H DUP(0) DATA1 ENDS DATA2 SEGMENT PARA COMMON ‘DATA2’ N1 DB 102H DUP(0) DATA2 ENDS END 模块2: ┆ DATA1 SEGMENT PARA PUBLIC ‘DATA1’ M2 DB 104H DUP(11H) DATA1 ENDS DATA2 SEGMENT PARA COMMON ‘DATA2’ N2 DB 105H DUP(0) DATA2 ENDS DATA3 SEGMENT T1 DB 50 DUP(20H) DATA3 ENDS END
徽理工大骨计算机科学与技术系歌兆《汇编语言》 该段的定位组合方式示意图如图所示。 OOOOH OOOOH 0 M1 O000H 0044H 0 DATA1段 空11个字节 O000H: OOSOH 11H M2 O000H: 0153H 11H 空12个宇节 0016H. 0000H H1和12 DATA2段 o16H:0104H 0 空11个宇节 002TH. O000H ZOH DATA3段 002TH. 004FH 20H
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 该段的定位组合方式示意图如图所示