; global include file for all .s files to specify model and define macros
    .MODEL USE16 LARGE,C
	%MACS
	.LALL

	if	@DataSize NE 0
	LARGEDATA	EQU	1
	endif

; Push all general purpose registers. If 386/486, push 32-bit regs
; to support C code compiled with the -3 option
PUSHALL	macro
	if	@Cpu AND 8	; PUSHAD available to protect 32-bit regs
		pushad
	elseif	@Cpu AND 4	; PUSHA available
		pusha
	else
		push	ax		; save user regs on interrupt stack
		push	bx
		push	cx
		push	dx
		push	bp
		push	si
		push	di
	endif
	endm

; Pop all general purpose registers
POPALL	macro
	if	@Cpu AND 8	; PUSHAD available to protect 32-bit regs
		popad
		nop		; Avoid bug on some early 386's
	elseif	@Cpu AND 4	; PUSHA available
		popa
	else
		pop	di
		pop	si
		pop	bp
		pop	dx
		pop	cx
		pop	bx
		pop	ax
	endif
	endm
