EQU
汇编语言中equ(equal) 定义一个常量。
a equ 12
相当于C语言中的#define a 12;
相当于C++中的const int a=12;
EQU定义的是常量
LABEL
LABEL的功能是定义“变量或标号的类型”,而变量或标号的段属性和偏移属性由该语句所处的位置确定。(当然,在label这一条语句的同时,也定义了一个变量或者标号)
例如:
Buffer1 LABEL WORD
Buffer2 DB 20 DUP (0)
通常(注意仅仅是通常),紧接着的下一条语句定义的类型与LABEL指定的类型不同。而实际上,Buffer1是Buffer2的别名(相当于Buffer1 LABEL WORD这一条语句定义了一个标号Buffer1),两者指向内存中的同一个存储地址。换言之,同一组数据定义了两种不同的类型,在接受不同数据类型的访问时,可以指定相应的标号。如接受一个字类型数据访问时,使用Buffer1;接受字节类型数据访问时,使用Buffer2。否则因为数据类型不匹配,编译器编译时将出现异常。
tos LABEL WORD 这一个单独的语句就定义了一个字类型的变量:tos(tos是top of stack)