公 例如,在下述定义中, A DB 12H, BDW?,3456H C D 789ABCDEH DDB′A B C EDB′ABCD FDW′AB CD′ 上述各变量的存储情况如图74所示。显然, DB′AB′和DW′AB′的存储情况不同
例如,在下述定义中, A DB 12H, ? B DW ?, 3456H C DD 789ABCDEH D DB ′A′, ′B′, ′ C′, ′D′ E DB ′ABCD′ F DW ′AB′, ′CD′ 上述各变量的存储情况如图7.4所示。显然, DB′AB′和DW′AB′的存储情况不同
公 A12 B? C DE D[41 F42 BC 42 42 41 56 9A 43 3 44 34 78 43 图34变量在存储器中的存储情况
A 图3.4 变量在存储器中的存储情况 12 ? ? ? 56 34 B DE BC 9A 78 C 41 42 43 44 D 41 42 43 44 E 42 41 44 43 F
公 程序例 DATA SEGMENT TAB DW12,3,4,5,6 ENTRY EQU 3 DATA ENDS CODE SEGMENT ASSUME CS: CODE DS: DATA L: MOV AX DATA MOV DS, AX MOV BX OFFSET TAB ADD BX. ENTRY MOV AX, TAB+3 MOV AX, [Bx] CODE ENDS END L 上述程序执行后,AX=
DATA SEGMENT TAB DW 1,2,3,4,5,6 ENTRY EQU 3 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA L: MOV AX, DATA MOV DS, AX MOV BX,OFFSET TAB ADD BX, ENTRY ; MOV AX, TAB+3 MOV AX, [BX] CODE ENDS END L 上述程序执行后,AX= 程序例
公 2符号定义表达式赋值) 有=、E0U、PRGE共3种说明符,含义分别是被赋 予、被赋予、取消(释放)。 (1)格式:符号名=表达式 将表达式的值赋予符号名,以后即可用该符号名代表此表达 式的值。 (2)格式:符号名EQU表达式或另一组标识符 将表达式的值或另一组标识符赋予符号名,以后即可用该符 号名代表此表达式的值或代替另一组标识符。 (3)格式: PURGE符号名1[,符号名2[,…] 取消(释放)被EU定义的符号名,以后即可用EQU对该符号名 再赋予不同的含义
2. 符号定义(表达式赋值) • 有 =、EQU、PURGE共3种说明符,含义分别是被赋 予、被赋予、取消(释放)。 (1)格式: 符号名 = 表达式 将表达式的值赋予符号名,以后即可用该符号名代表此表达 式的值。 (2) 格式: 符号名 EQU 表达式或另一组标识符 将表达式的值或另一组标识符赋予符号名,以后即可用该符 号名代表此表达式的值或代替另一组标识符。 (3) 格式: PURGE 符号名1[,符号名2[,…… ]] 取消(释放)被EQU定义的符号名,以后即可用EQU对该符号名 再赋予不同的含义
公 3.段定义 段定义说明符有3种,即 SEGMENT、ENDS和 ASSUME 含义分别是段开始、段结束、指定段寄存。 (1)格式:段名 SEGMENT[定位类型][组合类型][类别] 从段名代表的段基值开始定义一个段。其中的定位类 组 合类型和类别一般都可省略,若不省略时各项的顺序不能变 ①定位类型:连接时用于指定该段应开始于什么样的物理地 址。可选择下列4种之一 BYTE:从当前可用字节地址 XXXXXXXXXXXXXXXX XXXX(任一地址)开始; W0RD:从当前可用的字地址 XXXX XXXX XXXXXXXX XX0(偶数地址)开始; PARA(缺省):从当前可用地址 XXXXXXXXXXXX XXXX000016倍数)开始 PAGE:从当前可用的页地址 XXXX XXXX XXXX00000(256的倍数)开始 其中,1节( paragraph)为16字节,1页为16节即256字节
3. 段定义 • 段定义说明符有3种,即SEGMENT、ENDS和ASSUME, 含义分别是段开始、段结束、指定段寄存器。 (1)格式: 段名 SEGMENT[定位类型][组合类型][类别] 从段名代表的段基值开始定义一个段。其中的定位类型、组 合类型和类别一般都可省略,若不省略时各项的顺序不能变。 ① 定位类型: 连接时用于指定该段应开始于什么样的物理地 址。可选择下列4种之一: BYTE:从当前可用字节地址XXXX XXXX XXXX XXXX XXXX(任一地址)开始; WORD:从当前可用的字地址XXXX XXXX XXXX XXXX XXX0(偶数地址)开始; PARA(缺省):从当前可用地址XXXX XXXX XXXX XXXX 0000(16倍数)开始; PAGE:从当前可用的页地址XXXX XXXX XXXX 0000 0000(256的倍数)开始。 • 其中,1节(paragraph) 为16字节,1页为16节即256字节