;-----------------------------------------------------------------------------
; IOWAIT
;
; Macro for wasting time after an I/O access.
;-----------------------------------------------------------------------------
%imacro		IOWAIT	0
		jc	%%carry		; give the appearence of real code to any
		jnc	%%nocarry	; intelligent instruction chacheing processor.
%%carry		stc
%%nocarry
%endmacro

;-----------------------------------------------------------------------------
; NASM macro set to make interfacing to 32-bit programs easier -*- nasm -*-
;
; These macros were taken directly from C32.MAC supplied with 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

%00		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
