	.TITLE	EFFACE		
; JEFFREY KODOSKY	ARL	JUL76
;
; SUBR
; ENTRY:	2 ARGS		<S>;<LIST>
; EXIT:		1 ARG		<LIST>
; ERRORS:	NONE
; CALLS:	CAR
;		CDR
;		EQUAL
;		RPLACD
	.GLOBL	EFFACE,ZEFFACE,QCAR,QCDR,QEQUAL,QRPLD
EFFACE:	ROOM	6
	MOV	2(R5),R2
	BEQ	EFF04	;NULL[<LIST>]--->NIL
	MOV	R2,-(R5)
	MOV	R2,-(R5)
	QCAR
	MOV	4(R5),-(R5)
	QEQUAL
	TST	(R5)+
	BEQ	EFF07
	CMP	(R5)+,(R5)+	;EQUAL[CAR[<LIST>];<S>]--->CDR[<LIST>]
	QCDR
	.WORD	0
EFF04:	TST	(R5)+
	JMP	@-(R4)
EFF07:	MOV	@R5,-(R5)
	QCDR
	MOV	@R5,-(R5)
	BEQ	EFF13	;JUMP IF END OF LIST AND NO <S> FOUND
	QCAR
	MOV	6(R5),-(R5)
	QEQUAL
	TST	(R5)+
	BNE	EFF10	;JUMP IF <S> FOUND
	MOV	(R5)+,@R5	;ELSE BUMP DOWN LIST
	BR	EFF07
EFF10:	QCDR		;REMOVE <S> FROM LIST
	MOV	(R5)+,2(R5)
	QRPLD		;RETURN MODIFIED LIST
	BR	EFF04
EFF13:	ADD	#10,R5	;RETURN <LIST> UNCHANGED
	JMP	@-(R4)
ZEFFACE=.-EFFACE
	.END
