	.TITLE	DEFLIST		
; JEFFREY KODOSKY	ARL	NOV75
;
; SUBR
; ENTRY:	2 ARGS		<LIST>;<LITATM>
; EXIT:		1 ARG		<LAT>
; ERRORS:	NONE
; CALLS:	PUT
;		GETC
;		CAR
;		CDR
	.GLOBL	DEFLIST,ZDEFLIST,QPUT,QGETC,QCAR,QCDR
DEFLIST:MOV	(R5)+,R2
	MOV	(R5)+,R3
	ROOM	8.
	CLR	-(R5)	;RESULT
	MOV	R5,R1
	MOV	R1,-(R5);OPEN CDR
	MOV	R3,-(R5);INDICATOR
	MOV	R2,-(R5)
	BEQ	DEFL9
DEFL1:	QCDR
	MOV	R2,-(R5)
	QCAR
	MOV	@R5,R2
	QCDR
	QCAR		;CADAR[<ARG1>]
	MOV	4(R5),-(R5)	;INDICATOR
	MOV	R2,-(R5)
	QCAR
	QPUT		;PUT[CAAR[<ARG1>];<ARG2>;CADAR[<ARG1>]]
	MOV	(R5)+,R3
	BEQ	DEFL5
	QGETC
	MOV	(R5)+,R0
	MOV	R0,@4(R5)	;CHAIN TO PREVIOUS RESULT
	MOV	R3,(R0)+;CAR POINTS TO CAAR[<ARG1>]
	MOV	R0,4(R5);NEW OPEN CDR
DEFL5:	MOV	@R5,R2	;<ARG1>:=CDR[<ARG1>]
	BNE	DEFL1
DEFL9:	TST	(R5)+	;POP CDR[<ARG1>]
	CMP	(R5)+,(R5)+	;POP INDICATOR AND OPEN CDR
	JMP	@-(R4)
ZDEFLIST=.-DEFLIST
	.END
