	.TITLE	CARCDR		
; JEFFREY KODOSKY	ARL	NOV75
;
; SUBR:	C...R PROCESSOR
; ENTRY:	1 ARG		<S>
; EXIT:		1 ARG		<C...R>[<S>]
; ERRORS:	NONE
; CALLS:	CAR
;		CDR
; NOTE:	THIS IS A SPECIAL SUBR IN THAT IT HAS A VARIABLE
;	PNAME.  EVAL ASSOCIATES THE PRESENT FUNCTION ATOM
;	AS THE PNAME, WHICH IS SCANNED HEREIN TO PERFORM
;	THE PROPER OPERATION.
	.GLOBL	CARCDR,ZCARCDR,YCARCDR,QCAR,QCDR
CARCDR:	MOV	YCARCDR,R3	;GET PRESENT PNAME
	MOV	@R3,R3
	CLR	R0
CC1:	MOV	2(R3),-(SP)	;STACK THE CHARACTERS OF
	SWAB	@SP	;THE PNAME IN REVERSE ORDER
	TST	(R0)+	;BYTE COUNTER
	MOV	@R3,R3
	BIC	#3,R3
	BNE	CC1
	MOV	R0,R3
	MOV	SP,R2
	MOV	R0,-(SP);SAVE BYTE COUNT FOR STACK CORRECTION
CC2:	CMPB	@R2,#'A
	BNE	CC3
	QCAR
	BR	CC4
CC3:	CMPB	@R2,#'D
	BNE	CC4
	QCDR
CC4:	INC	R2
	DEC	R3
	BGT	CC2
	ADD	@SP,SP	;RESTORE STACK
	TST	(SP)+
	JMP	@-(R4)
ZCARCDR=.-CARCDR
	.END
