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

X86 获取致命错误A1008:masm中的宏嵌套不匹配,x86,masm,X86,Masm,在.data指令之前定义了宏 print macro char mov ax,char call WriteChar print endm 给出了错误的不匹配宏嵌套。我相信您的宏可能如下所示: Macro Print char mov ax, char Call WriteChar endm 您的错误与宏的结构有关。 关于。这是for宏所说的: 标记名为name的宏块,并为调用宏时传递的参数建立参数占位符 name MA

在.data指令之前定义了宏

    print macro char
      mov ax,char
      call WriteChar
    print endm

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

我相信您的宏可能如下所示:

 Macro Print char
       mov ax, char
       Call WriteChar
 endm
您的错误与宏的结构有关。 关于。

这是for
宏所说的:

标记名为name的宏块,并为调用宏时传递的参数建立参数占位符

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

如您所见,宏应该以
ENDM
结尾,而不是
name ENDM
。事实上,如果我将
print endm
更改为
endm
,我就不会再出现“不匹配的宏嵌套”错误。

Nice。我请你投票,因为答案可以帮助你……:)当做