PPRIME: 0 GETCNR: 105 SYMP: -NFOO,,STAB+3*-NFOO OCNUM: 0 DNUM: 0 LIMBO1: 0 SCONDF: 0 SCINST: 0 AIRPT2: 0 ;MACRO PROCESSOR INFO,VARIABLES,AND PARAMETER ASSIGNS. TOPP: 0 ;TOP OF CURRENT DUMMY ARG TABLE PTS TO FREE REG BBASE: 0 ;BOT " " " " " PTAB: (341000+CH1)MACTAB ;BYTE TABLE (241000+CH1)MACTAB (141000+CH1)MACTAB (41000+CH1)MACTAB (341000+CH1)MACTAB+1 MACP: 0 ;MAC PDL POINTER FREEPT: 3 ;MACRO STG PNTR GENSM: 0 ;GENERATED SYM COUNT STRCNT: 0 ;NO OF CHARS IN S S STRPNT: 0 ;POINTER TO S S RDWRDP: DSTG DEFVAL: 0 MACNM: 0 DCNT: 0 PRCALP: PRCAL DMYTOP: 0 PRSTG: PRSCND: 0 PRSCN1: 0 PRREPT: 0 PRIRP: 0 PRDEF: 0 CPTR: 0 ;CURRENT POINTER PRCAL: REPEAT 10,0 EPRSTT: SYMSTR: 0 REDPT: 0 COFST: 0 SVF: 0 FREPTS: 0 GCENDF: 0 REDPTB: 0 FREPTB: 0 FRPTBS: 0 MDEPTH: 0 PUTCNT: 0 AIRPT: 0 IRPCR: 0 GCHI: 0 A.QOT2: 0 AIRPT1: 0 CRPTCT: -1 ;COUNT THROUGH CURRENT REPEAT OACSV: BLOCK 17 GETFLD: PUSH P,PPRIME MOVEM P,PPRIME TRZ I,FLD TRO I,DEF GETFD1: PUSHJ P,GETSYL CAIN T,": JRST GETFD7 TRNE I,LET PUSHJ P,GETVAL TRNN I,DEF JRST GETFD7 GETFD6: MOVEI C,0 CAIN T,"+ MOVE C,[10,,PLS1] CAIN T,"- MOVE C,[10,,MINUS1] CAIN T,"* MOVE C,[20,,MULTP1] CAIN T,"_ MOVE C,[30,,BAKA] CAIN T,"/ MOVE C,[20,,DIVID1] CAIN T,"& MOVE C,[30,,AMPSND] CAIN T,"( TLZE I,IGOP JRST .+2 JRST OPNPAR JUMPN C,GTF2 GETFD7: TRNE I,SYL TRO I,FLD MOVEI TT,0 JSP LINK,GETFD2 SUB P,[2,,2] POP P,PPRIME POPJ P, AMPSND: AND A,-1(P) JRST GETFD4 OPNPAR: PUSHJ P,GETFLD MOVE B,LIMBO1 CAIE B,") TLO FF,UNRCHF PUSH P,[GETFD6] JRST VALRET BAKA: MOVE B,A MOVE A,-1(P) LSH A,(B) JRST GETFD4 GTF2: MOVEI LINK,GETFD1 GETFDA: TRO I,FLD HLRZ TT,C TRNN I,SYL AOS TT,GETCNR GETFD2: CAMN P,PPRIME JRST GETFD3 HLRZ CH1,(P) CAMLE TT,CH1 JRST GETFD3 HRRZ CH1,(P) JRST (CH1) GETFD3: PUSH P,A HRLM TT,C PUSH P,C JRST (LINK) MINUS1: MOVNS A PLS1: ADD A,-1(P) GETFD4: SUB P,[2,,2] JRST GETFD2 MULTP1: IMUL A,-1(P) JRST GETFD4 DIVID1: EXCH A,-1(P) IDIV A,-1(P) JRST GETFD4 GETVAL: PUSHJ P,ES TRZA I,DEF JRST (B) POPJ P, GSYM=. MOVE A,2(D) TLNE I,AR POPJ P, MOVEI TT,TYO TLO FF,UNRCHF SDPT: JUMPGE A,SDPT1 PUSH P,A MOVEI A,"- PUSHJ P,(TT) POP P,A MOVMS A SDPT1: IDIVI A,10 HRLM B,(P) JUMPE A,.+2 PUSHJ P,SDPT1 HLRZ A,(P) ADDI A,"0 JRST (TT) AGSYL: PUSHJ P,GETSYL TRNN I,SYL JRST .-2 PUSHJ P,ES POPJ P, PUSHJ P,(B) ;EXPAND MACRO AGSYL2: POPJ P, MNLP1: PUSHJ P,WRTSS1 MNLUP: TLZ I,AR MOVE P,[-PDLL,,PDL-1] PUSHJ P,GETSYL CAIN T,"= JUMPN SYM,EQU PUSHJ P,ES JRST MNLP1 PUSHJ P,(B) ;EXPAND MACRO PSEUDO SYM MNLP2: JRST MNLUP EQU: PUSH P,SYM PUSHJ P,AGETFD POP P,SYM MOVEI B,GSYM PUSHJ P,VSM2A JRST MNLUP ES: MOVE D,SYMP CAMN SYM,(D) JRST ES1 ADDI D,2 AOBJN D,ES+1 POPJ P, ES1: MOVE B,1(D) POPJ1: AOS (P) POPJ P, VSM2A: MOVE C,A VSM2: VSM: MOVE D,SYMP CAMN SYM,(D) JRST VSM1A ADDI D,2 AOBJN D,.-3 MOVE D,[-2,,-3] ADDB D,SYMP MOVEM SYM,(D) VSM1: TLZ D,-1 MOVEM B,1(D) MOVEM C,2(D) POPJ P, VSM1A: TLNN B,-1 JRST VSM1 PUSH P,B XOR B,1(D) TLNE B,-1 (SIXBIT /IRD/) POP P,B JRST VSM1 AEQUALS: PUSHJ P,GETSYL JUMPN SYM,.+3 SUBI T,40 DPB T,[360600,,SYM] PUSH P,SYM PUSHJ P,GETSYL PUSHJ P,ES JRST ASSEM1 POP P,SYM PUSHJ P,VSM JRST ASSEM1 PUSHEM: PUSH P,A ;BBASE CPTR PUSH P,F ;FLAGS LIMBO1 RETN MOVE F,MACP HRR A,CPTR HRL A,BBASE PUSH F,A HRL B,LIMBO1 TLZE FF,UNRCHF TLO B,400000 TROE FF,MACRCH TLO B,200000 PUSH F,B JRST PSHM1 POPEM: PUSH P,A PUSH P,F MOVE F,MACP POP F,A TLZ FF,UNRCHF TLZE A,400000 TLO FF,UNRCHF TRZ FF,MACRCH TLZE A,200000 TRO FF,MACRCH HLRZM A,LIMBO1 POP F,B HRRM B,CPTR PSHM1: MOVEM F,MACP POP P,F POPAJ: POP P,A POPJ P, MRCHR: POP P,B MRCH:MRCH2B: MOVE CH1,CPTR IDIVI CH1,4 LDB A,PTAB(CH2) AOS CPTR TRZN A,200 JRST RCH2 MRCH2C: PUSH P,B CAIN A,176 JRST MRCHR CAIE A,177 CAIN A,175 JRST MRCH1 MOVE B,A ADD B,BBASE MOVE A,(B) MOVEI B,RCHSAV PUSHJ P,PUSHEM HRRM A,CPTR MOVE A,TOPP MOVEM A,BBASE JRST MRCHR MRCH1: MOVE B,MACP POPJ B, RCHSV1: SOS MDEPTH PUSH P,A MOVE B,TOPP RCHSV3: CAMG B,BBASE JRST RCHSV2 HLRZ A,-1(B) ADD A,-1(B) MOVEI A,1(A) CAME A,FREEPT JRST RCHSV2 HRRZ A,-1(B) MOVEM A,FREEPT SOJA B,RCHSV3 RCHSV2: POP P,A RCHSAV: MOVE B,BBASE MOVEM B,TOPP PUSHJ P,POPEM HLRM B,BBASE REPT6: TRZE I,MRSW POPJ P, POP P,B JRST RCH REDINC: MOVE CH1,A IDIVI CH1,4 LDB B,PTAB(CH2) AOJA A,CPOPJ RDWRDA: PUSHJ P,ADDTR1 PUSHJ P,RCH TLNE LINK,ALNSCN JRST RDWR3 CAIN A,"[ JRST RDWR1 CAIN A,"\ JUMPGE LINK,RDWR6 RDWR3: CAIE A,15 CAIN A,12 JRST RDWR2-1 REPT5: CAIN A,", JUMPGE LINK,RDWR2 RDWR5: PUSHJ P,PUTREL PUSHJ P,RCH JRST RDWR3 RDWR7: MOVE A,LIMBO1 CAIE A,15 CAIN A,12 TLO LINK,SCEND RDWR2: MOVE T,A TLNE LINK,RDRPTF POPJ P, RDWR2A: HRL A,PUTCNT HRR A,RDWRDP HLLM A,-1(A) STPWR: MOVEI A,375 PUTREL: MOVE CH1,FREEPT IDIVI CH1,4 DPB A,PTAB(CH2) AOS A,FREEPT AOS PUTCNT CAIGE A,+*4 POPJ P, MOVEM A,GCHI GC: MOVEM 17,GCSV+15 MOVE 17,[(2)GCSV] BLT 17,GCSV+14 CLEARB T,GCENDF MOVEI A,3 MOVEM A,REDPT MOVEM A,FREEPT MOVE A,[(141000)MACTAB] MOVEM A,FREPTB MOVEM A,REDPTB SYMMG: MOVE A,SYMP HRRZ B,1(A) CAIN B,MACCL JRST SYMMG1 SYMMG2: ADDI A,2 AOBJN A,SYMMG+1 MOVEM T,SYMSTR MSTG: MOVE C,REDPT MOVE TT,FREEPT MOVEM TT,FREPTS MOVE TT,FREPTB MOVEM TT,FRPTBS PUSHJ P,RDTRNS MOVE TT,B MSTG1: CAML LINK,GCHI JRST GCEND CAIN B,375 JRST MSTG2 MSTG1B: PUSHJ P,RDTRNS JRST MSTG1 ADDTR1: CLEARM PUTCNT ADDTRN: MOVE A,FREEPT ADDTR2: MOVEM A,@RDWRDP AOS A,RDWRDP CAIL A,DSTG+DSSIZ (SIXBIT /TMA/) CRDWR7: POPJ P,RDWR7 RDWR6: SOS RDWRDP PUSH P,LINK PUSHJ P,AGETFD POP P,LINK MOVE CH1,A PUSHJ P,ADDTR1 PUSH P,CRDWR7 RDWR6A: LSHC CH1,-35. LSH CH2,-1 DIVI CH1,@CRADIX HRLM CH2,(P) JUMPE CH1,.+2 PUSHJ P,RDWR6A HLRZ A,(P) ADDI A,60 JRST PUTREL RDWR1: TDZA C,C RDWR1A: PUSHJ P,PUTREL PUSHJ P,RCHCNT JRST RDWR1A TLNE LINK,RDRPTF JRST RDWR2 RDWR2B: PUSHJ P,RCH TLO FF,UNRCHF CAIE A,15 CAIN A,12 TLO LINK,SCEND+LCRIND JRST RDWR2 PUT1: IDIVI CH1,4 DPB A,PTAB(CH2) POPJ P, RDTRNS: ILDB B,REDPTB IDPB B,FREPTB AOS LINK,REDPT AOS A,FREEPT CAILE A,*4-10 (SIXBIT /MCE/) POPJ P, SYMMG1: HRRM T,1(A) MOVEI T,1(A) JRST SYMMG2 GCEND: SETOM GCENDF MSTG2: CLEARM SVF MOVE D,REDPT SUB D,FREEPT MOVEM D,COFST MOVE B,REDPT CAIE TT,374 JRST MSTG3 ;NOT A MACRO MOVE T,SYMSTR JUMPE T,MSTG3 MSTG5: HLRZ TT,(T) CAML TT,C CAML TT,B JRST MSTG4 SETOM SVF SUB TT,COFST HRLM TT,(T) MSTG4: HRRZ T,(T) JUMPN T,MSTG5 MSTG3: MOVE T,TOPP MOVEI CH1,DMYAGT PUSHJ P,MSCN HRRZ T,MACP HRROI CH1,MACPDL PUSHJ P,MSCN HRRZ T,PRCALP AOS T MOVEI CH1,PRSTG PUSHJ P,MSCN HRRZ T,RDWRDP MOVEI CH1,DSTG PUSHJ P,MSCN MSTG13: SKIPGE GCENDF JRST GCEND1 MOVE TT,FREPTS SKIPL SVF MOVEM TT,FREEPT MOVE TT,FRPTBS SKIPL SVF MOVEM TT,FREPTB JRST MSTG GCEND1: USYMG: MOVE T,SYMSTR MOVEI A,MACCL JUMPE T,USYMG1 HRRZ TT,(T) HRRM A,(T) MOVE T,TT JRST USYMG+2 USYMG1: MOVS 17,[(2)GCSV] BLT 17,17 POPJ P, MSCN: CAIG T,(CH1) POPJ P, HRRZ TT,-1(T) CAML TT,C CAML TT,B JRST MSCN1 SUB TT,COFST HRRM TT,-1(T) SETOM SVF MSCN1: SKIPGE CH1 SOS T SOJA T,MSCN MACCL: MOVSI 17,-14 PUSH P,2(17) AOBJN 17,.-1 AOS PRCALP AOS MDEPTH PUSH P,RDWRDP MOVEI LINK,0 HLRZ A,B PUSHJ P,REDINC CAIE B,374 (SIXBIT /IAE/) PUSHJ P,REDINC SKIPN B TLO FF,UNRCHF ;SAVE CHR FOLLOWING MACRO W/NO ARGUEMENTS MOVEM A,@PRCALP MOVE A,LIMBO1 CAIE A,15 CAIN A,12 JRST MAC2A JUMPE B,MAC4 TRZE B,200 TLO LINK,LNSCN MAC3: PUSH P,B TLNE LINK,LNSCN SOJE B,MAC3A MAC3B: PUSHJ P,RDWRDA POP P,B TLNE LINK,SCEND SOJA B,MAC2 SOJG B,MAC3 MAC4: MOVE A,@PRCALP MAC1: PUSHJ P,REDINC MOVEM A,@PRCALP JUMPE B,MAC1A MAC5: PUSH P,B TLNE LINK,SCEND PUSHJ P,GENSYM TLNN LINK,SCEND PUSHJ P,RDWRDA î POP P,B SOJG B,MAC5 MAC1A: MOVEI B,RCHSV1 PUSHJ P,PUSHEM MOVE A,@PRCALP MOVEM A,CPTR POP P,A PUSHJ P,DMYTRN SOS PRCALP MACC2: MOVSI 17,-13(P) HRRI 17,2 BLT 17,15 MACC1: SUB P,[(14)14] MACCR: POP P,A HRRZS A CAIN A,GETFD6 JRST GETFD1 CAIN A,MNLP2 JRST MNLUP CAIN A,AGSYL2 JRST AGSYL (SIXBIT /IAE/) MAC2A: TLO LINK,SCEND TRZ B,200 MAC2: SOJL B,MAC4 MOVEI A,0 PUSHJ P,ADDTR2 JRST MAC2 MAC3A: TLO LINK,ALNSCN+400000 JRST MAC3B GENSYM: PUSHJ P,ADDTR1 MOVEI TT,5 MOVEI A,"G PUSHJ P,PUTREL PUSH P,[RDWR2A] AOS A,GENSM IDIVI A,10 HRLM B,(P) SOSLE TT PUSHJ P,.-3 HLRZ A,(P) ADDI A,60 JRST PUTREL DMYTRN: MOVE B,TOPP MOVEM B,BBASE PUSH P,A DMYTR2: CAML A,RDWRDP JRST DMYTR1 MOVE B,(A) MOVEM B,@TOPP AOS B,TOPP CAIL B,TOPPP (SIXBIT /TMD/) AOJA A,DMYTR2 DMYTR1: POP P,RDWRDP POPJ P, A.GSYL: TRO I,GRMF TRZ I,SYL+LET+PERI+SF JRST GSYL1 GETSYL: TROA I,SF GSYL: TRZ I,SF GSYL1: TRZ I,SYL+LET+PERI+GRMF CLEARB SYM,DNUM CLEARM OCNUM MOVE CH1,[440600,,SYM] MOVE T,[(441000)STRSTO] MOVEM T,STRPNT MOVEI D,6 CLEARB SYM,STRCNT GSYL3: TRNE I,GRMF JRST GSYL2 PUSH P,CH1 PUSHJ P,RCH POP P,CH1 TRNN I,SF JRST GSYL2C MOVE B,STRCNT CAIN A,14 JUMPE B,GSYL2B CAIE A,12 CAIN A,15 JUMPE B,GSYL2B GSYL2C: IDPB A,STRPNT AOSA STRCNT GSYL2A: MOVEM A,LIMBO1 GSYL2B: CAIN A,177 JRST GSYL1 CAIE A,"! JRST .+3 TRNE I,SF JRST GSYL3 CAIL A,"A CAILE A,"Z CAIN A,"% JRST GLET CAIN A,". JRST GPT CAIN A,"$ JRST GLET CAIL A,"0 CAILE A,"9 JRST GDLIM MOVEI C,-"0(A) MOVEI B,10. IMULM B,DNUM ADDM C,DNUM MOVE B,OCNUM MUL B,CRADIX ADDI C,-"0(A) LSH C,1 LSHC B,-1 MOVEM C,OCNUM TROA I,SYL GLET: TRO I,LET+SYL SUBI A,40 IDPB A,CH1 JRST GSYL3 GSYL2: ILDB A,A.GST3 TRZN A,200 JRST GSYL2A CAIG A,100 JRST GSYL2 HRROI T,(A) POPJ P, GPT: TRO I,PERI JUMPE SYM,GLET JRST GLET-1 GDLIM: MOVE T,LIMBO1 TRNN I,SF JRST GDLIM3 PUSH P,SYM MOVEI SYM,-40(T) LSH SYM,30. PUSHJ P,ES JRST GDLM1 SKIPN (P) JRST GDLM2 SOS STRCNT TLO FF,UNRCHF MOVEI T,"! GDLM1: POP P,SYM GDLIM3: MOVEI A,0 TRNE I,SYL TRNE I,LET C%: POPJ P,"% MOVE A,OCNUM TRNE I,PERI MOVE A,DNUM POPJ P, GDLM2: MOVEI A,"! MOVEM A,LIMBO1 SUB P,[1,,1] TRO I,SYL+LET POPJ P, ARADIX: PUSH P,I PUSHJ P,AGETFD POP P,I MOVEM A,CRADIX TRZ I,SYL POPJ P, CRADIX: 12 STRTYP: PUSHJ P,REDINC ;DEBUGGING AID ONLY EXCH A,B TRZE A,200 JRST STRTP1 STRTP2: PUSHJ P,TYO MOVE A,B JRST STRTYP STRTP1: PUSH P,A MOVEI A,"* PUSHJ P,TYO POP P,A TRNE A,100 JRST STRTP3 ADDI A,260 JRST STRTP2 STRTP3: CAIN A,175 SKIPA A,C% MOVEI A,"/ JRST STRTP2 WRTSS1: SKIPA TT,[TYO] WRTSS: MOVEI TT,PUTREL MOVE T,[(441000)STRSTO] MOVE B,STRCNT SOJL B,CPOPJ ILDB A,T PUSHJ P,(TT) JRST .-3 ADEFINE: MOVEI A,DMYDEF MOVEM A,DMYTOP PUSHJ P,GETSYL JUMPE SYM,.-1 MOVEM SYM,MACNM MOVE A,FREEPT MOVEM A,PRDEF CLEARB LINK,B MOVEI A,374 PUSHJ P,PUTREL MOVE T,LIMBO1 DEFNC: CAIE T,12 CAIN T,15 JRST DEFNA CAIN T,"\ JRST DEFNB CAIN T,"/ JRST DEFNE DEFND: PUSHJ P,PDEF JUMPE SYM,DEFNC AOJA B,DEFNC DEFNE: TRO B,200 DEFNB: MOVE A,B PUSHJ P,PUTREL MOVEI B,0 TRO LINK,GENF JRST DEFND DEFNA: MOVE A,B PUSHJ P,PUTREL MOVEI A,0 TRNN LINK,GENF PUSHJ P,PUTREL PUSHJ P,RCH CAIE A,12 TLO FF,UNRCHF PUSHJ P,WRQOTE PUSHJ P,STPWR MOVE SYM,MACNM MOVEI B,MACCL HRL B,PRDEF CLEARM PRDEF PUSHJ P,VSM JRST ASSEM1 PDEF: PUSH P,B PUSHJ P,GSYL POP P,B CAIE T,", JUMPE SYM,CPOPJ MOVEM SYM,@DMYTOP AOS A,DMYTOP CAIL A,DMYDEF+DMDEFL (SIXBIT /TMD/) CPOPJ: POPJ P, WRQOTE: CLEARM DCNT PUSHJ P,GSYL PUSHJ P,ES MOVEI B,0 HRRZS B CAIN B,A.QUOTE JRST A.QOT1 WRQOT4: JUMPE SYM,WRQOT1 MOVEI A,DMYDEF CAML A,DMYTOP JRST WRQOT2 CAME SYM,(A) AOJA A,.-3 SUBI A,DMYDEF PUSH P,A ;FLUSH !'S WHEN THEY DO WORK MOVE A,FREEPT SOS A PUSHJ P,REDINC CAIE B,"! JRST WRQOT5 SOS FREEPT SOS PUTCNT WRQOT5: POP P,A TRO A,200 PUSHJ P,PUTREL MOVE A,T CAIE A,"! PUSHJ P,PUTREL JRST WRQOTE+1 WRQOT2: CAIE B,ADEFINE CAIN B,AIRP AOS DCNT CAIN B,ATERMIN SOSL DCNT JRST WRQOT1 POPJ P, ATERMIN: JRST ASSEM1 A.QUOTE: JRST ASSEM1 WRQOT1: PUSHJ P,WRTSS JRST WRQOTE+1 A.QOT1: MOVE A,LIMBO1 CAIN A,40 PUSHJ P,RCH MOVEM A,A.QOT2 A.QOT3: PUSHJ P,RCH CAMN A,A.QOT2 JRST WRQOTE+1 PUSHJ P,PUTREL JRST A.QOT3 AREPEAT: MOVE A,FREEPT MOVEM A,PRREPT MOVEI A,373 PUSHJ P,PUTREL PUSHJ P,AGETFD SKIPGE A MOVEI A,0 PUSH P,A MOVSI LINK,400000+RDRPTF PUSHJ P,RDWRDA+1 MOVEI A,15 CAIE T,"] PUSHJ P,PUTREL PUSHJ P,STPWR POP P,B PUSHJ P,PUSHEM MOVEI B,REPT1 PUSHJ P,PUSHEM MOVE A,PRREPT CLEARM PRREPT MOVE B,MACP HRRM A,-1(B) HRRZ A,CRPTCT HRLM A,-1(B) SETOM CRPTCT CLEARM CPTR JRST MACCR A.RPCNT: MOVE A,CRPTCT POPJ P, REPT1: PUSH P,A PUSH P,C HRRZ A,(B) MOVEM A,REPTTM PUSHJ P,REDINC CAIE B,373 (SIXBIT /IAE/) HRRZ C,MACP HRRZ B,-2(C) SOJL B,REPT2 AOS CRPTCT MOVEM A,CPTR HRRM B,-2(C) REPT3: POP P,C POP P,A JRST REPT6 A.STOP: HRRZ A,MACP JUMPL B,A.STP1 HRRZ B,(A) CAIN B,AIRP4 HRRZS -1(A) A.STP1: CLEARM CPTR JRST ASSEM1 REPTTM: 0 REPT2: MOVE B,REPTTM MOVE A,CPTR SKIPL CRPTCT CAMN A,FREEPT MOVEM B,FREEPT MOVE A,[(,-3),-2] ADDB A,MACP HLRZ A,1(A) MOVEM A,CRPTCT REPT4: PUSHJ P,POPEM JRST REPT3 AGETFD: TLO I,AR PUSHJ P,GETFLD TRNN I,FLD JRST .-2 TLZ I,AR POPJ P, COND: HRRI B,COND2 PUSH P,B PUSHJ P,AGETFD POP P,T XCT T ;JUMP IF COND T,ASSEMBLE STRING COND4: PUSHJ P,RCH CAIN A,"[ JRST COND3 TLO FF,UNRCHF ANULL: PUSHJ P,RCH CAIE A,15 JRST .-2 JRST ANULL1 COND3: MOVEI C,0 PUSHJ P,RCHCNT JRST .-1 JRST MACCR COND2: PUSHJ P,RCH CAIE A,"[ ANULL1: TLO FF,UNRCHF JRST MACCR SCOND: MOVE A,FREEPT MOVEM A,PRSCND MOVEM A,PRSCN1 HRRI B,SCONDF MOVEM B,SCINST MOVEI LINK,0 PUSHJ P,RDWRDA+1 SETOB C,SCONDF PUSHJ P,RCH CAIN A,"[ MOVEI C,0 SKIPN C SCND2A: PUSHJ P,RCH SCOND2: JUMPGE C,SCOND1 CAIN A,", JRST SCOND3 SCOND6: EXCH A,PRSCND PUSHJ P,REDINC EXCH A,PRSCND CAMN B,A JRST SCND2A SCOND4: CLEARM SCONDF PUSHJ P,RCH JUMPGE C,SCOND7 CAIE A,", JRST SCOND4+1 SCOND3: CLEARB A,C EXCH C,PRSCN1 MOVEM C,FREEPT EXCH A,PRSCND PUSHJ P,REDINC CAIE B,375 CLEARM SCONDF XCT SCINST JRST COND4 JRST COND2 SCOND1: PUSHJ P,QSCNT JRST SCOND6 JRST SCOND3 SCOND7: PUSHJ P,QSCNT JRST SCOND4+1 JRST SCOND3 RCHCNT: PUSHJ P,RCH QSCNT: CAIN A,"[ AOS C CAIN A,"] SOJL C,POPJ1 POPJ P, AIRP: MOVSI 17,-14 PUSH P,2(17) AOBJN 17,.-1 PUSH P,RDWRDP HLLZM B,AIRPT CLEARB LINK,IRPCR MOVEI A,DMYDEF MOVEM A,DMYTOP AIRP1: PUSHJ P,PDEF CAIE T,", JUMPE SYM,AIRP2 PUSHJ P,PDEF MOVEI A,377 MOVSI TT,200000 TDNE TT,AIRPT PUSHJ P,PUTREL AIRPS6: PUSHJ P,ADDTRN MOVEI A,377 PUSHJ P,PUTREL PUSHJ P,RDWRDA MOVE A,RDWRDP SOS -1(A) MOVSI TT,200000 TDNE TT,AIRPT SOS -1(A) AOS IRPCR TLNN LINK,SCEND JRST AIRP1 TLNE LINK,LCRIND TLZ FF,UNRCHF ;FLUSH CR AIRP2: MOVE A,FREEPT MOVEM A,PRIRP PUSHJ P,RCH CAIE A,12 TLO FF,UNRCHF PUSHJ P,WRQOTE PUSHJ P,STPWR PUSHJ P,PUSHEM POP P,A PUSH P,TOPP PUSHJ P,DMYTRN MOVE B,MACP MOVS A,IRPCR HRR A,PRIRP IOR A,AIRPT PUSH B,A POP P,A HRLS A HRRI A,AIRP4 PUSH B,A MOVEM B,MACP CLEARM CPTR JRST MACC2 AIRP4: PUSH P,A PUSH P,C PUSH P,T PUSH P,TT HRRZ A,(B) MOVEM A,CPTR SETOM AIRPT TRNE I,MRSW JRST AIRP9 HLRZ T,1(B) LDB C,[(220600+B)] JUMPE C,AIRP9 SKIPGE TT,(B) JRST AAIRPC AIRP6: SETOM AIRPT1 HRRZ A,(T) AIRP6A: PUSHJ P,REDINC CAIN B,375 JRST AIRP10 CAIE B,377 JRST AIRP6A SETOM AIRPT2 AIRP7E: MOVEM A,(T) AIRP7: PUSHJ P,REDINC CAIN B,375 JRST AIRP5 TLNE TT,200000 JRST AIRPS2 CLEARM AIRPT CAIN B,"[ AOSE AIRPT2 JRST AIRP7A AIRP7C: MOVEI B,376 DPB B,PTAB(CH2) JRST AIRP7 AIRP7A: SKIPL AIRPT2 CAIE B,"] JRST AIRP7B SOSGE AIRPT2 JRST AIRP7C AIRP7B: CAIN B,15 JRST AIRP7D CAIE B,12 CAIN B,", SKIPL AIRPT2 JRST AIRP7 AIRPS1: MOVEI CH1,-1(A) IDIVI CH1,4 MOVEI B,377 DPB B,PTAB(CH2) TLNN TT,200000 MOVEM A,1(T) AIRP8: ADDI T,2 SOJG C,AIRP6 AIRP9: POP P,TT POP P,T SKIPL AIRPT JRST REPT3 MOVE A,[-3,,-2] ADDM A,MACP POP P,C POP P,A JRST RCHSAV BCHAR: 0 APRINT: MOVE A,LIMBO1 CAIN A,40 PUSHJ P,RCH MOVEM A,BCHAR PLUP: PUSHJ P,RCH CAMN A,BCHAR JRST ASSEM1 CAIE A,"! PUSHJ P,TYO JRST PLUP AIRPS2: CAIL B,101 CAILE B,132 JRST AIRPS3 AIRPS4: CLEARM AIRPT CLEARM AIRPT1 JRST AIRP7 AIRPS3: CAIG B,71 CAIGE B,60 CAIN B,"$ JRST AIRPS4 CAIE B,"% CAIN B,". JRST AIRPS4 CAIN B,"! JRST AIRPS4 SKIPGE AIRPT1 JRST AIRP7E HRRZ CH1,1(T) IDIVI CH1,4 DPB B,PTAB(CH2) JRST AIRPS1 AIRP7D: SKIPL AIRPT2 JRST AIRP7 JRST AIRP7C AIRP10: CLEARM (T) AIRP5: CLEARM 1(T) JRST AIRP8 AAIRPC: MOVE A,(T) PUSHJ P,REDINC CAIN B,375 JRST AIRPC3 CAIE B,377 JRST AAIRPC+1 MOVEM A,1(T) PUSHJ P,REDINC CAIN B,375 JRST AIRPC3 CLEARM AIRPT MOVEI CH1,-2(A) MOVEM CH1,(T) IDIVI CH1,4 DPB B,PTAB(CH2) MOVEI B,377 DPB B,PTAB+1(CH2) AOS 1(T) ADDI T,2 AIRPC2: SOJG C,AAIRPC JRST AIRP9 AIRPC3: CLEARM (T) AIRPC1: CLEARM 1(T) JRST AIRPC2-1 AASCII: SKIPA T,[440700,,D] ASIXBIT: MOVE T,[440600,,D] MOVEI D,0 MOVE A,LIMBO1 CAIN A,40 PUSHJ P,RCH MOVEM A,C ACHR3: PUSHJ P,RCH CAMN A,C JRST ACHR1 TLNN T,100 SUBI A,40 IDPB A,T TLNE T,760000 JRST ACHR3 PUSHJ P,RCH CAME A,C JRST .-2 ACHR1: MOVE A,D VALRET: PUSH P,A PUSHJ P,RCH MOVE T,A JRST POPAJ MRSW=1000 A.GST: ;POPJ IF END OF STRING PUSHJ P,BCOMPA ;CONVERT A TO BYTE POINTER MOVEM CH2,A.GST3 A.GST1: ILDB B,A.GST3 CAIL B,300 POPJ P, CAIE B,". JRST A.GST1 PUSHJ P,A.GSYL JUMPL T,CPOPJ CAME SYM,[SIXBIT /TAG/] JRST A.GST1 PUSHJ P,A.GSYL JUMPL T,CPOPJ CAME SYM,A.GST4 JRST A.GST1 MOVE CH2,A.GST3 PUSHJ P,CCOMP ;CONVERT BACK JRST POPJ1 AG.SP: LSHC A,-2 ;LOOK BACKWARD FOR STRING BEG PNTR IN A LDB CH1,[420200,,B] MOVE B,MACTAB(A) IMULI CH1,-2 XOR B,[300_28.+300_20.+300_12.+300_4] JRST AG.SP2(CH1) AG.SP3: MOVE B,MACTAB(A) XOR B,[300_28.+300_20.+300_12.+300_4] TRNN B,300_4 JSP CH1,AG.SF TLNN B,3 JSP CH1,AG.SF TLNN B,300_2 JSP CH1,AG.SF AG.SP2: TLNN B,300_10. JSP CH1,AG.SF AG.SP1: SOJA A,AG.SP3 AG.SF: MOVNI CH1,(CH1) ADDI CH1,AG.SP1 LSH CH1,-1 LSH A,2 ADDI A,(CH1) HRRZS A POPJ P, A.GST4: 0 A.GST3: 0 CCOMP: TDZA A,A CCOMP1: IBP CH2 TLNE CH2,700000 SOJA A,CCOMP1 SUBI CH2,MACTAB LSH CH2,2 ADDI A,4(CH2) POPJ P, BCOMPA: SKIPE CH1,A SOS CH1 IDIVI CH1,4 MOVE CH2,PTAB(CH2) ADD CH2,CH1 TLZ CH2,17 POPJ P, A.TAG: PUSHJ P,GSYL JRST ASSEM1 A.GO: PUSHJ P,GSYL MOVEM SYM,A.GST4 A.GO1: TRNN FF,MACRCH JRST ASSEM1 MOVE A,CPTR PUSHJ P,AG.SP PUSHJ P,REDINC CAIN B,374 ;MACRO ADDI A,2 PUSHJ P,A.GST JRST A.GO2 MOVEM A,CPTR JRST ASSEM1 A.GO2: PUSHJ P,PMACP JRST A.GO1 PMACP: MOVE B,MACP ;POP MACRO PDL HRRZ A,(B) SUB B,[1,,1] CAIN A,AIRP4 JRST A.GO6 CAIN A,REPT1 JRST A.GO4 CAIE A,RCHSV1 ;MACRO CAIN A,RCHSAV ;ARG JRST A.GO6 (SIXBIT /UCP/) A.GO4: HRRZS -2(B) A.GO6: TRO I,MRSW JRST (A)