Nasm例程的进入和退出代码



是否有任何方法可以为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

你可以定义一个多行宏…

%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

提供的参数是您希望在堆栈上保留多少空间。

相关内容

  • 没有找到相关文章

最新更新