获取致命错误 A1008:masm 中嵌套不匹配的宏

Getting fatal error A1008: unmatched macro nesting in masm

在 .data 指令之前定义了一个宏

    print macro char
      mov ax,char
      call WriteChar
    print endm

给出错误不匹配的宏嵌套。

我相信你的宏可能是这样的:

 Macro Print char
       mov ax, char
       Call WriteChar
 endm

您的错误与宏的结构有关。 问候。

MACROMSDN page 必须这样说:

Marks a macro block called name and establishes parameter placeholders for arguments passed when the macro is called.

name MACRO [[parameter [[:REQ | :=default | :VARARG]]]]...
   statements 
   ENDM [[value]]

如您所见,宏应该以 ENDM 而不是 name ENDM 结尾。事实上,如果我将 print endm 更改为 endm,我将不再收到 "unmatched macro nesting" 错误。