	.TITLE	SASSOC		
; JEFFREY KODOSKY	ARL	NOV75
;
; SUBR
; ENTRY:	3 ARGS		<S>;<LIST>;<FNEXP>
; EXIT:		1 ARG
; ERRORS:	NONE
; CALLS:	APPLY
;		CAR
;		CDR
;		EQUAL
	.GLOBL	SASSOC,ZSASSOC,QAPPLY,QCAR,QCDR,QEQUAL
SASSOC:	ROOM	4
	MOV	(R5)+,R3
	MOV	(R5)+,R2
	BEQ	SASS6	;JUMP IF END OF LIST
	MOV	R3,-(R5)
	MOV	R2,-(R5)
SASS1:	QCDR
	MOV	R2,-(R5)
	QCAR
	MOV	@R5,-(R5)
	QCAR
	MOV	6(R5),-(R5)
	QEQUAL		;EQUAL[CAAR[<LIST>];<S>]--->
	TST	(R5)+	;   CAR[<LIST>]
	BNE	SASS8
	TST	(R5)+	;T--->
	MOV	@R5,R2	;   SASSOC[<S>;CDR[<LIST>]]
	BNE	SASS1
	CMP	(R5)+,(R5)+
SASS6:	MOV	@R5,-(R5)	;NOT FOUND: APPLY  <FNEXP>  TO
	CLR	2(R5)	;NO ARGS
	QAPPLY
	.WORD	0
SASS8:	MOV	(R5)+,4(R5)	;RETURN CAR[<LIST>]
	CMP	(R5)+,(R5)+
	JMP	@-(R4)
ZSASSOC=.-SASSOC
	.END
