宏定义语句如何理解?宏调用在程序中使用宏时?
宏定义语句如何理解?
宏定义语句MACRO和子程序定义语句PROC一样都是伪指令。宏定义需要一对 伪指令MACRO和ENDM完成。宏定义的格式如下:
宏名字 MACRO [哑元1,哑元2,…]
...
语句串
...
ENDM
说明:宏定义并不产生目标代码,只是用来说明“宏名字”与一段源代码之间的联系。其中哑元1,哑元2,…是虚拟参数或形式参数,用逗号分隔。虚参或形参可不设置。
例如:定义键盘输入宏指令INPUT:
INPUT MACRO
MOV AH,01H
INT 21 H
ENDM
需注意的是,起名时,不要和汇编语言的指令名、保留字相同。
宏调用在程序中使用宏时
在程序中使用宏时,只要写出宏名字[实参]即可。宏调用的格式为:宏指令名 [实参1,实参2,…,实参n]。
例如,从键盘输入一个字符,判断是否为“一“号,不是则继续输入,是结束。(利用前面定义的宏)。
MODEL SMALL
STACK 100H
CODE
START:
INPUT
CMP AL,‘-‘
JNE START
RETSYS
END START