有没有办法为nasm中的例程生成以下页眉和页脚,而不需要在每次定义新例程时都显式编写它们?
部首:
push ebp
mov ebp, esp ; Entry code - set up ebp and esp
例程的主体
页脚:
mov esp, ebp ; Function exit code
pop ebp
ret
我正在寻找类似的东西:
some command that generates entry code
body of the routine
some command that generates exit code
答案 0 :(得分:2)
您可以定义多行宏...
%macro prologue 1
push ebp
mov ebp,esp
sub esp,%1
%endmacro
您可以为函数输入和退出定义一个。
%macro prologue 1
push ebp
mov ebp,esp
sub esp,%1
%endmacro
%macro epilogue 1
mov esp,ebp
pop ebp
ret
%endmacro
提供的参数是你想在筹码上保留多少空间。