.TITLE DEFLIST ; JEFFREY KODOSKY ARL NOV75 ; ; SUBR ; ENTRY: 2 ARGS ; ; EXIT: 1 ARG ; 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[] MOV 4(R5),-(R5) ;INDICATOR MOV R2,-(R5) QCAR QPUT ;PUT[CAAR[];;CADAR[]] MOV (R5)+,R3 BEQ DEFL5 QGETC MOV (R5)+,R0 MOV R0,@4(R5) ;CHAIN TO PREVIOUS RESULT MOV R3,(R0)+;CAR POINTS TO CAAR[] MOV R0,4(R5);NEW OPEN CDR DEFL5: MOV @R5,R2 ;:=CDR[] BNE DEFL1 DEFL9: TST (R5)+ ;POP CDR[] CMP (R5)+,(R5)+ ;POP INDICATOR AND OPEN CDR JMP @-(R4) ZDEFLIST=.-DEFLIST .END