Nasm例程的进入和退出代码

Nasm例程的进入和退出代码,nasm,exit,subroutine,entry-point,Nasm,Exit,Subroutine,Entry Point,在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 ro

在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

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

@AntoineMathys不知道这些。谢谢你加上这个。