home *** CD-ROM | disk | FTP | other *** search
- ; NASM macro set to make interfacing to 32-bit programs easier -*- nasm -*-
-
- %imacro proc 1 ; begin a procedure definition
- %push proc
- global %1
- %1: push ebp
- mov ebp,esp
- %assign %$arg 8
- %define %$procname %1
- %endmacro
-
- %imacro arg 0-1 4 ; used with the argument name as a label
- equ %$arg
- %assign %$arg %1+%$arg
- %endmacro
-
- %imacro endproc 0
- %ifnctx proc
- %error Mismatched `endproc'/`proc'
- %else
- leave
- ret
- __end_%$procname: ; useful for calculating function size
- %pop
- %endif
- %endmacro
-