nasm和masm的差别(珍珠)

在masm中的宏调用中有一个本地函数

格式:local      形式参数

功能:在宏扩展时候,宏汇编程序自动的为其后的形参顺序生成特殊符号(范围在??0000~??FFFFH),并用这些特殊符号取代宏体中的形参,从而避免符号重复定义的错误

local语句必须放在宏体中的第一条语句,

eg

  abs   macro var

local      p

cmp      var,0

jge         p

neg       var

p:    ...

endm

当宏被调用不止一次时候不会发生错误

而在nasm中则是用%%来实现的。而且不约束,(不似local只能在第一句)

例如

%macro ret 0

jz        %%mylove

ret

%%mylove:  .....

%endmacro

其效果和local一样


你可能感兴趣的:(汇编,扩展)