1 ; NASM macro set to make interfacing to 16-bit programs easier -*- nasm -*-
3 %imacro proc 1 ; begin a procedure definition
8 %ifdef FARCODE PASCAL ; arguments may start at bp+4 or bp+6
18 %imacro arg 0-1 2 ; used with the argument name as a label
20 ; we could possibly be adding some
21 ; debug information at this point...?
22 %assign %$arg %1+%$arg
27 %error Mismatched `endproc'/`proc'
32 retf %$arg - %$firstarg
38 __end_%$procname: ; useful for calculating function size