EJECT PAGE/100-200 POP4=POP PUSH4=PUSH /GARBAGE COLLECTOR /CALLED WHEN FREE STRING EXHAUSTED COLN, 0/NUMBER OF COLLECTIONS PERFORMED. COLECT, 0 ISZ COLN /INCREMENT NUMBER OF COLLECTIONS NOP /PASS 1--SET 11TH BIT OF POINTERS TO 1 TAD EVLEN DCA COCNT TAD EVBEG IAC DCA CONDX COLADD, TAD I CONDX RAR CLL CML RAL DCA I CONDX ISZ CONDX ISZ CONDX ISZ COCNT ISZ COCNT JMP COLADD /PASS II--UNMARK ALL CELLS IN USE TAD CODTAB DCA COAUTO COLOOP, TAD I COAUTO ISZ COAUTO CMA SNA JMP I COLLON /CHECK THE PUSH DOWN LIST CMA DCA .+2 JMS COMAIN 0 JMP COLOOP /PASS III--COLLECT ALL CELLS NOT IN USE COLNXT, TAD EVLEN DCA COCNT TAD EVBEG IAC DCA CONDX COLZOT, TAD I CONDX RAR SNL CLA JMP COLEND /IN USE--DO NOT FREE TAD EVFREE SZA CLA JMP COLARND /NOT FIRST PASS TAD CONDX /FIRST PASS DCA EVFREE TAD EVFREE DCA COLAST JMP COLEND COLARND, TAD CONDX DCA I COLAST TAD I COLAST DCA COLAST STA /SET HD OF COLLECTED CELL TO NIL. TAD CONDX DCA COI DCA I COI COLEND, ISZ CONDX ISZ CONDX ISZ COCNT ISZ COCNT JMP COLZOT DCA I COLAST TAD EVFREE SNA CLA HLT /NO MORE STORAGE AREA AVAILABLE--ENLARGE AREA JMP I COLECT /COMAIN ROUTINE--RECURSIVE /UNMARK A LIST OR AN ATOM COMAIN,0 /ENTER LINKAGES JMS I COPUSH /SAVE PARAMETER COI TAD I COMAIN DCA COI ISZ COMAIN JMS I COPUSH /SAVE RETURN ADDRESSES COMAIN TAD COI /SEE IF ARGUMENT IS IN RANGE JMS I COGOOD JMP CORET /NOT IN RANGE; EXIT COLAHA, TAD COI /CHECK IF NULL CLL RAR SNA JMP CORET SNL /CHECK IF ATOM JMP COATOM CLL RAL /REMOVE LIST INDICATOR JMS COCOMP DCA COI TAD I COI DCA .+2 JMS COMAIN 0 ISZ COI /SET COI TO POINT TO TL TAD I COI CLL RAR CLL CML RAL DCA COI JMP COLAHA COATOM, RAL SNA JMP CORET JMS COCOMP IAC DCA CONDX TAD I CONDX JMP COATOM+1 CORET, JMS I COPOP /POP RETURN ADDRESSES AND PARAMETER VALUE COMAIN JMS I COPOP COI JMP I COMAIN /COCOMP ROUTINE /SETS THE USE INDICATOR OFF FOR THE CELL WHOSE ADDRESS IS IN / THE AC. COCOMP, 0 IAC DCA COCNT TAD I COCNT RAR CLL RAL DCA I COCNT CMA TAD COCNT JMP I COCOMP /DECLARATIVES COGOOD, CORANG COCNT, 0 CONDX, 0 CODTAB, EVTABL COLAST, 0 COI, 0 COAUTO, 0 COPUSH=PUSH4 COPOP=POP4 COLLON, COLON PAGE /Added by VRS