	.TITLE	SPL		
; JEFFREY KODOSKY	ARL	NOV75
;
; UTILITY:	SEARCH PROPERTY LIST OF ARG1 FOR INDICATOR ARG2
; ENTRY:	2 ARGS		<LITATM1>;<LITATM2>
; EXIT:		1 ARG		<PROP LIST STARTING WITH LITATM2>
;		R0:=PROP LIST PORTION WHOSE CADR IS <LITATM2>
;		C BIT IS SET AND NIL RETURNED IF <LITATM2> NOT
;			FOUND ON PROP LIST OF <LITATM1>
; ERRORS:	NONE
; CALLS:	NONE
; R2,R3 PRESERVED
	.GLOBL	SPL
SPL:	MOV	(R5)+,R0;NO CHECK TO INSURE ARG1 IS LITATM
	MOV	@R5,R1	;NO CHECK FOR ARG2 EITHER
SPL01:	BIT	#3,@R0	;ANY UNEXPECTED NUMBERS CAUSE
	BNE	SPL02	;UNSUCESSFUL SEARCH
	MOV	2(R0),R0;CDR[ARG1]
	BIC	#3,R0	;REMOVE ANY FLAG BITS
	BEQ	SPL02	;JUMP IF END OF PROP LIST
	BIT	#3,@R0	;UNEXPECTED NUMBERS CAUSE SEARCH FAIL
	BNE	SPL02
	CMP	@R0,R1	;EQ[CADR[ARG1];ARG2]?
	BEQ	SPL03	;JUMP IF INDICATOR FOUND
	MOV	2(R0),R0;ARG1:=CDDR[ARG1]
	BIC	#3,R0	;LOOP BACK IF PROP LIST NOT ENDED
	MOV	R0,-2(R5)
	BNE	SPL01	;(IT SHOULDN'T END ON ODD NUMBER CELL)
SPL02:	CLR	@R5	;PROPERTY LIST EXHAUSTED: RETURN NIL
	SEC		;AND SET SEARCH FAIL FLAG
	JMP	@-(R4)
SPL03:	MOV	R0,@R5	;RETURN REMAINDER OF PROP LIST
	MOV	-2(R5),R0
	CLC
	JMP	@-(R4)
	.END
