%*DEFINE(HEADER(FCTION,I_P,O_P,REG,DESCR))(
;********************************************
;FUNCTION:	%FCTION	%'THE FCTION OF THE ROUTINE'
;INPUT:		%I_P	%'THE INPUT TO ROUTINE'
;OUTPUT:	%O_P	%'THE OUTPUT FROM ROUTINE'
;REG. ALTERED:	%REG	%'THE REGISTERS DESTROYED BY ROUTINE'
;DESCRIPTION:	%DESCR	%'A BRIEF DESCRIPTION OF THE ROUTINE'
;********************************************
)
%*DEFINE(PPOP)(
	POP	PSW		;MUST POP THIS FIRST
	POP	ACC
	MOV	R1,A
	POP	ACC
	MOV	R0,A
	POP	DPL
	POP	DPH
	POP	ACC
)
%*DEFINE(PPUSH)(
	PUSH	ACC
	PUSH	DPH
	PUSH	DPL
	MOV	A,R0
	PUSH	ACC
	MOV	A,R1
	PUSH	ACC
	PUSH	PSW		;MUST PUSH THIS LAST
)