1.赋值伪指令EQU
指令格式:
字符名称 EQU 数值或汇编符号
EQU伪指令的功能是使指令中的“字符名称”等价于给定的“数值或汇编符号”。赋值后的字符名称可在整个程序中使用。字符名称必须先赋值后使用,通常将赋值指令放在源程序的开头。
例:
AA EQU R1 ;给AA赋值R1
DATA1 EQU 10H ;给DATA1赋值10H
DELAY EQU 2200H ;给DELAY赋值2200H
ORG 2000H
MOV R0,DATA1 ;R0←(10H)
MOV A,AA ;A←(R1)
LCALL DELAY ;调用起始地址为2200H的子程序
END
上述代码分析:经EQU定义后,AA等效于R1,DATA1等效于10H,DELAY等效于2200H,该程序在汇编时,自动将程序中AA换成R1,DATA1换成10H、DELAY换成2200H,再汇编为机器代码程序。
使用赋值伪指令EQU的好处在于程序占用的资源数据符号或寄存器符号用占用源的英文或英文缩写字符名称来定义,后续编程中凡是出现该数据符号或寄存器符号就用该字符名称代替,这样采用有意义的字符名称进行编程,更容易记忆和不容易混淆,也便于阅读修改。
2.数据地址赋值指令DATA
指令格式:
字符名称 DATA 表达式
例如,AA DATA 2000H
(结合上面的程序)
汇编时,将程序中的AA字符名称用2000H取代。
DATA伪指令与EQU伪指令的功能相似,其主要区别是:
- DATA伪指令定义的字符名称可先使用后定义,放在程序开头、结尾均可;而EQU伪指令定义的字符名称只能是先定义,后使用。
- EQU伪指令可以将一个汇编符号赋值给字符名称,而DATA伪指令只能将数据地址赋值给字符名称。