	.TITLE	ERRSET		
; JEFFREY KODOSKY	ARL	NOV75
;
; SUBR
; ENTRY:	3 ARGS		<EXPR>;<BOOL1>;<BOOL2>
; EXIT:		1 ARG		(EVAL[<EXPR>]) OR NIL IF A
;			RECOVERABLE ERROR OCCURED
; ERRORS:	T2, CORRUPTED STACKS
; CALLS:	EVAL
;		CONS
	.GLOBL	ERRSET,ZERRSET,QEVAL,ADERST,QT2ERR,QCONS
ERRSET:	BIS	#1,2(R5);MARK <BOOL1> IN CASE OF ERROR
	MOV	@#42,R0	;CHECK FOR CLEAR SP STACK
	CMP	-(R0),-(R0)
	CMP	R0,SP
	BEQ	ERRST1	;JUMP IF CLEAR
	QT2ERR		;NOT CLEAR (SHOULD NEVER HAPPEN)
ERRST1:	QEVAL		;EVAL[<EXPR>]
ADERST:	MOV	(R5)+,@R5	;DISCARD <BOOL1> AND <BOOL2>
	CLR	2(R5)
	QCONS
	.WORD	0
ZERRSET=.-ERRSET
	.END
G
