Assembly 在NASM汇编程序中使用%ifmacro

Assembly 在NASM汇编程序中使用%ifmacro,assembly,x86,nasm,Assembly,X86,Nasm,假设我有这个宏: %macro MYMACRO 2-* ;some code here %endmacro 这些测试通过: %ifmacro MYMACRO %ifmacro MYMACRO 2 %ifmacro MYMACRO 1-* %ifmacro MYMACRO 2-* %ifmacro MYMACRO 3-* 而这个测试没有通过: %ifmacro MYMACRO 1 我的问题是:1在1-*中,那么为什么%ifmacro MYMACRO 1-*通过而%ifmacro MY

假设我有这个宏:

%macro MYMACRO 2-*
    ;some code here
%endmacro
这些测试通过:

%ifmacro MYMACRO
%ifmacro MYMACRO 2
%ifmacro MYMACRO 1-*
%ifmacro MYMACRO 2-*
%ifmacro MYMACRO 3-*
而这个测试没有通过:

%ifmacro MYMACRO 1
我的问题是:1在1-*中,那么为什么%ifmacro MYMACRO 1-*通过而%ifmacro MYMACRO 1不通过呢?

根据:

如果使用给定的 参数的名称和数量将导致定义冲突

显然
1
2-*
不冲突,但
1-*
与之冲突