	.TITLE	EVALQUOTE		
; JEFFREY KODOSKY	ARL	NOV75
;
; SUBR
; ENTRY:	2 ARGS		<FUNCTION>;<LIST>
; EXIT:		1 ARG		<FUNCTION>[<LIST>]
; ERRORS:	NONE
; CALLS:	EVAL
;		APPLY
;		GET
;		CONS
	.GLOBL	EVALQUOTE,ZEVALQUOTE,QEVAL,QAPPLY,QGET,QCONS
	.GLOBL	$ALIST,FEXPR,FSUBR
EVALQUOTE:	ROOM	4	;CHECK FOR STACK SPACE
	CLR	$ALIST	;ALIST:=NIL
	MOV	@R5,R0
	BIT	#2,(R0)+
	BNE	EVALQ5
	BIT	#2,@R0
	BNE	EVALQ5
	BIT	#1,@R0
	BEQ	EVALQ5
	MOV	FEXPR,-(R5)	;GET[<FN>;FEXPR]
	MOV	2(R5),-(R5)
	QGET
	BCC	EVALQ2
	MOV	FSUBR,@R5	;OR GET[<FN>;FSUBR]--->
	QGET
	BCS	EVALQ4
EVALQ2:	TST	(R5)+		;EVAL[CONS[<FN>;<LIST>]]
	QCONS
	QEVAL
	.WORD	0	;(NO RETURN PATH)
EVALQ4:	TST	(R5)+	;POP NIL
EVALQ5:	QAPPLY		;T--->APPLY[<FN>;<LIST>]
	.WORD	0
ZEVALQUOTE=.-EVALQUOTE
	.END
