汇编语言MACRO和ENDM伪指令:定义宏
定义一个宏使用的是 MACRO 和 ENDM 伪指令,其语法如下所示:
除非宏被调用,否则 MACRO 和 ENDM 伪指令之间的语句不会被汇编。宏定义中还可以有多个形参,参数之间用逗号隔开。
形参不包含类型信息,因此,预处理程序不会检查实参类型来看它们是否正确。如果发生类型不匹配,它将会在宏展开之后,被汇编器捕获。
macroname MACRO parameter-1, parameter-2...
statement-list
ENDM
除非宏被调用,否则 MACRO 和 ENDM 伪指令之间的语句不会被汇编。宏定义中还可以有多个形参,参数之间用逗号隔开。
参数
宏形参 (macro parameter) 是需传递给调用者的文本实参的命名占位符。实参实际上可能是整数、变量名或其他值,但是预处理程序把它们都当做文本。形参不包含类型信息,因此,预处理程序不会检查实参类型来看它们是否正确。如果发生类型不匹配,它将会在宏展开之后,被汇编器捕获。
mPutChar 示例
下面宏 mPutChar 接收一个名为 char 的输入形参,通过调用本教程链接库的 WriteChar 将其显示在控制台:mPutchar MACRO char push eax mov al,char call WriteChar pop eax ENDM