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-*
与之冲突