a.PARA(未定义的):表示段从一个字节的边 界即用十六进制数表示地址的最低位为0处开 始 b.BYTE(字节):表示段可从任一地址开始。 c.WORD(字):表示段从地址是一个最低位 为0的二进制数开始 d.PAGE(页):段从十六进制数表示地址的最 低两位均为0处开始
c. WORD (字):表示段从地址是一个最低位 为0的二进制数开始。 d. PAGE(页):段从十六进制数表示地址的最 低两位均为0处开始。 a. PARA (未定义的):表示段从一个字节的边 界即用十六进制数表示地址的最低位为0处开 始。 b. BYTE (字节):表示段可从任一地址开始
例:设A,B,C,D这4个段的长度分别为 1376H,A47H,1234H和405H字节,分 配给A段的物理地址是00000H(段址 0000H,位移量00H)。在不同的定位 方式下,各段定位后的段地址如下图所
例:设A,B,C,D这4个段的长度分别为 1376H,A47H,1234H和405H字节,分 配给 A段的物理地址是00000H (段址 0000H,位移量0000H)。在不同的定位 方式下,各段定位后的段地址如下图所 示:
0000:0000 0000:0000 0000:0000 A A 0000:1375 0001375 0000:1375 0137:0006 0137:0A4C 0138:0000 B|01DB:00X 0140:0000 B 0138:0A46 01DB:1240 0140:0A46 0301:0001 BCD 01DD:0000 0301:0405 01E4:0008 01DD:12/C 01E4:123B 0301:0000 0308:0000 0301:0404D D 0308:0404 A.B.C.D A.B.C.D A: PARA 均为PARA方式 均为BYTE方式 B: PAGE C: WORD D: PARA 定位方式选择
C 01DB : 000D 01DB : 1240 D 0301 : 0001 0301 : 0405 A 0000 : 0000 0000 : 1375 C 01E4 : 0008 01E4: 123B A 0000 : 0000 0000 : 1375 D 0301 : 0000 0301 : 0404 C 01DD : 0000 01DD : 1233 B 0138 : 0000 0138 : 0A46 A 0000 : 0000 0000 : 1375 (a) A, B, C, D 均为PARA方式 (b) A, B, C, D 均为BYTE方式 (c) A:PARA B:PAGE C:WORD D;PARA 定位方式选择 B 0137 : 0006 0137 : 0A4C B 0140 : 0000 0140: 0A46 D 0308 : 0000 0308 : 0404
(3)组合方式 程序不同模块中具有相同性质的段若使 用同样的段名,则连接时就会把同名的段按照 指定的方式组合起来,组合方式共有6种 a PUBLIC: 表示该段与其他模块中说明为 PUBLIC方 式的同名段互相组合成一个逻辑段,公用一个 段址,运行时装入同一个物理段中
a. PUBLIC: 表示该段与其他模块中说明为PUBLIC方 式的同名段互相组合成一个逻辑段,公用一个 段址,运行时装入同一个物理段中。 (3) 组合方式 程序不同模块中具有相同性质的段若使 用同样的段名,则连接时就会把同名的段按照 指定的方式组合起来,组合方式共有6种
b STACK: 连接时把所有 STACK方式的同名段连 接成一个段,运行时就是SS的装入值,且 栈指针SP指向该段的起始地址 C COMMON: 表示该段与其它模块中所有已说明为 COMMON的同名段共享相同的存储区域, 即具有相同的段起始地址,共享的长度为模 块同名段中最大长度
b. STACK: 连接时把所有STACK方式的同名段连 接成一个段 ,运行时就是SS的装入值,且 栈指针SP指向该段的起始地址。 c. COMMON: 表示该段与其它模块中所有已说明为 COMMON的同名段共享相同的存储区域, 即具有相同的段起始地址,共享的长度为模 块同名段中最大长度