使用EQU操作的优点可从下面的例子中看出:
COUNT EQU 25
COUNTER DB COUNT
MOV AL, COUNT
假定在数据段和代码段中要多次使用一个数据(如25),那么在编程时凡是用到25的地方都可用数据标号COUNT来表示。如果程序想修改这个数据,那么只需修改EQU的赋值,而无须修改程序中其它部分,如COUNTER和MOV语句就不必修改。
EQU还可给表达式赋予一个名字,EQU的用法举例如下:
DATA EQU HEIGHT + 12 ; 地址表达式赋以符号名
ALPHA EQU 7 ; 常数赋以符号名
BETA EQU ALPHA-2 ; 把7-2=5赋以符号名BETA
ADDR EQU VAR + BETA ; VAR+5赋以符号名ADDR。
B EQU [BP + 8] ; 变址引用赋以符号名 B
P8 EQU DS:[BP + 8] ; 加段前缀的变址引用赋以符号名P8
注意:在EQU语句的表达式中,如果有变量或标号的表达式,则在该语句前应该先给出它们的定义。如上例,ALPHA必须在BETA之前定义,否则汇编程序将指示出错。
例如, TMP EQU 5
TMP EQU TMP+1 则是错误语句,因为TMP已赋值为5,就不能再把它定义为其它数值。
而 TMP = 5
TMP = TMP+1 则是允许使用的,因为=伪操作允许重复定义。第一个语句TMP的值为5,第二个语句TMP的值就为6了。