1

新しいルーチンを定義するたびに明示的にコーディングする必要なく、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
4

1 に答える 1

2

複数行のマクロを定義できます...

%macro  prologue 1 

        push    ebp 
        mov     ebp,esp 
        sub     esp,%1 

%endmacro

ソース

関数の入口と出口用に 1 つ定義できます。

%macro  prologue 1 

        push    ebp 
        mov     ebp,esp 
        sub     esp,%1 

%endmacro

%macro  epilogue 1 

        mov     esp,ebp
        pop     ebp 
        ret

%endmacro

指定された引数は、スタックに確保したいスペースの量です。

于 2013-05-01T11:35:00.717 に答える