diff options
Diffstat (limited to 'c16.mac')
-rw-r--r-- | c16.mac | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/c16.mac b/c16.mac deleted file mode 100644 index 50b5d5e..0000000 --- a/c16.mac +++ /dev/null @@ -1,82 +0,0 @@ -; NASM macro set to make interfacing to 16-bit programs easier -*- nasm -*- - - - -%imacro proc 1 ; begin a procedure definition - -%push proc - - global %1 - -%1: push bp - - mov bp,sp - -%ifdef FARCODE PASCAL ; arguments may start at bp+4 or bp+6 - -%assign %$arg 6 - -%define %$firstarg 6 - -%else - -%assign %$arg 4 - -%define %$firstarg 4 - -%endif - -%define %$procname %1 - -%endmacro - - - -%imacro arg 0-1 2 ; used with the argument name as a label - -%00 equ %$arg - - ; we could possibly be adding some - - ; debug information at this point...? - -%assign %$arg %1+%$arg - -%endmacro - - - -%imacro endproc 0 - -%ifnctx proc - -%error Mismatched `endproc'/`proc' - -%else - - mov sp,bp - - pop bp - -%ifdef PASCAL - - retf %$arg - %$firstarg - -%elifdef FARCODE - - retf - -%else - - retn - -%endif - -__end_%$procname: ; useful for calculating function size - -%pop - -%endif - -%endmacro - |