符号定义语句的目的是把一些经常使用的常量或数值表达式,使用一个符号来代替,这样不用在代码中逐个修改了,只需修改符号定义语句即可。
符号定义语句分为
1 等价语句 EQU
2 等号语句 =
3 符号名定义语句 LABEL
1 等价语句
格式为
符号名 EQU 表达式
比如可以用符号等价语句来代表常量或者表达式
NUMBER EQU 100
BUFF_LEN EQU NUMBER+2
还可以用符号等价语句来定义一个较长的字符串常量
MSG EQU "Hallo World"
还可以用符号等价语句定义一个指令或寄存器
MOVE EQU MOV
COUNTER EQU CX
还可以用符号等价语句对一片内存区域起一个另一个数据类型的别名,不过要配合THIS使用
WORD1 EQU THIS WORD
BYTE1 DB 12h,21h
这个时候WORD1就是2112H
2 等号语句
汇编语言提供了用等号来定义符号常数的方法,即可以用符号名来代表一个常数。格式为
符号名 = 数值表达式
比如
ABC = 100 * 5
DEF = ABC * 5
3 符号名定义语句
符号名定义语句LABEL与THIS的功能相似,该语句有一个指定的符号名,该符号名的段地址和偏移量与下面紧跟存储单元的相应属性相同,但该符号的类型是新指定的。LABEL语句的一般格式为:
符号名 LABEL 类型
常用类型有BYTE WORD DWORD NEAR FAR
如
WBUFFER LABEL WORD
BUFFER DB DUP(0)
WBUFFER和BUFFER拥有相同的段地址和偏移量,但是他们的数据类型不同
NEXT1 LABEL FAR
NEXT: MOV BX, AX
NEXT1和NEXT具有相同的段地址和偏移量,但NEXT1是远标号,NEXT是近标号。在同一个模块内转移可以使用NEXT在不同模块间转移,使用NEXT1。
符号定义语句分为
1 等价语句 EQU
2 等号语句 =
3 符号名定义语句 LABEL
1 等价语句
格式为
符号名 EQU 表达式
比如可以用符号等价语句来代表常量或者表达式
NUMBER EQU 100
BUFF_LEN EQU NUMBER+2
还可以用符号等价语句来定义一个较长的字符串常量
MSG EQU "Hallo World"
还可以用符号等价语句定义一个指令或寄存器
MOVE EQU MOV
COUNTER EQU CX
还可以用符号等价语句对一片内存区域起一个另一个数据类型的别名,不过要配合THIS使用
WORD1 EQU THIS WORD
BYTE1 DB 12h,21h
这个时候WORD1就是2112H
2 等号语句
汇编语言提供了用等号来定义符号常数的方法,即可以用符号名来代表一个常数。格式为
符号名 = 数值表达式
比如
ABC = 100 * 5
DEF = ABC * 5
3 符号名定义语句
符号名定义语句LABEL与THIS的功能相似,该语句有一个指定的符号名,该符号名的段地址和偏移量与下面紧跟存储单元的相应属性相同,但该符号的类型是新指定的。LABEL语句的一般格式为:
符号名 LABEL 类型
常用类型有BYTE WORD DWORD NEAR FAR
如
WBUFFER LABEL WORD
BUFFER DB DUP(0)
WBUFFER和BUFFER拥有相同的段地址和偏移量,但是他们的数据类型不同
NEXT1 LABEL FAR
NEXT: MOV BX, AX
NEXT1和NEXT具有相同的段地址和偏移量,但NEXT1是远标号,NEXT是近标号。在同一个模块内转移可以使用NEXT在不同模块间转移,使用NEXT1。