多行宏 %macro:
%macro foo 2
push rax
push rbx
mov rax,%1
mov rbx,%2
pop rbx
pop rax
%endmacro
宏名称后的数字代表宏参数的个数,宏主体中的%1和%2分别代表实际的参数。使用如下方式调用:
foo 0x11,0x22
如果宏参数中包含,号,可以将参数用{}包围起来。
%macro foo 2
%2:db %1
%endmacro
foo {13,10},crlf
;实际生成的代码为:
crlf: db 13,10