PASSEM CSY/ A01 P€1_%NAM ASSEM_(DECK-ID A01 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1*_'PROGRAM BASE-MACRO ASSEMBLER 2.0_4**MSOS 4.0_^1_(ENT_%ASSEM_^1_)ENT_"ASSIM_^1_%COM FST,L,P,X,C,MM,ILSECT,SRSCT,ILSCND_0MSOS4.1_^1_%COM ERC_OMSOS4.1_^1_%COM LGSECT_^1_%COM SYRFT€€S(96)_"SECTOR REF.TABLE SYMBOLS_,MSOS4.1_^1_%COM SYCADM_'ADDR TO SECT.REF.TABLE SYMBOLS_%MSOS4.1_^1_%COM SYEXT_MMSOS4.1_^1_%COM SYINDM_LMSOS4.1_^1_%COM SYTRFM_'ENTRY ADDR.REF.TABLE SYMBOLS_(MSOS4.1_^1_%COM SYTRFD_'1ST ADDR REF.TABLE SYMBOLS-DISK_$MSOS4.1_^1_%COM APASS1,APASS2,APASS3,ATBLST,AXREF,PAGE_,MSOS4.1_^1_%COM PS1W2,PS2W2,PS3W2,PS4W2,PS5W2_5MSOS4.1_^1DISP_!EQU DISP($€€EA)_^1PS_#EQU PS(-0)_'TO READ IN PASS 1._^1REQPRO EQU REQPRO($F4)_^1STDOCD EQU STDOCD($FC)_^1ASSEM_"ENQ_!PS_^1ASSIM EQU ASSIM(ASSEM)_^1_(SQP_!MA1-*-1_^1_(ENA_!0_^1_(STA_!FST_^1_%ENQ 4_QMSOS4.1_^1_%STA APASS1,Q_JMSOS4.1_^1_%STA PS1W2,Q_KMSOS4.1_^1_%SQZ 2_QMSOS4.1_^1_%INQ -1_PMSOS4.1_^1_%JMP* *-6_OMSOS4.1_^1MA1_$LDA_%=XPS1ALF-FILE-1_;**MSOS 4.0_^1_(JMP* *+1,Q_^1_(INA_!-3_^€€1_(INA_!-3_^1_(INA_!-3_^1_%INA -3_PMSOS4.1_^1_%INA 12_PMSOS4.1_^1GETFIL_!STA* FILE+8_^1_(ENA_!0_^1_(STA* FILE1_^1*_81 CARD DELETED_6MSOS4.1_^1_(STA* CSWW_^1_%ENQ PS_PMSOS4.1_^1_%LDA APASS1_LMSOS4.1_^1_%STA* FILE2_MMSOS4.1_^1_%LDA PS1W2_MMSOS4.1_^1_%STA* FILE+7_LMSOS4.1_^1FILE_!RTJ- (REQPRO)_$GTFILE REQUEST._^1_(NUM_%$5A00_E**MSOS 4.0_^1_(ADC_!COO_^1_(ADC_!0_^1_(ADC_!$8C2_^1€€_(ADC_!0_^1_(ADC_!ASSEM_^1_(ADC_!0_^1_(ADC_!0_^1FILE1_"ADC_!0_^1FILE2_"ADC_!0_^1_(LDA* CSWW_^1_(SAN_!1_^1_(JMP* *-2_^1_%ENQ 0_QMSOS4.1_^1_%LDA* FILE2_MMSOS4.1_^1_%STA APASS1-1,Q_HMSOS4.1_^1_%LDA* FILE+7_LMSOS4.1_^1_%STA PS1W2-1,Q_IMSOS4.1_^1_(RTJ* *+1_^1ASSEM1_!ADC_!0_^1_(LDA* ASSEM1_^1_(SUB* ASMADC_^1_(SAN_!1_^1_(JMP* ENDASB_^1_%LDA* ASSEM1_'SET STARTING ADDRESS IN REQUES€€T_'68*1500_^1_%INA APUNT1_'ABSOLUTE ADDRESS OF PUNT1_-68*1500_^1_%STA* APUNT_O68*1500_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(ADC_%$4C00_E**MSOS 4.0_^1_(ADC_!0_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_!6_^1APUNT ADC_#0_P68*1500_^1_%JMP- (DISP)_'EXIT_^1PUNT1_"ALF_!6,ABS BASE ERR_^1APUNT1 EQU APUNT1(PUNT1-ASSEM1)_@68*1500_^1ASMADC_!ADC_!ASSEM1_^1_(BZS_!CSWW_^1COO_$ENA_€æ!1_^1_(STA* CSWW_^1_%JMP- (DISP)_'EXIT_^1PS1ALF_!ALF_!3,PASS1_^1PS2ALF_!ALF_!3,PASS2_^1PS3ALF_!ALF_!3,PASS3_^1PS4ALF_!ALF_%3,TABLST_B**MSOS 4.0_^1PS5ALF ALF 3,XREF_LMSOS4.1_^1MA5_$ADC_!0_^1_(EQU_!ENDASB(MA5+1)_^1_(END_!ASSEM_^__æPPASS1 CSY/ A02 P€1_%NAM PASS1_(DECK-ID A02 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1*_'PROGRAM BASE-MACRO ASSEMBLER 2.0_4**MSOS 4.0_^1_(ENT_%PASS1_^1PS_#EQU PS(1)_(TO READ IN PASS 2._^1REQPRO EQU REQPRO($F4)_^1STDINP EQU STDINP($F9)_^1STDPRT EQU STDPRT($FB)_^1STD€€OCD EQU STDOCD($FC)_^1DISP_!EQU DISP($EA)_^1ASSEM_"ENQ_%PS_^1_(SQP_%MA1-*-1_^1_(ENA_%0_^1_(STA_%FST_^1_%ENQ 4_QMSOS4.1_^1_%STA APASS1,Q_JMSOS4.1_^1_%STA PS1W2,Q_KMSOS4.1_^1_%SQZ 2_QMSOS4.1_^1_%INQ -1_PMSOS4.1_^1_%JMP* *-6_OMSOS4.1_^1MA1_$LDA_!=XPS1ALF-FILE-1_?**MSOS 4.0_^1_(JMP*_$*+1,Q_^1_(INA_%-3_^1_(INA_%-3_^1_(INA_%-3_^1_%INA -3_PMSOS4.1_^1_%INA 12_PMSOS4.1_^1GETFIL_!ST€€A*_$FILE+8_^1_(ENA_%0_^1_(STA*_$FILE1_^1_%STA* CSWW_NMSOS4.1_^1_%ENQ PS_PMSOS4.1_^1_%LDA APASS1,Q_JMSOS4.1_^1_(STA*_$FILE2_^1_%LDA PS1W2,Q_KMSOS4.1_^1_%STA* FILE+7_LMSOS4.1_^1FILE_!RTJ- (REQPRO)_$GTFILE REQUEST._^1_(NUM_!$5A00_I**MSOS 4.0_^1_(ADC_%COO_^1_(ADC_%0_^1_(ADC_%$8C2_^1_(ADC_%0_^1_(ADC_%ASSEM_^1_(ADC_%0_^1_(ADC_%0_^1FILE1_"ADC_%0_^1FILE2_"ADC_%0_^1_(LDA*_$CSWW_^1_(SAN_%€€1_^1_(JMP*_$*-2_^1_%ENQ PS_PMSOS4.1_^1_%LDA* FILE2_MMSOS4.1_^1_%STA APASS1-1,Q_HMSOS4.1_^1_%LDA* FILE+7_LMSOS4.1_^1_%STA PS1W2-1,Q_IMSOS4.1_^1_(RTJ*_$*+1_^1ASSEM1_!ADC_%0_^1_(LDA*_$ASSEM1_^1_(SUB*_$ASMADC_^1_(SAN_%1_^1_(JMP*_$ENDASB_^1_%LDA* ASSEM1_'SET STARTING ADDRESS IN REQUEST_'68*1500_^1_%INA APUNT1_'ABSOLUTE ADDRESS OF PUNT1_-68*1500_^1_%STA* APUNT_O68*1500_^1_%RTJ- (REQP€€RO)_$FWRITE REQUEST._^1_(ADC_!$4C00_I**MSOS 4.0_^1_(ADC_%0_^1_(ADC_%0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_%6_^1APUNT ADC_#0_P68*1500_^1_%JMP- (DISP)_'EXIT_^1PUNT1_"ALF_%6,ABS BASE ERR_^1APUNT1 EQU APUNT1(PUNT1-ASSEM1)_@68*1500_^1ASMADC_!ADC_%ASSEM1_^1_(BZS_%CSWW_^1COO_$ENA_%1_^1_(STA*_$CSWW_^1_%JMP- (DISP)_'EXIT_^1PS1ALF_!ALF_%3,PASS1_^1PS2ALF_!ALF_%3,PASS2_^1PS3ALF_!ALF_%€€3,PASS3_^1PS4ALF_!ALF 3,TABLST_G**MSOS 4.0_^1PS5ALF ALF 3,XREF_LMSOS4.1_^1MA5_$ADC_%0_^1_(EQU_%ENDASB(MA5+1)_^1_(COM_%DIRBUF(96),INBUF(96),SKLBUF(96)_^1_(COM_%PTBL(96),INSKBF(96)_^1_(COM_%INBUF1(41)_^1_(EQU_%ACTBL(SKLBUF),ACTBL2(PTBL)_^1_(EQU_%INPADR(1),SKLADR(INPADR+1)_^1_(EQU_%CRPADR(SKLADR+1),ACADR(CRPADR+1)_^1_(EQU_%BUFFSW(ACADR+1),SKBFSW(BUFFSW+1)_^1_(EQU_%CS(SKBFSW+1),IG(CS€€+1),NOPG(IG+1)_^1_(EQU_%MSW1(NOPG+1),MSW2(MSW1+1)_^1_(EQU_%CT(MSW2+1),LOCSW(CT+1),NU(LOCSW+1)_^1_(EQU_%NC(NU+1),PM(NC+1),NL(PM+1)_^1_(EQU_%AF(NL+1),CHST(AF+1),LOCTOT(CHST+1)_^1_(EQU_%LN(LOCTOT+1),CSW(LN+1),DC(CSW+1)_^1_%EQU SKELOC(DC+1),DIRINX(SKELOC+1)_545*776_^1_(EQU_%FPRINX(DIRINX+1)_^1_(EQU_%CM(FPRINX+1),CM1(CM+1),AP(CM1+1)_^1_(EQU_%PGSECT(AP+1),PGSCST(PGSECT+1)_^1_(EQU_%ILSEC€€T(PGSCST+1),SKSCST(ILSECT+1)_^1_(EQU_%ACSECT(SKSCST+1)_^1_(EQU_%SY(ACSECT+1),XMOD(SY+4)_^1_%EQU T1(XMOD+1),TP1(T1+6)_^1_(EQU_%SQ(TP1+3)_#5 LONG_^1_(EQU_%NULSW(SQ+5)_^1_(EQU_%ACC(NULSW+1)_^1_(EQU_%FSTM(ACC+1)_^1_(EQU_%RCS(FSTM+1)_!MUST BE LAST_^1_(COM_%CONS(RCS+1)_^1_%COM FST,L,P,X,C,MM,ILSEC1,SRSCST,ILSCND_/MSOS4.1_^1_(COM_%ERC_^1_%COM LGSECT_^1_%COM SYRFTS(96)_"SECTOR.REF.TABL€€E SYMBOLS_,MSOS4.1_^1_%COM SYCADM_'ADDR.TO SECT.REF.TABLE SYMBOLS_%MSOS4.1_^1_%COM SYEXT_MMSOS4.1_^1_%COM SYINDM_LMSOS4.1_^1_%COM SYTRFM_'ENTRY ADDR.REF.TBL.SYMBOLS_*MSOS4.1_^1_%COM SYTRFD_'1ST ADDR.REF.TBL.SYMBOLS-DISK_'MSOS4.1_^1_%COM APASS1,APASS2,APASS3,ATBLST,AXREF,PAGE_,MSOS4.1_^1_%COM PS1W2,PS2W2,PS3W2,PS4W2,PS5W2_5MSOS4.1_^1_%EXT MAXSEC_LMSOS4.1_^1_(EXT_%GTFIL,GFL1,€€1_^1_%LDA FST_OMSOS4.1_^1_(SAZ_%1_^1_(JMP*_$ST1_^1_%LDA MAXSEC_LMSOS4.1_^1STILSC STA+ LGSECT_^1_(LDA-_$$B3_^1_(SUB-_$$C2_^1_(SAN_%4_^1_(LDA*_$(STILSC+1)_*SCRATCH ON LIBRARY UNIT_^1_(SUB-_$$C1_^1_(INA_%-2_^1_(STA*_$(STILSC+1)_^1_(LDA_%=N751_/ROOM FOR LOAD AND GO_^1_%STA SYTRFD_'1ST SECTOR ADDR._4MSOS4.1_^1_%STA SYCADM_'CURRENT SECT.ADDR._2MSOS4.1_^1_%ADD =N160_(LENGTH OF SCRATC€€,I_$PROG MAC DIR START_^1_%INA 20_+LEAVE ROOM FOR IL SECTORS._^1_(STA-_$SKSCST,I_,SKEL SECT START_^1_%LDA* (ST2+1) SRSCST_^1_%INA 1_^1_%STA+ ILSEC1_^1_(STA-_$ILSECT,I_^1STIL1_"ENA_%-1_^1_(STA-_$DIRINX,I_,INIT DIR INDEX_^1_(LDA_%=N$5555_^1_(STA-_$BUFFSW,I_^1_(STA-_$SKBFSW,I_^1_(LDA_%=XACTBL_^1_(STA-_$ACADR,I_^1_(STA_!MCCON_I**MSOS 4.0_^1_(LDA- INPADR,I_F**MSOS 4.0_^1_(STA* P1J_€€K**MSOS 4.0_^1_(STA_!P1K_K**MSOS 4.0_^1_(STA_!INCON_I**MSOS 4.0_^1_(STA_!MC7A_J**MSOS 4.0_^1_(RTJ_%MINZRO_^1_(ENA_%$30_^1_(ENQ_%4_^1_(STA-_$SQ,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$*-3_^1P1D_$RTJ*_$(CONAB-1) READIM GET FIRST IMAGE_^1_(RTJ+_$GETOP_^1_(SAM_%P1A-*-1_-ASTERISK_^1_(SUB_%=N$35EE_-MON IMG_^1_(SAN_%P1B-*-1_^1_%JMP- (DISP)_'EXIT_^1P1B_$LDA-_$NU,I_^1_(SUB_%=N$3E14_-OPT OPCODE_^€€1_(SAN_%2_^1_(JMP_%OPT_^1P1A_$LDA+_$FST_^1_(SAN_%P1C-*-1_^1_(STA_%MM_^1_(RAO*_$(P1A+1) FST_^1_%ENQ 3_,STD OPTIONS=LPCX_3*MSOS4.1_^1_(ENA_%1_^1P1AB_#STA_%L,Q_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$P1AB_^1P1C_$LDA-_$NU,I_^1_(SUB_%=N$382D_-NAM OPCODE_^1_(SAZ_%1_^1_(JMP*_$MDEX2_^1_(ENA_%-1_2SET NAM INDEX_^1_(ENQ_%45_^1_(STA* (P1J),Q_"INPADR_=**MSOS 4.0_^1_(ENQ_%43_^1_(STA* (P1J),Q_"INPADR€€_=**MSOS 4.0_^1_(RTJ*_$(P1F+1) IL_^1_(JMP*_$MDEX+2_^1MDEX_#RTJ_%PIL_^1_(RTJ*_$(CONAB-1) READIM_^1_(RTJ*_$(P1D+2) GETOP_^1_%SAM MDEX4_^1_(SUB_%=N$3423_-MAC OPCODE_^1_%SAN MDEX3_^1_(JMP_%MACDEF_^1MDEX4 JMP* MDEX_^1MDEX3_"LDA-_$NOPG,I_^1_(SAN_%1_^1_(JMP*_$MDEX2_^1_(LDQ-_$DIRINX,I_^1_(INQ_%-5_^1MDEX3A_!LDA+_$DIRBUF,Q_,FLAG LAST DIR_^1_(TCA_%A_3ENTRY_^1_(STA*_$(MDEX3A+1),Q DIRBUF_^1_€€(LDQ-_$PGSECT,I_,OUTPUT CURRENT DIR_^1_(LDA*_$MDEX3A+1_,ADDR OF DIRBUF_^1_(RTJ_%DOUT_^1MDEX2 LDA- SKELOC,I_(PICK UP RELATIVE SECTOR ADDR._#45*776_^1_(ADD- SKSCST,I_^1MDEX1_"STA- ACSECT,I_^1_(ENA_!0_^1_(STA- DC,I_^1_(LDA- NU,I_^1_(JMP* CONAB+1_^1CONA_#LDA- MSW1,I_^1_(SAZ_!2_^1_(JMP_!MACGET_^1_(RTJ+ READIM_^1CONAB_"RTJ* (P1D+2) GETOP_^1_(LDQ- MSW2,I_'CONTINUATION SW SET_^1_€€(SQZ_!2_,NO_^1_(JMP_!MACCON_^1_(SAP_!1_^1_(JMP* CONAC_)ASTERISK_^1_(SUB_!=N$15A3_*EMC OPCODE_^1_(SAN_!CONAB1_H**MSOS 4.0_^1_(ENA_!-3_+SET CLASS + INDEX_^1_(ENQ_!43_+FOR EMC_^1_(STA* (P1J),Q_"INPADR_=**MSOS 4.0_^1_(ENA_!17_^1_(ENQ_!45_^1_(STA* (P1J),Q_"INPADR_=**MSOS 4.0_^1_(JMP_!ENDMAC_^1P1J_$NUM_!0_)ADDR. OF INPUT BUFFER_.**MSOS 4.0_^1CONAB1_!LDA- NU,I_J**MSOS 4.0_^1_(SUB_!=N$1€€5C4_*END OPCODE_^1_(SAZ_!1_^1_(JMP* P1EE_^1_(ENA_!-3_^1_(ENQ_%43 STORE CLASS + INX FOR END_^1_(STA* (P1J),Q_G**MSOS 4.0_^1_%ENA_!8_^1_(ENQ_!45_^1_(STA* (P1J),Q_G**MSOS 4.0_^1_(LDA- BUFFSW,I_^1_(SAP_!2_,BE SURE LAST IL SECT_^1_(ALS_!1_,GETS OUT_^1_(STA- BUFFSW,I_^1P1F_$RTJ+ IL_^1_(STA_!ILSCND_^1_(JMP_!ASSEM_^1P1EE_#ENQ_!0_^1_(STQ- T1,I_^1P1E_$LDA_!OPTB,Q_^1_(SAP_!2_^1_(RAO- €€ T1,I_^1_(TCA_!A_^1_(SUB- NU,I_^1_(SAZ_!CONACC-*-1_"OPCODE FOUND_^1_(INQ_!-ENDOP+OPTB_!ALL OPCODES SEARCHED_^1_(SQN_!1_^1_(JMP* P1G_^1_(INQ_!ENDOP-OPTB+1_^1_(JMP* P1E_^1CONACC_!LDA- T1,I_^1_(INA_!-7_^1_(SAM_!CONC-*-1_$MACINE OPCODE_^1_(INA_!1_,PSEUDO OPCODE_^1_(TCA_!A_,SET NEGATIVE CLASS CODE_^1_(STA- T1,I_)FOR PSEUDO OPCODE_^1_(INQ_!-OP5+OPTB_^1_(TRQ_!A_^1_(ENQ_!45_^1_(STA* €€(P1J),Q_G**MSOS 4.0_^1_(LDA- T1,I_^1_(ENQ_!43_^1_(STA* (P1J),Q_G**MSOS 4.0_^1_(JMP* CONAC_^1CONC_#INA_!1_^1_(SAN_!COND-*-1_$CLASS 1-5_^1_(INQ_!-OPC6+OPTB_^1_(LDA_!OP3,Q_(GET HEX CODE FOR INTER-REG_^1CONG_#ENQ_!44_^1_%STA* (P1J),Q_#CONS+INPADR STORE HEX CODE_***MSOS 4.0_^1_(LDA- T1,I_)STORE CLASS CODE_^1_(ENQ_!43_^1_(STA* (P1J),Q_G**MSOS 4.0_^1_(JMP* CONAC_^1COND_#ENA_!0_,CLA€€SS 1-5_^1_(LRS_!2_,DIV BY 4 BECAUSE 4 ENTRIES_^1_(ALS_!2_,FOR EACH HEX TBL WORD_^1_(STA- T1+2,I_^1_(LDA_!OP2,Q_(PICK UP HEX TBL ENTRY_^1_(LDQ- T1+2,I_'REMAINDER_^1CONF_#ALS_!4_,SHIFT UNTIL VALUE WANTED IS_^1_(INQ_!-1_+IN LOWER 4 BITS_^1_(SQM_!1_^1_(JMP* CONF_^1_(ENQ_!$F_^1_(LAQ_!A_,PUT 4 BIT HEX VALUE IN A_^1_(LDQ- T1,I_^1_(INQ_!-3_^1_(SQP_!2_,CLASS 3-5_^1_(ALS_!12_+CLASS 1-2_^€€1_(JMP* CONG_^1_(SQN_!2_^1_(ALS_!8_,CLASS 3-SHIFT HEX VALUE_^1_(JMP* CONG_^1_(INQ_!-1_^1_(SQN_!5_^1_(ENQ_!$F_+CLASS 4_^1_(ALS_!5_^1CONE_#QLS_!8_^1_(AAQ_!A_^1_(JMP* CONG_^1_(ALS_!4_,CLASS 5-Q HAS 1 HERE_^1_(JMP* CONE_^1CONAC_"RTJ* (P1F+1) IL_^1_(JMP* CONA_^1P1G_$RTJ_!RECV_^1_(LDA- PGSCST,I_^1_(STA- PGSECT,I_^1P1GG_#LDA- NOPG,I_^1_(SAN_!1_^1_(JMP* P1H_*NO PROG MACS_^1_%ENQ_€€#2_^1_%LDA-_"DC,I_^1_%SAN_#P1GH_^1P1GG1 LDA-_"SY,B_^1_%STA*_"(P1GH+1),Q_^1_%INQ_#-1_^1_%SQM_#1_^1_%JMP*_"P1GG1_^1_%JMP*_"P1GI_^1P1GH_!LDA_#MCNAM,Q_%SELF CALL IN MACRO_^1_%SUB-_"SY,B_^1_%SAN_#P1GI_)NO_^1_%INQ_#-1_^1_%SQM_#1_^1_%JMP*_"P1GH_^1_%LDA-_"DC,I_)YES_^1_%INA_#-10_*LEVEL GREATER THAN 10_^1_%SAM_#P1GI_)NO_^1_%JMP CONAC_+AND IGNORE CALL_^1P1GI_!LDA_#=XDIRBUF_^1_(LDQ- PGSECT,€€I_^1_(RAO- PGSECT,I_^1_%RAO- PGSECT,I_^1_(RTJ_!DIN_*BRING IN PROG DIR_^1_(RTJ+_$DIRSCH_'SEARCH DIRECTORY_^1_(SQN_!1_^1_(JMP* P1GG_)GET NEXT DIR_^1_(INQ 0_N**MSOS 4.0_^1_(SQZ P1H-*-1_#NOT FOUND_:**MSOS 4.0_^1_(ENA_%1_^1_(STA-_$PM,I_/SET PROG MAC SW_^1P1I_$LDA- 1,Q_^1_(STA- NF,I_^1_(LDA- 2,Q_^1_(STA- NL,I_^1_(INQ_!2_^1_(STQ- DIRINX,I_)ADDR-1 OF SKL PTR_^1_(JMP_!MACCAL_^1P1H_€€$ENA_!1_^1_(STA- XMOD,I_^1P1HH_#LDQ- XMOD,I_^1_(LDA =XMACROS_G**MSOS 4.0_^1_(SUB =XGFILE_H**MSOS 4.0_^1*_]_^1*_$MODIFICATION TO MAKE THE MACRO DIRECTORY_^1*_$RESIDENT IN CORE ON FIRST REFERENCE_^1*_]_^1_%RTJ GTFILD_'GET THE FILE DIRECTORY, MACROS._^1_(ADC_!DIRBUF_^1_(LDA- XMOD,I_^1_(INA_!96_^1_(STA- XMOD,I_^1_(RTJ+_$DIRSCH_'SEARCH DIRECTORY_^1_(SQN_!1_^1_(JMP* P1HH_)NOT IN €€THIS DIRECTORY_^1_(INQ 0_N**MSOS 4.0_^1_(SQZ 3_N**MSOS 4.0_^1_(ENA_!0_,FOUND_^1_(STA- PM,I_^1_(JMP* P1I_^1_(JMP* CONAC_^1GETOP_"ADC_!0_^1_(ENA_!0_^1_(STA- IG,I_^1_(ENA_!-1_^1_(STA- CT,I_^1_(RTJ* CHPU_-GET 1ST CHAR_^1_(SAZ_!G1-*-1_'NO LABEL_^1_(INA_!-$A_*ASTERISK_^1_(SAN_!2_,NO_^1_(ENA_!-1_^1_(JMP* G2+1_^1_(RTJ* MCHPR_^1G1_%RAO- IG,I_^1_(RTJ* MCHPR_,GET OPCODE_^1_(SAZ_!G€€2-*-1_'SY PRESENT_^1_(ENA_!$3F_^1_(AND- SY+1,I_^1_(SAZ_!4_^1G2_%ENA_!0_^1_(STA- NU,I_^1_(RAO- IG,I_)SET TO SKIP LEADING BLN_^1_(JMP* (GETOP)_^1_(LDQ- SY,I_^1_(LRS_!6_^1_(ALS_!6_^1_(QLS_!10_^1_(INA_!-$20_^1_(SAM_!G3-*-1_^1_(ALS_!5_^1_(AAQ_!A_^1_(LDQ- SY+1,I_^1_(QRS_!8_^1_(INQ_!-$20_^1_(SQP_!1_^1G3_%JMP* G2_^1_(AAQ_!A_^1_(JMP* G2+1_^1CHPU_#ADC_!0_^1_(LDA- INPADR,I_F**MSOS 4.€€0_^1_(STA P1K_L**MSOS 4.0_^1_(RAO- CT,I_)INCREMENT CHAR CTR_^1_(ENA_!0_^1_(LDQ- CT,I_^1_(INQ_!-72_^1_(SQM_!5_^1_(LDA- AF,I_^1_(SAN_!1_^1_(JMP* C1+1_)TOO MANY CHARS_^1_(ENQ_!-0_^1_(JMP* (CHPU)_^1_(INQ_!72_^1_(LRS_!1_^1_(LDQ (P1K),Q_H**MSOS 4.0_^1_(SAZ_!1_^1_(QLS_!8_^1_(QRS_!8_,Q CONTAINS 7 BIT CHAR_^1_(LDA- AF,I_^1_(SAZ_!1_^1_(JMP* (CHPU)_^1_(SQZ_!C3+1-*-1_$NULL IGNORE IT_^€€1_(SQM_!C3+1-*-1_$NULL-IGNORE IT_^1_(INQ_!-$9_*TAB-IS END OF FIELD_^1_(SQZ_!C3-*-1_'YES-A IS ZERO SO WILL EXIT_^1_(LDA- IG,I_^1_(INQ_!-$4_*CARRIAGE RETURN_^1_(SQN_!3_,NO_^1_(ENA_!71_+SET CTR FOR_^1_(STA- CT,I_^1_(JMP* CHPU+1_^1_(INQ_!-$13_)BLANK_^1_(SQM_!C1-*-1_'CHAR ILLEG_^1_(SQN_!2_^1C3_%SAZ_!C1+1-*-1_$CHAR BLNK-IG NOT SET_^1_(JMP* CHPU+1_'GO BACK FOR NEXT CHR_^1_(INQ_!-$40_)€€UPPERBOUND FOR LEGAL_^1_(SQM_!C2-*-1_'IS LEGAL_^1C1_%ENA_!$3C_^1_(STA- CS,I_^1_(ENQ_!0_^1_(STQ- IG,I_^1_(JMP* (CHPU)_^1C2_%INQ_!$40_*6 BIT CHAR FOR OUTPUT_^1_(TRQ_!A_^1_(JMP* C1+1_^1XC_%NUM_!0,$C,$B BLANK,COMMA,PLUS_^1_(NUM_!$D,$A MINUS,ASTERISK_^1MCHPR_"ADC_!0_^1_(ENA_!0_^1_(ENQ_!4_^1MCHPR1_!STA-_$SY,B_"ZERO SY,XMOD_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP*_$MCHPR1_^1XLOP_#RTJ* CHPU_^1€€_(ENQ_!4_^1X1_%LDA- CS,I_^1_(SUB* XC,Q_)SEARCH SPECIALS_^1_(SAZ_!XLO1-*-1_$FOUND_^1_(INQ_!-1_^1_%SQP 1_Q75*1764_^1_%JMP* X5_P75*1764_^1_(JMP* X1_^1XLO1_!INQ -4_P75*1764_^1_%SQM XLO11_(NOT *_?75*1764_^1_%LDA- SY,I_)PROCESSING SYMBOLS_275*1764_^1_%SAN XLO11_(YES,LEAVE TEST_675*1764_^1_%LDA* FLIP_N75*1764_^1_%ALS 1_Q75*1764_^1_%STA* FLIP_N75*1764_^1_%SAP BEFORE_L75*1764_^1_%E€€NQ 3_Q75*1764_^1_%RTJ MER_*LOG ERROR AS OPCODE INCORRECT_'75*1764_^1BEFORE JMP* XX_+COMPLETE THE CHARACTER REQ._)75*1764_^1FLIP_!NUM $5555_M75*1764_^1XLO11 INQ 4_Q75*1764_^1_%STQ- CS,I_N75*1764_^1_(SQZ_!2_^1_(INQ_!-1_^1_(SQN_!1_^1_(JMP* XB_+COMMA BLANK_^1_(JMP* XP_+PLUS,MINUS,ASTERISK_^1X5_%LDQ- XMOD,I_^1_(INA_!-$10_^1_(SAM_!XA-1-*-1_$ERR-BELOW LOWER BOUND_^1_(INA_!-$A_^1_(€€SAP_!2_,NOT NUMERIC_^1_(SQZ_!XA-1-*-1_$NUMERIC INITIAL MODE_^1_(JMP* XALF_^1_(INA_!-7_^1_(SAM_!XA-1-*-1_$NOT ALPHA ERROR_^1_(INA_!-$1B_^1_(SAM_!1_,NOT ALPHA ERROR_^1_(JMP* XR_^1XA_%SQN_!XALF-*-1_^1_(RAO- XMOD,I_^1_(ENQ_!0_^1_(INA_!$1C_*CONVERT TO 5 BIT VALUE_^1_(ALS_!6_^1_(JMP*_$XALF2_^1XALF_#LDQ- SY+3,I_^1_(INQ_!-6_^1_(SQZ_!XB-1-*-1_$6 CHARS EIXT_^1_(INQ_!6_^1_(ENA_!0_^1_(LRS_€€!1_^1_(SAN_!3_^1_(LDA- CS,I_^1_(ALS_!8_^1_(JMP*_$XALF1_^1_(LDA- CS,I_^1XALF1_"ADD-_$SY,B_^1XALF2_"STA-_$SY,B_^1_(RAO- SY+3,I_^1_(JMP* XLOP_^1XB_%LDQ- XMOD,I_^1_(SQN_!1_^1_(RAO- SY+1,I_^1XB2_$LDQ- SY+3,I_^1_(SQZ_!3_^1_(INQ_!-1_^1_(QRS_!1_^1_(STQ- SY+3,I_^1XX_%LDA- SY,I_^1_(JMP* (MCHPR)_^1XP_%LDQ- XMOD,I_^1_(SQZ_!1_^1_(JMP* XB2_^1XR_#RTJ CHPU_N75*1764_^1_(SAZ_!XR1-*-1_^1€€_(ENQ_!1_^1_(STQ- CS,I_^1_(INA_!-$C_^1_(SAZ_!XR1-*-1_^1_(JMP* XR_^1XR1_$ENA_!0_^1_(ENQ_!3_^1XR1A_#STA-_$SY,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP*_$XR1A_^1_(JMP* XX_^1P1K_$NUM_!0_M**MSOS 4.0_^1RIMSB_"ADC_!0_^1_(LDA- BUFFSW,I_^1_(TRA_!Q_^1_(QLS_!1_^1_(STQ- BUFFSW,I_^1_(SAM_!3_^1RIM1_#LDA_!=XINBUF_^1_(JMP* *+3_^1_(LDA_!=XINBUF+48_^1_(STA- INPADR,I_^1_(STA* P1K_K**MSOS 4.0_^1_%STA €€INCON_L**MSOS 4.0_^1_(STA_!P1J_K**MSOS 4.0_^1_(STA_!MC7A_J**MSOS 4.0_^1_(ENA_!-0_^1_(ENQ_!40_^1_(STA* (P1K),Q_G**MSOS 4.0_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(ENQ_!41_^1_(ENA_!0_^1RIM2_#STA* (P1K),Q_G**MSOS 4.0_^1_(INQ_!-45_^1_(SQZ_!2_^1_(INQ_!46_^1_(JMP* RIM2_^1_(JMP* (RIMSB)_^1READIM_!ADC_!0_^1_(LDA- FSTM,I_'FIRST TIME SW SET_^1_(RAO- LN,I_^1_(SAN_!RB1-*-1_^1_(RAO- FST€€M,I_^1_(RTJ* READ_^1RB1_$RTJ* RIMSB_^1_(LDA- RCS,I_^1_(SAN_!1_^1_(JMP* *-2_^1_%SAP 1_^1_%JMP- (DISP)_^1_(ENQ_!40_^1RB1X_!LDA (READ1),Q_#MOVE IMAGE TO INPADR_^1_(STA* (P1K),Q_G**MSOS 4.0_^1_(INQ_!-1_^1_(SQM_!1_^1_%JMP* RB1X_^1_(ENQ_!0_^1_(LDA* (P1K),Q_G**MSOS 4.0_^1_(SAM_!2_^1_(INQ_!1_^1_(JMP* *-3_^1_%INQ -1_P59*1186_^1_%LDA* (P1K),Q_%PICK UP LAST WORD_2**MSOS 4.0_^1_%ALS €€ 8_Q59*1186_^1_%SAP 4_Q59*1186_^1_%AND =N$20FF_K59*1186_^1_%ALS 8_Q59*1186_^1_%STA* (P1K),Q_J**MSOS 4.0_^1_%INQ 1_Q59*1186_^1_(LDA_!=N$D00_^1_(STA* (P1K),Q_G**MSOS 4.0_^1_(LDA- LN,I_^1_(ENQ_!41_^1_(STA* (P1K),Q_G**MSOS 4.0_^1_(RTJ_!GETOP_^1_(ENA_!0_^1_(STA- IG,I_^1_(ENQ_!2_^1_(LDA- NU,I_^1_(SUB* SMOP,Q_^1_(SAZ_!3_^1_(INQ_!-1_^1_(SQM_!3_^1_(JMP* *-5_^1_(STA- FSTM,I_^1_(J€€MP* (READIM)_^1_(LDA- RCS,I_^1_(STA- T1,I_^1_(RTJ* READ_^1_(LDA- T1,I_)40 WDS TRANSFERRED_^1_%ALS_#1_^1_(SAM_!RB2A-*-1_$NO_^1_(ENA_!$7F_^1_(ENQ_!39_^1_(AND* (P1K),Q_G**MSOS 4.0_^1_(INA_!-$7F_^1_(SAN_!1_^1RB2A_#JMP* (READIM)_^1_(ENQ_!37_^1_(ENA_!$7F_^1_(AND* (P1K),Q_G**MSOS 4.0_^1_(STA- T1,I_^1_(INQ_!1_^1_(LDA* (P1K),Q_G**MSOS 4.0_^1_(ENQ_!0_^1_(LLS_!8_^1_(STQ- T1+1,I_^1_€€(ALS_!8_^1_(STA- T1+2,I_^1_(ENQ_!39_^1_(LDA* (INCON),Q_^1_(ENQ_!0_^1_(LLS_!8_^1_(STQ- T1+3,I_^1_(ALS_!8_^1_(STA- T1+4,I_^1_(ENQ_!0_^1SQ2_$LDA- T1,B_^1_(INA_!-$20_^1_(SAN_!1_^1_(INA_!$10_^1_(INA_!$20_^1_(STA- T1,B_^1_(SUB- SQ,B_^1_(SAN_%SQ2A-*-1_^1_(INQ_!-4_+EVEN-GO ON_^1_%SQN SQ21_)GET NEXT CHARACTER_^1_%JMP* SQ3_*DONE_^1SQ21_!INQ 5_^1_(JMP* SQ2_^1SQ2A_#SAP_%SQ3-*-1_^1SQ3A€€_!ENQ 36_+CHECK FOR AN * IN COL.73_,76*1859_^1_%LDA* (INCON),Q_#PICKUP COLUMNS 73 AND 74_,76*1859_^1_%ARS 8_,COLUMN 73 ONLY_676*1859_^1_(INA_%-$2A_$IS IT A VALID SEQUENCE ERROR_#**MSOS 4.0_^1_%SAN VLIDER_'THIS IS A VALID SEQUENCE ERROR_^1_%ENA $30_*THIS IS AN * IN COL. 73_^1_%ENQ 4_,RESET SQ,B BUFFER TO ZERO_^1SEQZR STA- SQ,B_)FOR NEXT SEQUENCE TEST_^1_%INQ -1_^1_%SQM ZRSEQ€€_^1_%JMP* SEQZR_^1ZRSEQ JMP* (READIM)_$CONTINUE WITH PROCESS_^1VLIDER ENQ 0_,SEQUENCE NUMBER IS VALID_+**MSOS 4.0_^1_(RTJ* MER_^1SQ3_"ENQ 36_^1_%LDA* (INCON),Q_#IF THIS RECORD HAS AN * IN COL. 73_^1_%ARS 8_,DO NOT MOVE IT TO SQ,B._^1_%INA -$2A_)THIS WILL ALLOW THE NEXT SEQ. TEST_^1_%SAN SQ3X_)TO PASS OK._^1_%JMP* (READIM)_$CONTINUE WITH PROCESS_^1SQ3X_!ENQ 4_,MOVE THIS SEQ.€€ NUMBER FOR NEXT TEST._^1SQ3XA LDA- T1,B_^1_(INA_!-$20_^1_(SAN_!1_^1_(INA_!$10_^1_(INA_!$20_^1_(STA- SQ,B_^1_(INQ_!-1_^1_(SQM_!1_^1_%JMP* SQ3XA_^1_(JMP* (READIM)_^1INCON_"ADC_%0_I**MSOS 4.0_^1_%ENT_#READI_^1READ_#ADC_!0_^1_(ENA_!-0_^1_(ENQ_!40_^1_(STA* (READ1),Q_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(ENA_!0_^1_(STA- RCS,I_^1_%RTJ- (REQPRO)_$FREAD REQUEST._^1_(ADC_!$4800_I**M€€SOS 4.0_^1_(ADC_!RCO_^1_(ADC_!0_^1READI VFD_#N3/0,N1/1,N2/2,X10/STDINP_^1_(ADC_!40_^1READ1_"ADC_!INBUF1_^1_(JMP* (READ)_^1SMOP_#NUM_!$35EE,$3E14,$15C4_^1PIL_$ADC_!0_^1_(LDA_!=N$1000_^1_(ENQ_!42_^1_(ADD* (INCON),Q_^1_(STA* (INCON),Q INPADR_^1_(RTJ* IL_^1_(JMP* (PIL)_^1IL_%ADC_!0_^1_(LDA- BUFFSW,I_^1_(SAP_!1_^1_(JMP* (IL)_^1_(RTJ* ILOVFL_^1_(LDQ- ILSECT,I_^1_(LDA_!=XINBUF_^€€1IL1_$RTJ+ DOUT_)DISKOUT RTN_^1_(LDA- ILSECT,I_^1_%INA 2_^1_(STA- ILSECT,I_^1_(JMP* (IL)_^1SKLOUT_!ADC_!0_^1_(LDA- SKBFSW,I_^1_(TRA_!Q_^1_(QLS_!1_^1_(STQ- SKBFSW,I_^1_(SAM_!SK2-*-1_^1_(ENA_!48_^1_(JMP* SK3_^1SK2_$RTJ* ILOVFL_^1_%LDA- SKELOC,I_(PICK UP RELATIVE SECTOR ADDR._#45*776_^1_(ADD- SKSCST,I_^1_(TRA_!Q_^1SK4_$LDA_!=XSKLBUF_$ADDR_^1_(RTJ* (IL1+1)_^1_%RAO- SKELOC,I_€€(BUMP RELATIVE SECTOR ADDR._'45*776_^1_%RAO- SKELOC,I_J45*776_^1_(RTJ* MINZRO_^1SK3_$ADD* SK4+1_^1_(STA- SKLADR,I_^1_(JMP* (SKLOUT)_^1ILOVFL_!ADC_!0_^1_%LDA- SKELOC,I_(PICK UP RELATIVE SECTOR ADDR._#45*776_^1_(ADD- SKSCST,I_^1_(STA- XMOD,I_^1_%LDA+ LGSECT_^1_(SUB- XMOD,I_^1_(SAZ_!2_^1_(INA_!-1_^1_(SAN_!1_^1_%JMP* SK12_N49*825_^1_%LDA+ LGSECT_L49*825_^1_%SUB- ILSECT,I_I49*82€€5_^1_%SAP T00001_^1SK12_!JMP PUNT_N75*1764_^1T00001 JMP* (ILOVFL)_^1MER_$ADC_!0_^1_(LDA* ERT,Q_^1_(STA* PB+3_^1_(SQZ_!MER2-*-1_^1_(LDA_!=N$2000_^1_(ENQ_!42_^1_(ADD* (INCON),Q INPADR_!SET ERROR CHR_^1_(STA* (INCON),Q INPADR_^1MER2_#ENQ_!41_^1_(LDA- LN,I_^1_(RTJ* DECV_^1_(STQ* PB_^1_(STA* PB+1_^1_(LDA_!L_^1_(SAN_!2_^1_%LDA- STDOCD_^1_(JMP* *+2_^1_%LDA- STDPRT_^1_(ADD* PIL+€€2_^1_(STA* MER1_^1_(ENA_!0_^1_(STA- CSW,I_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1MER1_#ADC_!0_^1_(ADC_%10_^1_(ADC_%JJ9_^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1_(JMP* (MER)_^1ERT_$ALF_!1,SQ_^1_(ALF_!1,MC_^1_(ALF_!1,MD_^1_%ALF 1,OP_N75*1764_^1JJ9_$NUM_%$2A2A_^1_(BSS_!PB(2)_^1_(ALF_!7,** **********_^1ASDEC1 NUM 0 FOR CONVERSION €€ROUTINE TEMP STORAGE_^1DECV_#ADC_!0_^1_(ENQ_!0_,THIS ROUTINE CONVERTS_^1_(STQ- T1,I_)THE A REGISTER_^1*_;TO ASCII DECIMAL_^1*_;OUTPUT IS 3 DIGITS IN_^1*_;QA WITH A TRAILING BLANK_^1_(ENQ_%4_^1DC1_$INA_!-10_^1_(SAM_!2_^1_(RAO- T1,I_^1_(JMP* *-3_^1_(INA_!58_+ADD BACK 10 PLUS HEX 30_^1_(STA- T1,B_)TO MAKE ASCII CHAR_^1_(LDA- T1,I_^1_%STA- T1+5,I_^1_(ENA_!0_^1_(STA- T1,I_^1_%LDA-€€ T1+5,I_^1_(INQ_!-1_^1_(SQZ_!1_^1_(JMP* DC1_^1_(LDQ- T1+1,I_^1_(QLS_!8_^1_(ADQ- T1+2,I_^1_(LDA- T1+3,I_^1_(ALS_!8_^1_(ADD-_$T1+4,I_^1_(JMP* (DECV)_^1MACER_"ENQ_!1_^1_(RTJ* MER_*PRINT ERROR_^1_(LDA- NF,I_^1_(SAN_!1_^1_(RAO- NF,I_^1_(JMP_!MC5_^1MINZRO_!ADC_!0_,BACKGROUND_^1_(ENQ_!40_+SKEL INPUT AREA_^1_(ENA_!-0_^1_(STA_!SKLBUF,Q_^1_(STA_!SKLBUF+48,Q_^1_(INQ_!-1_^1_(SQM_!1_^1_€€(JMP* *-6_^1_(JMP* (MINZRO)_^1RECV_#ADC_!0_^1_(LDA_!=N$2020_^1_(STA- T1+1,I_^1_(STA- T1+2,I_^1_(LDA_!=N$7C0_^1_(AND- SY,I_^1_(ARS_!6_^1_(SAZ_!1_^1_(INA_!$20_^1_(INA_!$20_^1_(ALS_!8_^1_(STA- T1,I_^1_(ENA_!$3F_^1_(AND- SY,I_^1_(INA_!$20_^1_(ADD- T1,I_^1_(STA- T1,I_^1_(ENQ_!-2_^1RR_%LDA- SY+3,B_^1_(ADD* RECV+2_^1_(STA- T1+3,B_^1_(INQ_!1_^1_(SQZ_!1_^1_(JMP* RR_^1_(ENQ_!2_^€€1RR1A_#LDA-_$T1,B_^1_(STA- SY,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP*_$RR1A_^1_(JMP* (RECV)_^1PUNT_!RTJ- (REQPRO)_$FWRITE REQUEST._^1_(ADC_!$4C00_I**MSOS 4.0_^1_(ADC_!0_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_#11_J**MSOS 4.0_^1_(ADC_!PNTMSG_^1_%JMP- (DISP)_'EXIT_^1PNTMSG_!ALF_#11,MASS STORAGE OVERFLOW_4**MSOS 4.0_^1JJAN12_!ADC_%0_/THIS ROUTINE TESTS MACRO NAME_^1*_BTO MAK€€E SURE IT IS NOT THE SAME_^1*_BAS AN OP-CODE OR PSUEDO OP_^1_(LDA-_$SY+1,I_*PICK UP 3RD AND 4TH CHAR._^1_(SAZ_%3_/SKIP IF LESS THAN 3 CHARS._^1_(ENQ_%$3F_^1_(LAQ_%A_^1_(SAZ_%1_/SKIP IF EXACTLY 3 CHAR._^1_(JMP*_$(JJAN12)_(RETURN IF NO CHANCE OF BEING OP-CODE_^1_(LDQ-_$SY,I_,PICK UP 1ST AND 2ND CHAR._^1_(LRS_%6_/2ND_!CHAR. IN RIGHT 6 BITS_^1_(ALS_%6_/OF A_^1_(QLS_%10_.1ST IN BITS 14-€€10 OF Q_^1_(INA_%-$20_,CHANGE FROM 6 BIT TO 5 BIT CHAR_^1_(SAM_%GJJ3-*-1_(SKIP IF 2ND CHAR NON-ALPHA_^1_(ALS_%5_/PACK 1ST AND 2ND CHARS INTO_^1_(AAQ_%A_/BITS 14-5 OF A_^1_(LDQ-_$SY+1,I_*PICK OF 3RD CHAR._^1_(QRS_%8_/SHIFT TO BITS 5-0 OF Q_^1_(INQ_%-$20_,CHANGE FROM 6 BIT TO 5 BIT CHAR_^1_(SQP_%1_/SKIP IF ALPHA_^1GJJ3_#JMP*_$(JJAN12)_(EXIT IF NO CHANCE OF BEING OP-CODE_^1_(AAQ_%A_/P€€ACK CHAR INTO LAST 5 BITS OF A_^1_(STA-_$NU,I_,STORE 15 BIT MAC NAME IN NU_^1_(ENQ_%0_^1JP1E_#LDA*_$OPTB,Q_*PICK UP OP-CODE_^1_(SAP_%1_/SKIP IF NOT FIRST OF CLASS_^1_(TCA_%A_/COMPLEMENT OP-CODE_^1_(SUB-_$NU,I_,SUB MACRO NAME_^1_(SAN_%2_/SKIP IF NO MATCH_^1_(JMP_%SLMC_,ERROR MACRO NAME SAME AS OP-CODE_^1_(INQ_%-ENDOP+OPTB_^1_(SQN_%1_/SKIP IF MORE TO SEARCH_^1_(JMP*_$(JJAN12)_(EXIT N€€OT FOUND_^1_(INQ_%ENDOP-OPTB+1_#INCREASE Q FOR NEXT OP-CODE_^1_(JMP*_$JP1E_^1OPTB_#NUM_!$CF7E_(LDA CLASS 1 COMPLEMENT_^1_(NUM_!$3091_^1_(NUM_!$0484_^1_(NUM_!$0491_^1_(NUM_!$4EA2_^1_(NUM_!$05C4_^1_(NUM_!$15F2_^1_(NUM_!$36A9_^1_(NUM_!$12C9_^1_(NUM_!$B17E_(STA CLASS 2 COMPLEMENT_^1_(NUM_!$4E91_^1_(NUM_!$29B0_^1_(NUM_!$4A8A_^1_(NUM_!$482F_^1_(NUM_!$4E01_^1_(NUM_!$B26C_(SLS CLASS 3 C€€OMPLEMENT_^1_(NUM_!$25D0_^1_(NUM_!$3EB4_^1_(NUM_!$39F0_^1_(NUM_!$15C1_^1_(NUM_!$15D1_^1_(NUM_!$25C1_^1_(NUM_!$25D1_^1_(NUM_!$152E_^1_(NUM_!$252E_^1_(NUM_!$1709_^1_(NUM_!$4E02_^1_(NUM_!$0E02_^1_(NUM_!$B9AC_(QRS CLASS 4 COMPLEMENT_^1_(NUM_!$0653_^1_(NUM_!$3253_^1_(NUM_!$4593_^1_(NUM_!$0593_^1_(NUM_!$3193_^1_(NUM_!$B3C5_(SAZ CLASS 5 COMPLEMENT_^1_(NUM_!$4C2E_^1_(NUM_!$4C30_^1_(NUM_!€€$4C2D_^1_(NUM_!$4E3A_^1_(NUM_!$4E2E_^1_(NUM_!$4E30_^1_(NUM_!$4E2D_^1_(NUM_!$4EF3_^1_(NUM_!$4EEE_^1_(NUM_!$4DF6_^1_(NUM_!$4DCF_^1_(NUM_!$4E05_^1_(NUM_!$4DD0_^1_(NUM_!$4E06_^1_(NUM_!$4DC6_^1OPC6_#NUM_!$B34B_(SET CLASS 6 COMPLEMENT_^1_(NUM_!$0D92_^1_(NUM_!$5241_^1_(NUM_!$524D_^1_(NUM_!$5251_^1_(NUM_!$5242_^1_(NUM_!$5061_^1_(NUM_!$506D_^1_(NUM_!$5071_^1_(NUM_!$5062_^1_(NUM_!$042D_^1_(€€NUM_!$0431_^1_(NUM_!$0422_^1_(NUM_!$142D_^1_(NUM_!$1431_^1_(NUM_!$1422_^1_(NUM_!$302D_^1_(NUM_!$3031_^1_(NUM_!$3022_^1_(NUM_!$0C2D_^1_(NUM_!$0C31_^1_(NUM_!$0C22_^1OP5_$NUM_!$FB7C_(ADC CLASS 1 PSEUDO COMPLEMENT_^1_%NUM_#$58C4_(VFD_^1_(NUM_!$C1B8_(ORG CLASS 2 PSEUDO COMPLEMENT_^1_(NUM_!$1635_(EQU_^1_(NUM_!$0DED_(COM_^1_(NUM_!$1034_(DAT_^1_(NUM_!$0A73_(BSS_^1_(NUM_!$0B53_(BZS_^1_(NU€€M_!$EA3B_(END CLASS 3 PSEUDO COMPLEMENT_^1_(NUM_!$15D4_(ENT_^1_(NUM_!$1714_(EXT_^1_(NUM_!$0586_(ALF_^1_(NUM_!$3AAD_(NUM_^1_(NUM_!$10A3_(DEC_^1_(NUM_!$24C1_(IFA_^1_(NUM_!$24C3_(IFC_^1_(NUM_!$1526_(EIF_^1_(NUM_!$15A3_(EMC_^1_(NUM_!$3274_(LST_^1_%NUM_!$406F_*PCO_^1_%NUM_#$24D2_)IFR_^1_(NUM_!$3993_(NLS_^1_(NUM_!$4E03_(SPC_^1ENDOP_"NUM_!$1554_(EJT_^1OP2_$NUM_!$CE8F_(LDA,LDQ,ADD,ADQ_^1_€€(NUM_!$9AB2_(SUB,AND,EOR,MUI_^1_(NUM_!$3641_(DVI,STA,STQ,JMP_^1_(NUM_!$5D70_(RTJ,RAO,SPA,SLS_^1_(NUM_!$23BA_(INP,OUT,NOP,ENA_^1_(NUM_!$C9D4_(ENQ,INA,INQ,EIN_^1_(NUM_!$5E67_(IIN,EXI,SPB,CPB_^1_(NUM_!$1235_(QRS,ARS,LRS,QLS_^1_(NUM_!$6701_(ALS,LLS,SAZ,SAN_^1_(NUM_!$2345_(SAP,SAM,SQZ,SQN_^1_(NUM_!$6789_(SQP,SQM,SWS,SWN_^1_(NUM_!$ABCD_(SOV,SNO,SPE,SNP_^1_(NUM_!$EF00_(SPF,SNF_^1OP3_$NUM_€€!$800,$840,$820,$808 SET,CLR,TRA,TRM_^1_(NUM_!$810,$818,$860,$848 TRQ,TRB,TCA,TCM_^1_(NUM_!$850,$858,$828,$830 TCQ,TCB,AAM,AAQ_^1_(NUM_!$838,$868,$870,$878 AAB,EAM,EAQ,EAB_^1_(NUM_!$8A8,$8B0,$8B8,$8E8 LAM,LAQ,LAB,CAM_^1_(NUM_!$8F0,$8F8_#CAQ,CAB_^1*_]_^1*_$THIS SUBROUTINE GETS THE FILE, MACROS, ON THE FIRST_^1*_$CALL. ON SUBSEQUENT CALLS, A SECTOR OF THE DIRECTORY_^1*_$IS MOVED€€._^1*_]_^1GTFILD NUM 0_,ENTRY_^1_%STA* SAVA_)INCREMENT TO NAME MACROS._^1_%STQ* SAVQ_)WORD NUMBER RELATIVE TO START OF FILE_^1_%LDA* FRSTSW_'FIRST SWITCH_^1_%SAN MOVSEC_'MOVE A SECTOR_^1_%JMP* FILLIT_'GET THE DIRECTORY_^1_%SPC 1_^1MOVSEC ADQ =XTABDIR-1_"INDEX INTO THE TABLE_^1_%STQ* ADRSOU_'SOURCE ADDRESS_^1_%LDA* (GTFILD)_$GET DESTINATION_^1_%STA* ADRDES_'DESTINATION BASE ADDR€€ESS_^1_%RAO* GTFILD_'BUMP RETURN ADDRESS_^1_%ENQ BLKSIZ-1_$SECT SIZE - 1, 0-95_^1COPYIT LDA* (ADRSOU),Q_^1_%STA* (ADRDES),Q_"MOVE IT_^1_%INQ -1_^1_%SQM RETURN_'DONE COPY_^1_%JMP* COPYIT_'LOOP_^1_%SPC 1_^1RETURN JMP* (GTFILD)_$RETURN TO CALLER_^1_%SPC 1_^1FILLIT ENQ 1_,START AT WORD 1 OF FILL_^1BLSV_!STQ* FRSTSW_'SET TAB INDEX_^1_%LDA* SAVA_)GET INCREMENT TO ASCII NAME, MACROS€€_^1_%RTJ+ GTFIL_(CALL THE GET FILE ROUTINE_^1ADRTAB ADC TABDIR_'ADDRESS WITHIN TABLE_^1_%ENQ BLKSIZ_^1MACLST LDA* (ADRTAB)_$GET 1ST WORD OF ENTRY_^1_%SAP NOTLST_'TEST FOR ALL DIRC. IN CORE_^1_%LDQ* SAVQ_)LAST ENTRY IN DIRC._^1_%JMP* MOVSEC_'GO MOVE IT_^1_%SPC 1_^1NOTLST LDA* ADRTAB_'BUMP TABLE ADDRESS_^1_%INA 6_,6 WORDS/ENTRY_^1_%STA* ADRTAB_^1_%INQ -6_^1_%SQZ FULBLK_'FULL B€€LOCK_^1_%JMP* MACLST_'LOOP_^1FULBLK LDQ* FRSTSW_^1_%INQ BLKSIZ_'BUMP TABLE INDEX_^1_%LDA* MAXIDX_'- LGTOT_^1_%AAQ A_^1_%SAZ OVERDR_^1_%JMP* BLSV_)UPDATE CURRENT BLOCK INDEX_^1_%SPC 1_^1OVERDR ENQ 90_^1_%LDA* (ADRTAB),Q_"GET 1ST WORD OF LAST ENTRY_^1_%TCA A_,FORCE END OF DIRECTORY_^1_%STA* (ADRTAB),Q_"RETURN IT_^1_%RTJ- ($F4)_(MONITOR_^1_%NUM $4C00_(FWRITE_^1_%NUM 0_,COMP_^1€€OVRTHD NUM 0_,THREAD_^1_%NUM $18FD_(COMMENT OUT_^1_%ADC OVRDRL_'NO. WORDS_^1_%ADC OVRDRM_'OVER FLOW DIRECTORY TABLE MSG._^1_%LDA* OVRTHD_'HANG ON THREAD_^1_%SAZ 1_^1_%JMP* *-2_^1_%LDQ* SAVQ_^1_%JMP* MOVSEC_'CONTINUE_^1_%SPC 2_^1*_]_^1*_$WORKING STORAGE / PARAMETERS / MSG._^1*_]_^1_%SPC 1_^1OVRDRM ALF Z, OV CORE RES. MACRO DIR. Z_^1_%EQU OVRDRL(*-OVRDRM)_^1_%SPC 1_^1ADRSOU€€ NUM 0_,ADDRESS SOURCE_^1ADRDES NUM 0_,ADDRESS DESTINATION_^1_%SPC 1_^1_%EQU BLKSIZ(96)_"SECTOR SIZE_^1_%EQU NBDIRB(18)_"NO. DIR. BLOCKS_^1_%EQU LGTOT(BLKSIZ*NBDIRB)_!TABLE SIZE_^1_%SPC 1_^1MAXIDX ADC (-LGTOT)_$NEGATIVE MAX. TAB. INDEX_^1FRSTSW NUM 0_,FIRST SWITCH, CURRENT BLOCK INDEX_^1SAVA_!NUM 0_^1SAVQ_!NUM 0_^1_%SPC 1_^1TABDIR BZS TABDIR(LGTOT) TABLE FOR MACRO DIRE€ CTORY_^1_%SPC 1_^1*_$DIRECTORY ENTRY 6 WORDS EACK_^1*_$16 PER SECTORR . MSOS 4.2 REQUIRES 3.5 SECTORS._^1*_$18 SECTORS PROVIDES 288 ENTRIES_^1_(END_%PASS1_^__  PPA1PR2 CSY/ A03 P€1_%NAM PA1PR2_'DECK-ID A03 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1*_'PROGRAM BASE-MACRO ASSEMBLER 2.0_4**MSOS 4.0_^1_(COM_!DIRBUF(96),INBUF(96),SKLBUF(96)_^1_(COM_!PTBL(96),INSKBF(96)_^1_(COM_!INBUF1(41)_^1_(EQU_!ACTBL(SKLBUF),ACTBL2(PTBL)_^1DISP_!€€EQU DISP($EA)_^1STDSCR EQU STDSCR($B3)_^1REQPRO EQU REQPRO($F4)_^1STDOCD EQU STDOCD($FC)_^1STDICD EQU STDICD($FD)_^1_(EQU_!INPADR(1),SKLADR(INPADR+1)_^1_(EQU_!CRPADR(SKLADR+1),ACADR(CRPADR+1)_^1_(EQU_!BUFFSW(ACADR+1),SKBFSW(BUFFSW+1)_^1_(EQU_!CS(SKBFSW+1),IG(CS+1),NOPG(IG+1)_^1_(EQU_!MSW1(NOPG+1),MSW2(MSW1+1)_^1_(EQU_!CT(MSW2+1),LOCSW(CT+1),NU(LOCSW+1)_^1_(EQU_!NC(NU+1),PM(NC+€€1),NL(PM+1)_^1_(EQU_!AF(NL+1),CHST(AF+1),LOCTOT(CHST+1)_^1_(EQU_!LN(LOCTOT+1),CSW(LN+1),DC(CSW+1)_^1_%EQU SKELOC(DC+1),DIRINX(SKELOC+1)_545*776_^1_(EQU_!FPRINX(DIRINX+1)_^1_(EQU_!CM(FPRINX+1),CM1(CM+1),AP(CM1+1)_^1_(EQU_!PGSECT(AP+1),PGSCST(PGSECT+1)_^1_(EQU_!ILSECT(PGSCST+1),SKSCST(ILSECT+1)_^1_(EQU_!ACSECT(SKSCST+1)_^1_(EQU_!SY(ACSECT+1),XMOD(SY+4)_^1_%EQU T1(XMOD+1),TP1(T1+6)_€€^1_(EQU_!SQ(TP1+3)_#5 LONG_^1_(EQU_!NULSW(SQ+5)_^1_(EQU_!ACC(NULSW+1)_^1_(EQU_!FSTM(ACC+1)_^1_(EQU_!RCS(FSTM+1)_!MUST BE LAST_^1_(COM_!CONS(RCS+1)_^1_%COM FST,L,P,X,C,MM,ILSEC1,SRSCST,ILSCND_/MSOS4.1_^1_(COM_!ERC_^1_%COM LGSECT_^1_%COM SYRFTS(96)_"SECT.REF.TAB.SYMBOLS_0MSOS4.1_^1_%COM SYCADM_'ADDR.SECT.REF.TBL.SYMBOL_,MSOS4.1_^1_%COM SYEXT_MMSOS4.1_^1_%COM SYINDM_LMSOS4.1_^1_€€%COM SYTRFM_'ENTRY ADDR.REF.TBL.SYMBOLS_*MSOS4.1_^1_%COM SYTRFD_'1ST ADDR.REF.TBL.SYMBOLS-DISK_'MSOS4.1_^1_%COM APASS1,APASS2,APASS3,ATBLST,AXREF,PAGE_,MSOS4.1_^1_%COM PS1W2,PS2W2,PS3W2,PS4W2,PS5W2_5MSOS4.1_^1_(ENT_!GTFIL,GFL1,DOUT,OPT,MACDEF,MACGET,MACCON_^1_(ENT_!ENDMAC,DIN,MACCAL,RCO,CO,MC5,SLMC,DIRSCH_^1_%ENT_"MACROS,GFILE_C**MSOS 4.0_^1_(ENT_!DISKW5,MCCON,MC7A_=**MSOS 4.0_€€^1_(EXT_!MCHPR,JJAN12,PIL,READIM,GETOP,RECV_^1_(EXT_!MER,MDEX,CHPU,CONAC,MACER,PUNT,RIMSB_^1_%EXT P1D,SKLOUT,CONAB,READI_<75*1837_^1_%EXT P1A_OMSOS4.1_^1DIRSCH_!ADC_!0_^1_(LDA- I_^1_(STA- T1,I_^1_(ENQ_!0_^1_(STQ- T2,I_)ZERO SW_^1DS1_$STQ- I_^1_(ENQ_!0_^1DS1A_!LDA* (DS2-1),I DIRBUF_^1_%SAP T2A-*-1_^1DS4_$RAO+ CONS+T2_^1T2_%EQU_!T2(T1+1)_^1_(TCA_!A_^1T2A_"SUB CONS+SY,Q_^1_(S€€AN_!DS3-*-1_^1_(INQ_!-2_^1_(SQZ_!3_^1_(INQ_!3_^1_(RAO- I_^1_%JMP* DS1A_^1_(LDQ_!=XDIRBUF,I_^1DS2_$LDA_!CONS+T1_^1_(STA- I_^1_(JMP* (DIRSCH)_^1DS3_"LDA* (DS4+1) CONS + T2_^1_(SAN_!DS5-*-1_^1_(ENA_!6_^1_(TCQ_!Q_^1_(AAQ_!Q_^1_(ADQ- I_^1_(INQ_!-96_^1_(SQZ_!DS5+1-*-1_^1_(INQ_!96_^1_(JMP* DS1_^1DS5_$ENQ -0_M**MSOS 4.0_^1_(JMP* DS2_^1MACDEF_!RAO- NOPG,I_'SET SWITCH FOR PROG MACS_€€^1_(LDA_!=XSKLBUF_$SET SKEL ADDR FOR_^1_(STA- SKLADR,I_^1_(LDA- CS,I_)TERMIN BLANK_^1_%SAN MD3A-*-1_^1_(ENA_!-1_+INITIALIZE CHR CTR_^1_(STA- CT,I_^1MD3_$RTJ+_$MCHPR_^1_%SAZ MD3A-*-1_^1_(LDA- CS,I_)TERMIN BLANK_^1_(SAZ_!1_^1MD3A_!JMP* MD14 SLMC_^1_(RTJ_%JJAN12_^1_(RTJ* (MCON+3) RECV CONVERT NAME TO 7 BITS_^1_(RAO- DIRINX,I_^1_(LDA- DIRINX,I_^1_(INA_!-96_*THIS DIR FULL_^1_%S€€AN MD3B-*-1_$NO_^1_(STA- DIRINX,I_^1_(LDQ- PGSECT,I_$YES-OUTPUT IT_^1_(RAO- PGSECT,I_^1_%RAO- PGSECT,I_^1_(LDA* MD1+1_^1_(RTJ_!DOUT_^1MD3B_!LDQ- DIRINX,I_$PUT AWAY MACRO NAME_^1_(LDA- SY,I_^1MD1_$STA+ DIRBUF,Q_^1_(INQ_!1_^1_(LDA- SY+1,I_^1_%STA* (MD1+1),Q DIRBUF_^1_(INQ_!1_^1_(LDA- SY+2,I_^1_%STA* (MD1+1),Q DIRBUF_^1_(INQ_!1_^1_(STQ- DIRINX,I_^1_(LDA_!=N$2E20_%PUT PERIOD €€AS_^1_(STA* (MCON+4) PTBL 1ST FORMAL PARAM_^1_(ENA_!1_^1_(STA- FPRINX,I_$SET FORMAL PARAM INX_^1_(RAO- IG,I_^1_(RTJ+_$MCHPR_^1_(RAO- IG,I_^1_(RTJ* MDSB1_^1_(LDA- FPRINX,I_$NUMB FORMALS_^1_(LDQ- DIRINX,I_$TO DIRECTORY_^1_%STA* (MD1+1),Q DIRBUF_^1_(INQ_!2_^1_%LDA- SKELOC,I_$SKELETON POINTER_445*776_^1_(STA* (MD1+1),Q_#TO DIRECTORY_^1_(STQ- DIRINX,I_^1_(RAO- LOCSW,I_%SET LOC€€AL SWITCH_^1_(ENA_%0_^1_(STA*_$JJ69_^1GETSKL_!RTJ* (MCON) PIL_"OUTPUT PRINT ONLY IL_^1_(RTJ* (MCON+1) READIM GET NEXT IMAGE_^1_(RTJ* (MCON+2) GETOP GET OPCODE_^1_(LDQ- INPADR,I_^1_(STQ- CRPADR,I_$SET TO GET SKEL_^1_(LDQ- LOCSW,I_^1_(SQZ_!MD5-*-1_%LOC PROC DONE_^1_(SAP_!1_,NOT ASTERISK_^1_(JMP* MD16_^1_(SUB_!=N$31E3_%LOC IMAGE_^1_(SAN_%2_^1_(JMP* LOCP_^1JJ69_#NUM_%0_^1MD16_#€€LDA*_$JJ69_^1_(RTJ* LOCRTN_^1_(LDA- NU,I_^1MD5_$SAP_!MD9-*-1_^1_(RTJ_!MOVIMG_'ASTERISK-MOVE IMAGE_^1_(JMP* GETSKL_'AS IT STANDS_^1MD9_$LDA- NU,I_.CONVERTED OPCODE_^1_(SUB_!=N$15A3_*IS IT EMC_^1_(SAN_!1_0NO_^1_(JMP* MD10_-YES-PROCESS IT_^1_(ENA_!-1_^1_(STA- CT,I_^1_(STA- NC,I_)NEW COUNT_^1MD11_#RTJ+ CHRPIC_^1_(SAM_!MD12-*-1_$END OF INP IMAGE_^1_(RTJ+ NEWPUT_^1_%SAP MD12A-*-€€1_^1MD12_#RTJ_!CRPUT_(PUT CR IN NEW IMG_^1_(RTJ* (MCON+5) SKLOUT OUTPUT THIS SKELETON_^1_(JMP* GETSKL_'GET NEXT SKEL_^1MD12A INA -$27_!APOSTROPHE_^1_(SAZ_!1_,YES_^1_(JMP* MD11_)NO-GET NEXT CHAR_^1_(RTJ* (MD11+1) CHRPIC_^1_(SAM_!3_,ERROR_^1_(ALS_!8_^1_(STA- T1,I_)1ST CHAR_^1_(RTJ* (MD11+1) CHRPIC_^1_(SAM_!10_+ERROR_^1_(INA_!-$27_)APOSTROPHE_^1_(SAN_!1_,NO_^1_(INA_!-7_+YES-MA€€KE 2ND CHAR BLANK_^1_(INA_!$27_^1_(ADD- T1,I_^1_(STA- T1,I_^1_(LDA- CS,I_^1_(INA_!-$27_^1_(SAZ_!MD13-1-*-1_^1_(RTJ* (MD11+1) CHRPIC_^1_(SAM_!MD14-*-1_^1_(INA_!-$27_)APOSTROPHE_^1_(SAN_!MD14-*-1 SLMC_^1_(LDQ- FPRINX,I_^1MD13_#LDA- T1,I_^1_(SUB* (MCON+4),Q PTBL_^1_(SAZ_!4_,FOUND_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* MD13_^1MD14_#JMP* SLMC_^1_(TRQ_!A_^1_(INA_!1_^1_(RTJ* (MD11+4) N€€EWPUT_^1_(SAM_!LOCP+2-*-1 SLMC_^1_(JMP* MD11_^1MCON_#ADC_!PIL,READIM,GETOP_^1_(ADC_!RECV_^1_(ADC_!PTBL_^1_(ADC_!SKLOUT_^1LOCP_#LDA- CS,I_^1_(SAZ_!1_^1_(JMP* SLMC_^1_(LDA- FPRINX,I_^1_(STA- TP1,I_^1_(RTJ* MDSB1_^1_(LDA- FPRINX,I_^1_(SUB- TP1,I_^1_(ADD*_$JJ69_^1_(STA*_$JJ69_^1_%JMP* GETSKL_^1LOCRTN_!ADC_!0_^1_(LDQ- DIRINX,I_^1_(INQ_!-1_^1_%STA* (MD1+1),Q DIRBUF SET NUMB OF €€LOCS_^1_(ENA_!0_^1_(STA- LOCSW,I_%ZERO LOCSW_^1_(LDQ- FPRINX,I_^1_(INQ_!-1_^1_(STQ- FPRINX,I_^1_(JMP* (LOCRTN)_^1MDSB1_"ADC_!0_^1MD2_$RTJ+ MCHPR_(GET PARAM_^1_(SAN_!8_^1_(LDA- SY+1,I_'NULL FIELD_^1_(SAZ_!8_,NO-ERROR_^1_(LDA- CS,I_^1_(SAN_!1_^1_(JMP* (MDSB1)_%TERMIN BLANK EXIT_^1_(INA_!-1_^1_(SAN_!3_,ERROR_^1_(JMP* MD2_^1_(LDA- SY+1,I_^1_(SAZ_!1_^1_(JMP* MD4_*SLMC MORE TH€€AN TWO CHAR_^1_(RTJ* (MCON+3) RECV CONVERT PARAM TO 7 BITS_^1_(LDQ- FPRINX,I_^1_(INQ_!-1_^1_(LDA* (MCON+4),Q PTBL_^1_(SUB- SY,I_^1_(SAZ_!MD4-*-1_%ERROR-DUPLICATE PARAM_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-5_^1_(LDA- CS,I_^1_(INA_!-2_^1_(SAM_!1_^1MD4_$JMP* SLMC_^1_(LDA- SY,I_^1_(LDQ- FPRINX,I_$PUT PARAM ASAY_^1_(STA* (MCON+4),Q PTBL_^1_(RAO- FPRINX,I_^1_(LDA- CS,I_^1_(SAZ_!€€1_^1_(JMP* MD2_^1_(JMP* (MDSB1)_^1MD10_#RTJ* MOVIMG_'MOVE IMAGE TO NEW BUFF_^1_(LDA- SKBFSW,I_^1_(SAP_!1_^1_(RTJ* (MCON+5) SKLOUT OUTPUT THIS BUFF_^1_(JMP* MOVIMG-2 MDEX_^1SLMC_#ENQ_!2_^1_(RTJ_!MER_^1SLMCA ENQ 0_^1_(LDA- DIRINX,I_^1_(DVI_!=N6_*ERASE THIS ENT_^1_(LDA- DIRINX,I_^1_(INA_!-1_^1_(STA- DIRINX,I_^1_(SQZ_!1_^1_%JMP* SLMCA_^1_(LDA- NOPG,I_^1_(INA_!-1_^1_(STA- N€€OPG,I_^1SL1_$RTJ* (MCON) PIL_^1_(RTJ* (MCON+1) READIM_^1_(RTJ* (MCON+2) GETOP_^1_(SAM_!3_^1_(SUB_!=N$15A3_%EMC OPCODE_^1_(SAZ_!1_^1_(JMP* SL1_^1_(JMP_!MDEX_^1MOVIMG_!ADC_!0_^1_(ENA_!-1_^1_(STA- CT,I_^1_(STA- NC,I_^1_(RTJ* MV1_^1_(RTJ* (MCON+5) SKLOUT_^1_(JMP* (MOVIMG)_^1MV1_$ADC_!0_^1_(RTJ* CHRPIC_^1_(SAM_!1_^1_(RTJ* NEWPUT_^1_(SAM_!1_^1_(JMP* MV1+1_^1_(RTJ* CRPUT_^1_(€€JMP* (MV1)_^1NEWPUT_!ADC_!0_^1_(STA- CHST,I_^1_(LDA- SKLADR,I_F**MSOS 4.0_^1_(STA* N1A_K**MSOS 4.0_^1_(RAO- NC,I_^1_(LDQ- NC,I_^1_(INQ_!-72_^1_(SQN_!2_,BUFFER FULL_^1_(ENA_!-1_^1_(JMP* (NEWPUT)_^1_(INQ_!72_^1_(ENA_!0_^1_(LRS_!1_^1_(SAN_!N2-*-1_^1_(LDA- CHST,I_^1_(ALS_!8_^1_(ADD_!=N$FF_^1_(JMP* N1+1_J**MSOS 4.0_^1N2_%LDA- CHST,I_^1_(EOR_!=N$FF00_^1N1_%AND* (N1A),Q_G**MSOS€€ 4.0_^1_(STA* (N1A),Q_G**MSOS 4.0_^1_(LDA- CHST,I_^1_(JMP* (NEWPUT)_^1N1A_$NUM_"0_L**MSOS 4.0_^1CHRPIC_!ADC_!0_^1_(LDA- INPADR,I_$SAVE INPUT ADDR_^1_(STA- CHST,I_^1_(LDA- CRPADR,I_^1_(STA- INPADR,I_^1_(RAO- AF,I_^1CHRPID RTJ+ CHPU_^1_(ENA_!0_^1_(STA- AF,I_^1_(LDA- CHST,I_^1_(STA- INPADR,I_$RESTORE INPUT ADR_^1_(SQM_!4_^1_(TRQ_!A_^1_(STA- CS,I_^1_(INQ_!-$D_^1_(SQN_!1_^1_€€(ENA_!-1_/SET A NEG FOR CR_^1_(JMP* (CHRPIC)_^1CRPUT_"ADC_!0_^1_(LDQ- SKLADR,I_F**MSOS 4.0_^1_(STQ* N1A_K**MSOS 4.0_^1_(LDQ- NC,I_^1_(INQ_!-72_^1_(SQN_!5_^1_(ENQ_!36_^1CR1_$LDA_!=N$D00_^1_(STA* (N1A),Q_G**MSOS 4.0_^1_(JMP* (CRPUT)_^1_(INQ_!72_^1_(ENA_!0_^1_(LRS_!1_^1_(INQ_!1_^1_(JMP* CR1_^1MACCAL_!LDA- CS,I_^1_(SAZ_!MCC3-*-1_$TERMIN BLANK_^1_(STA- T1,I_)SAVE TERMIN_^1_(ENA€€_!0_^1_(STA- IG,I_^1_%RTJ*_"(CHRPID+1) CHPU_^1_(RAO- IG,I_^1_(LDQ- T1,I_^1_(SAZ_!1_,BLANK_^1_(ENQ_!1_,MAKE CS COMMA FOR ERROR_^1_(STQ- CS,I_^1MCC3_#LDA- INPADR,I_^1_(STA- CRPADR,I_^1_(LDA- ACADR,I_G**MSOS 4.0_^1_%STA MCCON_^1_(LDA- DC,I_)DEPTH COUNT_^1_(RAO- DC,I_^1_%SAZ MCC3A-*-1_^1_(LDA_!=XACTBL2_^1_(STA- ACADR,I_^1_(STA* MCCON_I**MSOS 4.0_^1_(ENA_!0_0ZERO OUT ACTUA€€L_^1MCC3A ENQ 95_+TABLE_^1_(STA* (MCCON),Q ACADR_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(STA- NULSW,I_^1_(STA- CM1,I_^1_(LDA- PM,I_-PROG MACRO SW_^1_(STA* (MCCON) ACADR SET SW IN 1ST WD OF ACTBL_^1_(LDQ- DIRINX,I_)ADDR-1 OF SKEL PTR_^1_(LDA- 1,Q_^1_(ENQ_!1_0PUT SKEL PTR IN 2ND WD_^1_(STA* (MCCON),Q ACADR OF ACTBL_^1_(ENA_!3_0SET ACTBL INDEX_^1_(STA- AC,I_^1AC_%EQU_!AC€€(FPRINX)_^1NF_%EQU_!NF(LOCSW)_^1_(ENA_!$7F_*BEGIN CHAR_^1MCC2_#RTJ+ ACTPUT_^1_(ENA_!0_^1_(LDQ- CS,I_-CHECK CALL TERM_^1_(JMP* *+1,Q_,AND CHNG TO 7 BIT ASCII_^1_(INA_!$25_.BLANK_^1_(INA_!-$30_-COMMA_^1_(INA_!-2_/PLUS_^1_(INA_!3_0MINUS_^1_(INA_!$2A_.ASTERISK_^1_(SAP_!1_^1_(JMP* (MCCON+1) MACER COMMA_^1_(RTJ* (MCC2+1) ACTPUT_^1_%LDA- NF,I_)IF THERE ARE NO FORMAL PARAMETERS_^1_%IN€€A -1_+DO NOT CHECK FOR ANY. THIS WILL_^1_%SAN PRMLST_'ALLOW COMMENTS ON A MACRO INTTRUCTION_^1_%JMP* BLNCHR_'CARD WITHOUT FORMAL PARAMETERS._^1PRMLST RAO- IG,I_)SLEW LEADING BLANKS_^1_(RTJ* (MCCON+2) CHPU_^1_(SAN_!1_^1_(JMP* BLNCHR_'NO PARAMETERS ON THIS CALL_^1_(LDA- CT,I_)BACK UP CTR AND PRETEND_^1_(INA_!-1_+COMMA WAS PRESENT_^1_(STA- CT,I_^1_(JMP* MC4_^1SETBGN_!ENA_!$7F_€€^1_(RTJ* (MCC2+1) ACTPUT_^1GETCH_"RTJ* CHRPIC_^1_(LDQ- AP,I_^1_(SAP_!2_^1_(SQN_!MC1-3-*-1 ERR-AP SET AT END OF IMG_^1_(JMP* BLNCHR_^1_(SAN_!2_^1_(RAO- NULSW,I_%ZERO-IS NULL_^1_(JMP* GETCH_^1_(INA_!-$27_-APOSTROPHE_^1_(SAN_!MC1-*-1_*NO_^1_(SQZ_!1_0APOS SW SET_^1_(JMP* ENDAPS_+YES_^1_(LDA- CM,I_-COMMA SW SET_^1_(SAN_!1_^1_(JMP* (MCCON+1) MACER_^1_(RAO- AP,I_-SET APOS SW_^1_€€(JMP* GETCH_^1MC1_$INA_!-5_/COMMA_^1_(SAN_!MC2-*-1_*NO_^1_(SQN_!MC3-*-1_*APOS SWSET_^1_(STA- NULSW,I_%ZERO NULL SW_^1MC4_$LDA- NF,I_-NO_^1_(INA_!-1_^1_(STA- NF,I_^1_(SAN_!1_^1_(JMP* (MCCON+1) MACER_^1_(RAO- CM,I_-SET COMMA SW_^1_(RAO- CM1,I_^1*_;CM SW USED SO APOS_^1*_;AS FIRST CHAR IS_^1*_;LEGAL-CM1 IS USED TO_^1*_;TELL CONTINUATION IMAGE_^1_(JMP* SETBGN_^1MC2_$INA_!$C_/BL€€ANK_^1_(SAZ_!2_0YES_^1_(INA_!$17_.TAB_^1_(SAN_!MC3-*-1_*NO_^1_(SQN_!MC3-*-1_*APOS SW SET_^1_(JMP* BLNCHR_+NO_^1MC3_$LDA- CS,I_^1_(RTJ* (MCC2+1) ACTPUT_^1_(ENA_!0_^1_(STA- CM,I_^1_(STA- CM1,I_^1_(STA- NULSW,I_^1_(JMP* GETCH_^1ENDAPS_!STA- AP,I_^1_(RTJ_!CHRPIC_^1_(SAM_!BLNCHR-*-1_'END OF INPUT IMG_^1_(INA_!-$2C_-COMMA_^1_(SAN_!1_0NO_^1_(JMP* MC4_^1_(INA_!$C_/BLANK_^1_(SAZ_!3_€€0YES_^1_(INA_!$17_.TAB_^1_(SAZ_!1_0YES_^1_(JMP* (MCCON+1) MACER_^1BLNCHR_!LDA- CM1,I_^1_(ENQ_!0_^1_(STQ- CM1,I_^1_(SAZ_!2_^1_(LDA- NULSW,I_^1_(SAZ_!1_^1_(JMP* MC5_*NULL PARAM LAST-NOT CONT_^1_(RAO- MSW2,I_+CONTINUATION IMAGE_^1MC7_$LDA_!=N$8000_^1_(ENQ_!42_/SET MACRO CALL BIT_^1_(ADD* (MC7A),Q_!IN IL_>**MSOS 4.0_^1_%STA*_"(MC7A),Q_F**MSOS 4.0_^1_(ENQ_!2_0SAVE MACRO NAEM_^1MC€€7B_!LDA- SY,B_^1_(STA- TP1,B_^1_(INQ_!-1_^1_(SQM_!1_^1_%JMP* MC7B_^1MC7C_#JMP+ CONAC_I**MSOS 4.0_^1MC7A_#NUM_!0_M**MSOS 4.0_^1MCCON_"ADC_%0,MACER_C**MSOS 4.0_^1_(ADC_!CHPU_^1MC5_$ENA_!$7F_^1_(RTJ* ACTPUT_^1_(LDA- NF,I_^1_(INA_!-1_^1_(STA- NF,I_^1_(SAZ_!1_^1_(JMP* MC5_^1LOCPRC_!LDA- NL,I_^1_(SAZ_!1_^1_(JMP* MC6_^1_(LDA* MC7+1_^1_%ENQ 42_8SET BIT IN IL FOR_^1_(ADD* (MC7A),€€Q_!INPADR_=**MSOS 4.0_^1_(STA* (MC7A),Q_!INPADR_=**MSOS 4.0_^1_(RAO- MSW1,I_^1_(LDA- DC,I_^1_(INA_!-1_^1_(SAN_!1_^1_(JMP* MC8_^1_(LDQ- ACSECT,I_$ACTUAL SECTOR NO_^1_(LDA* MACGET+1_^1_(RTJ_!DOUT_^1_(RAO- ACSECT,I_$INCREMENT ACSECT NO_^1_%RAO- ACSECT,I_^1_(ENQ_!95_/MOVE ACTBL2 TO ACTBL_^1_(LDA_!ACTBL2,Q_^1_(STA* (MACGET+1),Q ACTBL_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-5_^1_(LDA*€€ MACGET+1_^1_(STA- ACADR,I_%RESTORE ACADR_^1_(STA* MCCON_I**MSOS 4.0_^1MC8_$JMP* MC7C_J**MSOS 4.0_^1MC6_$ENA_!$5B_.LEFT BRACKET_^1_(RTJ* ACTPUT_'TO ACTBL_^1_(LDA- LOCTOT,I_)TOTAL NUMB LOC LABELS_^1_(LDA-_$LOCTOT,I_^1_(ENQ_%0_^1_(STQ_%T1,I_^1_(ENQ_%2_^1JJHEX1_!INA_%-16_^1_(SAM_%2_^1_(RAO-_$T1,I_^1_(JMP*_$*-3_^1_(INA_%6_^1_(SAM_%2_^1_(INA_%65_^1_(JMP*_$*+2_^1_(INA_%58_^1_(STA-_€€$T1,B_^1_(LDA-_$T1,I_^1_(STA-_$T1+3,I_^1_(ENA_%0_^1_(STA-_$T1,I_^1_(LDA-_$T1+3,I_^1_(INQ_%-1_^1_(SQZ_%1_^1_(JMP*_$JJHEX1_^1_(LDA-_$T1+2,I_^1_(STA-_$T1,I_^1_(LDA-_$T1+1,I_^1_(RTJ* ACTPUT_^1_(LDA- T1,I_^1_(RTJ* ACTPUT_^1_(ENA_!$7F_^1_(RTJ* ACTPUT_^1_(RAO- LOCTOT,I_^1_(LDA- NL,I_^1_(INA_!-1_^1_(STA- NL,I_^1_(JMP* LOCPRC_^1MACCON_!STA- T1,I_)SAVE A REG_^1_(LDA_!=N$4000_%PUT CO€€NTINUATION_^1_(ENQ_!42_+BIT IN IL_^1_(ADD* (MC7A),Q_!INPADR_=**MSOS 4.0_^1_(STA* (MC7A),Q_!INPADR_=**MSOS 4.0_^1_(ENA_!0_^1_(STA- MSW2,I_^1_(LDA- T1,I_^1_(SAM_!MCN1-*-1_^1_(RTJ_!RECV_^1_(ENQ_!2_^1_(LDA- SY,B_^1_(SUB- TP1,B_^1_(SAN_!MCN1-*-1_)ERROR-NAMES DONT MATCH_^1_(INQ_!-1_^1_(SQM_!2_^1_(JMP* *-5_^1MCN1_#JMP* (MCCON+1) MACER_^1_(LDA- INPADR,I_^1_(STA- CRPADR,I_^1_(RAO-€€ IG,I_)SLEW LEADING BLANKS_^1_(RTJ* (MCCON+2) CHPU_^1_(SAN_!1_^1_(JMP* BLNCHR_^1_(LDA- CT,I_^1_(INA_!-1_^1_(STA- CT,I_^1_(JMP_!GETCH_^1ACTPUT_!ADC_!0_^1_(STA- CHST,I_^1_(RAO- AC,I_^1_(LDQ- AC,I_^1_(ENA_!0_^1_(LRS_!1_^1_(INQ_!-95_^1_(SQN_!2_^1_(JMP_!PUNT_^1_(INQ_!95_^1_(SAN_!3_^1_(LDA- CHST,I_^1_(ALS_!8_^1_(JMP* *+3_^1_(LDA- CHST,I_^1_(ADD* (MCCON),Q ACADR_^1_(STA* (MCC€€ON),Q ACADR_^1_(JMP* (ACTPUT)_^1MACGET_!LDA+ ACTBL_^1_(ENQ_!0_^1_(LLS_!8_^1_(SQZ_!MG4-*-1_^1MG14_#LDA_!=XINSKBF_$SKEL IN CORE_^1_(INA_!48_^1_(STA- CRPADR,I_$SET INPUT ADDR_^1*_?FOR CHRPIC_^1_(JMP* MG1_^1MG4_$RTJ* SKLGET_^1_(LDA* MACGET+6_)SET INPUT ADDR_^1_(STA- CRPADR,I_$FOR CHRPIC_^1MG1_$LDA* (MACGET+1) ACTBL_^1_(EOR_!=N$100_^1_(STA* (MACGET+1)_^1_(RTJ_!RIMSB_^1_(LDA- IN€€PADR,I_$SET ADDR FOR_^1_(STA- SKLADR,I_$NEWPUT_^1_(ENA_!-1_/INITIALIZE CTRS FOR_^1_(STA- CT,I_*CHRPIC AND NEWPUT_^1_(STA- NC,I_^1_(RTJ* (MG7+1) CHRPIC_^1_(SAP_!1_^1_(JMP* MG2A_-END OF INPUT IMAGE_^1_(LDQ- PM,I_)PROG MACRO_^1_(SQN_!3_,YES_^1_(INA_!-$21_-NO-IS THIS EXCLAM PT_^1_(SAN_!2_0NO_^1_(JMP* *+3_^1_(INA_!-$2A_-ASTERISK_^1_(SAN_!MG5-*-1_*NO_^1_(ENA_!$2A_^1_(RTJ* (MG6+1) €€NEWPUT_^1_(RTJ_!MV1_*MOVE WHOLE IMAGE_^1_(JMP* MG2A+2_^1MG5_$LDA- CS,I_^1_(INA_!-$27_-APOS_^1_(SAZ_!MG8-*-1_*YES_^1_(LDA- CS,I_-NO_^1MG6_$RTJ+ NEWPUT_^1_%SAM MG7A-*-1_^1MG7_$RTJ+ CHRPIC_^1_(SAM_!1_^1_(JMP* MG5_^1MG7A_!JMP* MG2A_^1MG8_$RTJ* (MG7+1) CHRPIC_^1_(ENA_!3_^1_(STA- ACC,I_^1MG9_$RTJ* ACTPIC_+FIND ACTUAL START_^1_(INA_!-$7F_^1_(SAZ_!1_^1_(JMP* MG9_^1_(LDA- CS,I_^1€€_(INA_!-1_^1_(STA- CS,I_^1_(SAZ_!1_^1_(JMP* MG9_^1_(STA- NULSW,I_^1MG10_#RTJ* ACTPIC_^1_(LDQ- NULSW,I_^1_(INA_!-$7F_^1_(SAN_!4_^1_(SQN_!2_^1_(RTJ* (MG6+1) NEWPUT PUT ZERO FOR NULL PARAM_^1_(SAM_!6_,ERROR_^1_(JMP* MG7_^1_(RAO- NULSW,I_^1_(INA_!$7F_^1_(RTJ* (MG6+1) NEWPUT_^1_(SAM_!1_^1_(JMP* MG10_^1_(ENQ_!1_^1_(RTJ_!MER_^1MG2A_#RTJ_!CRPUT_^1_(JMP_!CONAB_^1ACTPIC_!ADC_!0_^1_€€(RAO- ACC,I_^1_(ENA_!0_^1_(LDQ- ACC,I_^1_(LRS_!1_^1_(LDQ* (MACGET+1),Q ACTBL_^1_(SAZ_!1_^1_(QLS_!8_^1_(QRS_!8_^1_(TRQ_!A_^1_(JMP* (ACTPIC)_^1SKLGET_!ADC_!0_^1_(LDQ+ ACTBL+1_%GET SKL PTR_^1_(SAZ_!SKLG2-*-1_#SYS MACRO_^1_(TRQ_!A_^1_(ADD- SKSCST,I_^1_(TRA_!Q_^1_(LDA* MG14+1 INSKBF_^1_(RTJ* (E2+3) DIN_^1_%RAO* (SKLGET+2)_%BUMP SKELETON POINTER_,45*776_^1_%RAO* (SKLGET+2)_H45*77€€6_^1_(JMP* SKLG1_^1SKLG2_"INQ_!1_^1_%RTJ GTFILS_^1_(ADC_!INSKBF_^1_%ENA 96_P45*776_^1_(ADD* (SKLGET+2)_"UP SKEL PTR_^1_(STA* (SKLGET+2)_"FOR NEXT SKEL_^1SKLG1 JMP* (SKLGET)_J45*776_^1_%ENT_#MCNAM_^1MCNAM NUM_#0,0,0_^1MN_#NOP_#0_^1_%ENQ_#2_^1MN1_"STA*_"MCNAM_^1_%INQ_#-1_^1_%SQM_#1_^1_%JMP*_"MN1_^1_%JMP*_"(MN)_^1ENDMAC_!LDA- DC,I_^1_%SAZ_#E3_^1_(INA_!-1_^1_(STA- DC,I_^1_(STA€€- MSW1,I_^1_(SAN_!E1-*-1_^1E3_#RTJ*_"MN_^1_(JMP+ CONAC_^1E1_%LDQ- ACSECT,I_$BRING IN ACTBL FROM MS_^1_%INQ -2_^1_(STQ- ACSECT,I_^1E2_%LDA_!=XACTBL_^1_(RTJ+ DIN_^1_(LDA* (E2+1) ACTBL_^1_(ENQ_!0_^1_(LLS_!8_^1_(ARS_!8_^1_(STA- PM,I_^1_%SQZ GFL1-*-2_J45*776_^1_(LDQ* (SKLGET+2)_^1_%SAN 1_Q45*776_^1_%INQ -94_O45*776_^1_%INQ -2_P45*776_^1_(STQ* (SKLGET+2)_^1_(RTJ* SKLGET_^1€€_(JMP* E1-2_^1GFL1_#ADC_!0_^1*_]_^1*_$THIS ROUTINE WILL ONLY BE USED TO GET DATA_^1*_$FROM THE MACROS DIRECTORY. SEE GTFILS FOR MACSKL._^1*_]_^1GTFIL_"ADC_!0_^1_(STQ* GFILE+5_%STARTING WORD_^1_(INQ_!95_^1_(STQ* GFILE+7_%ENDING WORD_^1_(INA_!-1_^1_(STA* GFILE+8_%NAME OF FILE PTR_^1_(LDA* (GTFIL)_%BUFFER ADDR_^1_(RAO* GTFIL_^1_(STA* GFILE+6_^1_(ENA_!0_^1_(STA- CSW,I_^1*_]_^1*€€_$DO NOT ZERO OUT MSB / LSB. THIS WILL ALLOW DIRECT ACCESS_^1*_$AFTER THE FIRST REFERENCE._^1*_]_^1GFILE RTJ- (REQPRO)_$GTFILE REQUEST._^1_(NUM_!$5A00_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1_(ADC_!$8C2_^1_(ADC_!0_^1_(ADC_!0_^1_(ADC_!0_^1_(ADC_!0_^1_(ADC_!0_^1_(ADC_!0_^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1_(JMP* (GTFIL)_^1MACROS ALF_!3,MACROS_H**MSOS 4.0_^1DOUT_#ADC_!0_^1_(STA€€* DISKWR+6_^1_(STQ* DISKWR+8_^1_(ENA_!0_^1_(STA- CSW,I_^1DISKWR RTJ- (REQPRO)_$FWRITE REQUEST._^1_(ADC_!$4C00_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1DISKW5_!NUM_%96_^1_(ADC_!0_^1_(ADC_!0_^1_(ADC_!0_^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1_(ENA_!96_^1_(STA* DISKWR+5_^1_(JMP* (DOUT)_^1DIN_$ADC_!0_^1_(STA* DISKRD+6_^1_(STQ* DISKRD+8_^1_(ENA_!€€0_^1_(STA- CSW,I_^1DISKRD RTJ- (REQPRO)_$FREAD REQUEST._^1_(ADC_!$4800_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1_(NUM_!96_^1_(ADC_!0_^1_(ADC_!0_^1_(ADC_!0_^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1_(JMP* (DIN)_^1OPT_"ENA 0_^1_%ENQ 4_QMSOS4.1_^1_(STA_!L,Q_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-4_^1_%LDA- CT,I_)FIND 1ST NON-BLANK_^1_%INA_#-1_0CHARACTER€€_^1_%STA-_"CT,I_.ON OPT CARD_^1OB_#RAO-_"AF,I_^1_%RTJ*_"(O1+1)_,TO CHPU_^1_%SQM_#OTT_/BLANK OPT CARD_^1_%INQ_#-$20_^1_%SQN_#1_^1_%JMP*_"OB_^1_%INQ_#$20_^1_%INQ -$D_*IS IT A CARRIAGE RETURN_^1_%SQZ OTT_*YES, GO GET OPTIONS FROM STDOCD_^1_%INQ $D_+NO, MUST BE A VALID CHARACTER_^1_%JMP*_"O1+2_.GO TO ANALIZE NON-BLANK_^1OTT_"RTJ-_"(REQPRO)_*REQUEST OPTIONS FROM TTY_^1OTT1_#NUM_!$4C0€€0_I**MSOS 4.0_^1_(ADC_!0_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_!4_^1_(ADC_!OPTS_^1_(ENA_!-0_^1_(ENQ_!40_^1_(STA* (O22),Q_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(ENA_!0_^1_(STA- CSW,I_^1_%RTJ- (REQPRO)_$FREAD REQUEST._^1_(ADC_!$4800_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDICD_^1_(NUM_!40_^1O22_$ADC_!INBUF_^1_(LDA* *-1_^1_(STA- INPADR,I_€€^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1_(RAO- AF,I_^1_(ENA_!-1_^1_(STA- CT,I_^1O1_%RTJ_!CHPU_^1_(SQP_!1_^1_(JMP* OX_^1_(STQ- CS,I_^1_%ENQ 4_QMSOS4.1_^1O11_"LDA- CS,I_^1_(SUB* OT,Q_^1_(SAZ_!O3-*-1_'FOUND_^1_(INQ_!-1_^1_(SQM_!1_^1_%JMP* O11_^1_(LDA- CS,I_^1_%INA_#-$49_.I OPTION_^1_%SAZ_#OI_^1_%INA_#8_1A OPTION_^1_%SAN_#OI-1_.NO_^1_%JMP- (DISP)_'EXIT_^1O3_%RAO_!L,Q_*SET CHR€€_^1_(JMP* O1_^1OI_#RAO-_"AF,I_^1_%RTJ*_"(O1+1)_,TO CHPU_^1_%SQP_#1_^1_%JMP*_"OLU_/END OF OPTIONS GET LUN_^1_%INQ_#-$21_/TERMINATOR_^1_%SQM_#2_2YES--GETLUN_^1_%INQ_#$21-$2C_,COMMA_^1_%SQN_#1_^1_%JMP*_"OLU_^1_%INQ_#-4_^1_%SQP_#1_^1_%JMP*_"OI_+NOT NUMERIC, IGNORE CHARACTER_^1_%INQ_#-$11_^1_%SQP_#OLU-1_(ALPHA--GET LUN_^1_%INQ_#$11-$A_^1_%SQM_#1_^1_%JMP*_"OI_+NOT NUMERIC, IGNORE CHARAC€€TER_^1_%INQ_#$A_^1_%LDA*_"HOLD_.SECOND NUMBER_^1_%SAZ_#OB1_^1_%LDA*_"HOLD+1_^1_%SAP_#1_^1_%STQ*_"HOLD+1_^1_%JMP*_"OI_^1OB1_"STQ*_"HOLD_)NO--STORE 1ST NUMBER AND_^1_%JMP*_"OI_+SEE IF THERE'S ANOTHER_^1_%INQ_#$41_^1OLU_"STQ-_"CS,I_)SAVE NEXT CHARACTER_^1_%CLR_#A_,GET DECIMAL VALUE OF LU_^1_%LDQ*_"HOLD+1_^1_%SQM_#OI2_^1_%LDA*_"HOLD_^1_%STQ*_"HOLD_^1_%MUI_#=N10_^1OI2_"ADD*_"HOLD_^1_%AD€€D-_"$2F_*SET ASCII MODE BIT_^1OI1_"STA_#READI_(STUFF READ REQUEST LU_^1_%LDQ-_"CS,I_^1_%SQM OX_^1_%JMP*_"O1+2_^1OX_#ENA 0_^1_(STA- LN,I_^1_(STA- AF,I_^1_(STA- FSTM,I_^1_(RAO_!FST_^1_(LDA_!=N$5555_^1_(STA- BUFFSW,I_^1_(ENA_!$30_*SET SEQ TO ZERO_^1_(ENQ_!4_^1_(STA- SQ,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_%JMP P1D_O75*1837_^1HOLD_!NUM_#0,-0_)HOLDER FOR I OPTION_^1OT_#NUM €€ $4C,$50,$58,$43,$4D_?MSOS4.1_^1OPTS_#ALF_!4,OPTIONS_^1_%BZS TMINPA,TMLN,TMAF,TMFSTM_;MSOS4.1_^1_%BZS TMPBUF(96)_HMSOS4.1_^1ABRT_!ALF 6,INPUT ERROR_^1CO_%ENQ_!1_^1_(STQ_!CONS+CSW_^1_%JMP- (DISP)_'EXIT_^1RCO_"SQM RCO1_)TEST FOR ERROR ON INPUT_^1_(INQ_!1_^1_(STQ_!CONS+RCS_^1_(JMP* CO+3_^1RCO1_!STQ CONS+RCS_^1_%LDA- $F9_*STANDARD INPUT DEVICE_.**MSOS 4.0_^1_%STA* DEVICE_K**MSOS €€4.0_^1_%RTJ- (REQPRO)_$STATUS STANDARD INPUT DEVICE_'**MSOS 4.0_^1_%NUM $4600_^1DEVICE NUM 0_P**MSOS 4.0_^1_%NUM 0_P**MSOS 4.0_^1_%ALS 4_,BIT 11 IS END OF FILE INDICATOR_#**MSOS 4.0_^1_%SAP 1_,POSITIVE MEAN AN ERROR CONDITION OCCURRED 4.0_^1_%JMP- (DISP)_K**MSOS 4.0_^1_%ENA 6_^1_%STA OTT+5_^1_%LDA =XABRT_^1_%STA OTT+6_^1_%RTJ- (REQPRO)_$OUTPUT ERROR MESSAGE._^1_(ADC_!$6000€€_I**MSOS 4.0_^1_(ADC_!OTT1_J**MSOS 4.0_^1_%JMP* CO+3_^1*_]_^1*_$THIS ROUTINE HANDLES REQUESTS FOR DATA WHICH IS_^1*_$REQUIRED FROM THE FILE, MACSKL_^1*_]_^1GTFILS NUM 0_,ENTRY_^1_%STQ* SKLNUM_^1CHKIN TRQ A_^1_%SUB* GFW1_)- FW OF SKELETON IN CORE_^1_%SAP OKLOW_(LOW BOUND OK_^1_%JMP* READSK_'TO LOW, GO READ IN NEW BLOCK_^1OKLOW SUB* ZONSIZ_'(-) SIZE_^1_%SAM OKISIN_'REQUIRED FWA€€ IN ZONE_^1_%JMP* READSK_'TO HIGH, GO READ NEW BLOCK_^1OKISIN ADD* ZONSIZ_'ADD BACK SIZE FOR INCREMENT IN ZONE_^1_%ADD* ADZONE_'ADDRESS OF SOURCE_^1_%STA* ADRSOU_^1_%LDA* (GTFILS)_$GET DESTINATION ADDRESS_^1_%RAO* GTFILS_'BUMP RETURN ADDRESS_^1_%STA* ADRDES_^1_%ENQ 95_^1COPYIT LDA* (ADRSOU),Q_"COPY TO_^1_%STA* (ADRDES),Q_"USER AREA_^1_%INQ -1_^1_%SQM 1_,DONE COPY_^1_%JMP* COPYIT€€_'LOOP COPY_^1_%JMP* (GTFILS)_$RETURN TO CALLER_^1*_$COME HERE TO READ BLOCK OF SKELTON_^1READSK LDA* GFLSB_^1_%SAZ CMPTZS_'FIRST REQUEST,_^1_%JMP* GSETUP_^1CMPTZS LDA =XDIRBUF_$COMPUTE ZONE SIZE_^1_%SUB* ADZONE_'NO WORDS AVAILABLE BETWEEN ASSEM/COMMON_^1_%SAP 1_,LESS THAN $7FFF_^1_%LDA- $11_*BIGGER, START WITH $7FFF_^1_%CLR Q_^1_%DVI =N96_)NO FULL SECTORS_^1_%MUI* *-1_*TOTAL €€WORDS FOR FULL SECTORS_^1_%SAN 1_^1_%ENA 96_+MAKE ZONE SIZE = 96, NO ZONE_^1_%STA* ZONSIZ_'SAVE ZONE SIZE_^1_%INA -96_^1_%LDQ =XINSKBF_$MAKE ZONE IN INSKBF, ONLY 1 SECTOR_^1_%SAN 1_,MORE THAN 1 SECTOR_^1_%STQ* ADZONE_'CHANGE ADDRESS OF ZONE TO INSKBUF_^1GSETUP LDQ* GFLSB_(FLAG = 0, FIRST REF. GET 1 SECTOR_^1_%SQN FULBLK_^1_%ENA 1_,FIRST REF. READ FIRST SECTOR_^1_%STA* GFW1_^€€1_%INA 96_+BUMP BY 96 FOR 1SECOTR_^1_%JMP* STRW2_(GO STORE W2_^1FULBLK LDA* SKLNUM_'GET REQUIRED FWA_^1_%STA* GFW1_^1_%ADD* ZONSIZ_'NO WORDS_^1STRW2 INA -1_^1_%STA* GFW2_)FINAL WORD OF XFER_^1_%SAM STGFW2_'FINAL WORD OF XFER OK_^1_%LDA* GFW1_)CHECK TO SEE IF LAST WORD EXCEEDS 65K_^1_%SAP STGFW2_'NO, OK_^1_%ENA -2_+YES, MAKE FINAL WORD OF_^1_%STA* GFW2_)XFER MAXIMUM FILE LENGT€€H_^1STGFW2 ENA 0_^1_%STA- CSW,I_(CLEAR I/O COMPLETION FLAG_^1_%RTJ- (REQPRO)_$MON_^1GFILSK NUM $5A00_(GETFILE REQUEST CODE_^1_%ADC CO_+COMPLETION_^1_%ADC 0_,THREAD_^1_%NUM $8C2_)LU_^1GFW1_!NUM 0_,W1_^1ADZONE ADC ZONE_)S_^1GFW2_!NUM 0_,W2_^1_%ADC MCSKAL-GFILSK INCREMENT TO ASCII NAME_^1_%NUM 0_,MSB_^1GFLSB NUM 0_,LSB_^1_%LDA- CSW,I_(COMPL FLAG_^1_%SAN 1_,DONE_^1_%JMP* *€€-2_*LOOP FOR DONE_^1_%SQN 1_,NOT FIRST REQUEST_^1_%JMP* GSETUP_'DO AGAIN ALL OF IT_^1_%LDQ* SKLNUM_^1_%JMP* CHKIN_(GO SET UP TO COPY_^1*_]_^1*_$WORKING AREA / CONSTANTS_^1*_]_^1MCSKAL ALF 3,MACSKL_$ASCII NAME OF FILE_^1*_]_^1ADRSOU ADC 0_,ADDRESS SOURCE_^1ADRDES ADC 0_,ADDRESS DESTINATION_^1ZONSIZ ADC 0_,ZONE SIZE (DIRBUF-ZONE/96*96)_^1SKLNUM NUM 0_,WORD ADDRESS OF SKELETON U€àSER NEEDS_^1*_]_^1*_$THE AREA FROM HERE TO THE BEGINNING OF COMMON_^1*_$WILL BE USED TO BUFFER MACSKL IN CORE, TO THE_^1*_$MAXIMUM EXTENT POSSIBLE_^1*_]_^1ZONE_!BZS ZONE(1)_%MUST BE THE LAST CODE LINE IN PROGRAM_^1_(END_^__àPPASS2 CSY/ A04 P€1_%NAM PASS2_(DECK-ID A04 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1*_'PROGRAM BASE-MACRO ASSEMBLER 2.0_4**MSOS 4.0_^1_(ENT_%PASS2_^1_%ENT_!PCO,IFR_^1PS_#EQU PS(2)_(TO READ IN PASS 3._^1STDLGO EQU STDLGO($E4)_^1REQPRO EQU REQPRO($F4)_^1STDOUT EQU €€STDOUT($FA)_^1STDPRT EQU STDPRT($FB)_^1STDOCD EQU STDOCD($FC)_^1DISP_!EQU DISP($EA)_^1_%SPC 2_^1*_$NOTE - CHANGES FLAGGED $ $ $ IN NAM AND END ARE TO PUNCH THE_^1*_,PROGRAM I.D. NUMBER IN THE NAM BLOCK._^1_%SPC 2_^1ASSEM_"ENQ_!PS_^1_(SQP_!MA1-*-1_^1_(ENA_!0_^1_(STA_!FST_^1_%ENQ 4_QMSOS4.1_^1_%STA APASS1,Q_JMSOS4.1_^1_%STA PS1W2,Q_KMSOS4.1_^1_%SQZ 2_QMSOS4.1_^1_%INQ -1_PMS€€OS4.1_^1_%JMP* *-6_OMSOS4.1_^1MA1_$LDA_!=XPS1ALF-FILE-1_?**MSOS 4.0_^1_(JMP* *+1,Q_^1_(INA_!-3_^1_(INA_!-3_^1_(INA_!-3_^1_%INA -3_PMSOS4.1_^1_%INA 12_PMSOS4.1_^1GETFIL_!STA* FILE+8_^1_(ENA_!0_^1_(STA* FILE1_^1*_81 CARD DELETED_6MSOS4.1_^1_(STA* CSWW_^1_%ENQ PS_PMSOS4.1_^1_%LDA APASS1,Q_JMSOS4.1_^1_%STA* FILE2_MMSOS4.1_^1_%LDA PS1W2,Q_KMSOS4.1_^1_%STA* FILE+7_LMSOS4.1_^1FILE€€_!RTJ- (REQPRO)_$GTFILE REQUEST._^1_(NUM_!$5A00_I**MSOS 4.0_^1_(ADC_!COO_^1_%ADC 0_^1_(ADC_!$8C2_^1_%ADC 1_^1_(ADC_!ASSEM_^1_%NUM 0_QMSOS4.1_^1*_9IF PASS3 IS CHANGED********_^1_(ADC_!0_^1FILE1_"ADC_!0_^1FILE2_"ADC_!0_^1_(LDA* CSWW_^1_(SAN_!1_^1_(JMP* *-2_^1_%ENQ PS_PMSOS4.1_^1_%LDA* FILE2_MMSOS4.1_^1_%STA APASS1-1,Q_HMSOS4.1_^1_%LDA* FILE+7_LMSOS4.1_^1_%STA PS1W2-1,Q_IMSOS4€€.1_^1_(RTJ* *+1_^1ASSEM1_!ADC_!0_^1_(LDA* ASSEM1_^1_(SUB* ASMADC_^1_(SAN_!1_^1_(JMP* ENDASB_^1_%LDA* ASSEM1_'SET STARTING ADDRESS IN REQUEST_'68*1500_^1_%INA APUNT1_'ABSOLUTE ADDRESS OF PUNT1_-68*1500_^1_%STA* APUNT_O68*1500_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(ADC_!$4C00_I**MSOS 4.0_^1_(ADC_!0_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_!6_^1APUNT ADC_#0_P68*1500€€_^1_%JMP- (DISP)_'EXIT_^1PUNT1_"ALF_!6,ABS BASE ERR_^1APUNT1 EQU APUNT1(PUNT1-ASSEM1)_@68*1500_^1ASMADC_!ADC_!ASSEM1_^1_(BZS_!CSWW_^1COO_$ENA_!1_^1_(STA* CSWW_^1_%JMP- (DISP)_'EXIT_^1PS1ALF_!ALF_!3,PASS1_^1PS2ALF_!ALF_!3,PASS2_^1PS3ALF_!ALF_!3,PASS3_^1PS4ALF_!ALF 3,TABLST_G**MSOS 4.0_^1PS5ALF ALF 3,XREF_LMSOS4.1_^1MA5_"NUM $C74_^1_(EQU_!ENDASB(MA5+1)_^1_%SPC 2_^1*************€€***************************************_*MSOS4.1_^1*_Q*_*MSOS4.1_^1*_Q*_*MSOS4.1_^1*_*CHANGE THE FOLLOWING EQUATE_+*_*MSOS4.1_^1*_*IF THE LENGTH OF ANY PART OF_**_*MSOS4.1_^1*_*PASS3 CHANGES_9*_*MSOS4.1_^1_)EQU_"LPASS3($DB3)_^1****************************************************_*MSOS4.1_^1_%SPC 2_^1_%EQU PASS3L(LPASS3/96*96+96)_;MSOS4.1_^1_%SPC 1_^1PASS2_"LDA_%=XCONS_^1_(STA- €€I_^1_%LDA =XPASS3L_JMSOS4.1_^1_(ADD_%=XASSEM+1_^1_(STA-_$ST,I_^1_%LDA- I_^1_%SUB- ST,I_^1_%SAP BB_+SKIP IF LESS THAN $8000_^1_%LDA- I_^1_%SUB- $11_*$7FFF_^1_%STA- ST,I_)SET LENGTH OF SYMBOL TABLE TO $7FFF_^1BB_#EQU BB(*)_^1_(ENA_%1_^1_(STA-_$TSW,I_^1_(STA-_$CSW,I_^1_(STA-_$PSW,I_^1_(LDA_%ILSCST_^1_%INA -2_^1_(STA-_$SECTNO,I_,TEMP ***_^1_(LDA_%=XCONS_^1_(STA- ET,I_"EXTERNAL TB€€L ADDR_^1_(SUB-_$ST,I_^1_(STA-_$WMS,I_/NO OF WORDS IN SYMTAB_^1_(RTJ_%ZSYTAB_.ZERO SYMBOL TABLE_^1_(LDA-_$WMS,I_^1_(ENQ_%0_^1_(DVI_%=N96_^1_(SQZ_%1_^1_(INA_%1_^1_(STA-_$SCOUNT,I_,NO. SECTORS FOR SYMTAB_^1_%LDA+ ILSCND_^1_(STA-_$CSYSCT,I_,CURRENT SECTOR NO._^1CD_%LDQ_%=XSL-XSYSCT_^1_(ENA_%0_^1_(STA-_$XSYSCT,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(LDA_!=N$240_^1_(STA- LA,I_^1_(LD€€A_!=N$FF_^1_(ENQ_!0_^1_(STQ- LA+3,I_^1_(RTJ_!SYPT_^1_(ENA_%1_^1_(STA-_$RM,I_^1_(LDA_%=N$2020_^1_(STA_%NAMC_^1_(STA_%NAMC+1_^1_(STA_%NAMC+2_^1NEXT_#ENA_%0_^1_(ENQ_%14_^1_(STA-_$DX,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$NEXT+2_^1_(STA-_$LP,I_^1_(RTJ* RDIM_^1_(ALS_%3_^1_(SAP_%1_^1_(JMP*_$*-3_^1_(ENA_%-1_^1_(STA-_$CT,I_^1_(JMP_%LBPK_^1IFR_"JMP+_!NEXT_+DO NOTHING THIS PASS_^1RDIM_#ADC_%0_€€^1_(LDA*_$RZ+1_^1_(LDQ-_$BS,I_^1_(SQZ_%1_^1_(INA_%48_^1_(STA*_$IM_^1_(STA IMJ_M**MSOS 4.0_^1_(ENA_%0_^1_(SQZ_%2_3READ IN_^1_(STA-_$BS,I_0FLIP BUFFER SWITCH_^1_(JMP*_$RZ1_^1_(STA-_$CSW,I_^1_(RAO-_$BS,I_^1RZ_%LDA_%=XIB_^1_(LDQ-_$SECTNO,I_^1_%INQ 2_^1_(STQ-_$SECTNO,I_^1_(RTJ+_$DIN_^1RZ1_$ENQ_%41_^1_(LDA*_$(IM),Q_^1_(SAZ_%1_^1_(STA-_$LN,I_0STORE LINE NO_^1_(INQ_%1_^1_(LDA*_$(IM),Q_^1_€€(STA-_$IL,I_0IL FLAG BITS_^1_(JMP*_$(RDIM)_^1PRNT_#ADC_%0_^1_(LDA_%L_^1_(SAN_%3_^1_(LDA_%=N$18FC_^1_(STA*_$WRT1_^1_(RTJ*_$WRIT_^1_(JMP*_$(PRNT)_^1_(BZS_%IM(1),IB(96)_^1WRIT_#ADC_%0_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_%COT_^1_(ADC_%0_^1WRT1_!VFD N3/0,N1/1,N2/2,X10/STDPRT_^1_(ADC_%10_^1_(ADC_%CONS+PB_^1_(JMP*_$(WRIT)_^1ER_%ADC_%0_^1_(RAO_%ERC_^1PD_%€€LDA-_$TSW,I_^1_(SAN_%1_^1_(JMP*_$PD_^1_(ENA_%0_^1_(STA-_$TSW,I_^1_(LDQ*_$ERT,Q_^1_(STQ-_$ES,I_^1_(STQ-_$PB+4,I_^1_(RTJ*_$DECV_^1_(STQ-_$PB+1,I_^1_(STA-_$PB+2,I_^1_(LDA_%=A**_^1_(STA-_$PB+3,I_^1_(STA-_$PB,I_^1_(ENQ_%4_^1_(STA-_$PB+5,B_^1_(SQZ_%2_^1_(INQ_%-1_^1_(JMP*_$*-3_^1_(RTJ+_$PRNT_^1_(ENA_!0_^1_(STA- ES,I_^1_(STA- RC,I_^1_(ENQ_%42_^1ERIM_#LDA_!(IM),Q_#SET ERROR BIT IN IL_0**M€€SOS 4.0_^1_(AND_%=N$DFFF_^1_(EOR_%=N$2000_^1_(STA_!(IM),Q_H**MSOS 4.0_^1_(LDA_%=XIB_^1_(LDQ-_$SECTNO,I_^1_(RTJ+_$DOUT_^1_(JMP* (ER)_^1DECV_#ADC_!0_0NUMBER TO CONVERT IN A_^1_(ENA_!0_%THIS ROUTINE CONVERTS THE_^1_(STA- TR,I_"BINARY LINE NUMBER TO ASCII_^1_(ENQ_%4_^1_(LDA- LN,I_"OUTPUT IS 3 DIGITS IN QA WITH_^1DECVA INA -10_*A TRAILING BLANK_^1_(SAM_!2_^1_(RAO- TR,I_^1_%JMP* DE€€CVA_^1_(INA_!58_$ADD BACK 10 PLUS HEX 30 TO_^1_(STA- TR,B_-MAKE ASCII CHAR_^1_(LDA- TR,I_^1_(STA-_$TR+5,I_^1_(ENA_!0_^1_(STA- TR,I_^1_(LDA-_$TR+5,I_^1_(INQ_!-1_^1_(SQZ_!1_^1_%JMP* DECVA_^1_(LDQ- TR+1,I_^1_(QLS_!8_^1_(ADQ- TR+2,I_^1_(LDA- TR+3,I_^1_(ALS_!8_^1_(ADD_%TR+4,I_^1_(JMP* (DECV)_^1COT_$INQ_%1_^1_(STQ_%CONS+TSW_^1_%JMP- (DISP)_'EXIT_^1COP_$INQ_!1_^1_(STQ_!CONS+PSW_^1_€€%JMP- (DISP) EXIT_^1ERT_$ALF_!1,DS_^1_(ALF_!1,EX_^1_(ALF_!1,LB_^1_(ALF_%1,PP_^1_(ALF_!1,OP_^1_(ALF_!1,RG_^1_(ALF_!1,RL_^1_(ALF_!1,OV_^1_(ALF_!1,UD_^1_(ALF_%1,MO_^1*_'HOLDERS AND SWITCHES FOR PASS 2_^1*_1ST MUST BE FIRST_^1_(EQU_%ST(1),ET(ST+1),PSW(ET+1),PB(PSW+1)_^1_%EQU DSW(PB+49),DSWW(DSW+1)_^1_%EQU TSW(DSWW+1),CSW(TSW+1),SECTNO(CSW+1)_^1_%EQU PNAM(SECTNO+1)_^1_%EQU WMS(PNAM+€€3),CSYSCT(WMS+1)_^1_(EQU_%SCOUNT(CSYSCT+1),XSYSCT(SCOUNT+1)_^1_(EQU_%CC(XSYSCT+1),DC(CC+1)_^1_(EQU_%PC(DC+1),DX(PC+1),LA(DX+2),W1(LA+4),W2(W1+1)_^1_(EQU_%AD(W2+1),AF(AD+1),AM(AF+1),CL(AM+1),EX(CL+1)_^1_(EQU_%RC(EX+1),AX(RC+1),LC(AX+1),AU(LC+1),AR(AU+1)_^1_(EQU_%TR(AR+1),SY(TR+7),NU(SY+4),SG(NU+1),RP(SG+1)_^1_(EQU_%HX(RP+1),XMOD(HX+1),LT(XMOD+1),ES(LT+1),LP(ES+1)_^1_(EQU_%IG(LP+1),N€€S(IG+1),IS(NS+1),CT(IS+1),CS(CT+1)_^1_(EQU_%IL(CS+1),MD(IL+1),ID(MD+1),SKF(ID+1)_^1_(EQU_%BS(SKF+1)_^1_%EQU AUB(BS+1)_^1_%EQU UB(AUB+57)_^1_(EQU_!LN(UB+57),OR(LN+1),OC(OR+1)_^1_(EQU_!AS(OC+1),SC(AS+1),SS(SC+1)_^1_(EQU_%WC(SS+1),RM(WC+1)_^1_(EQU_%YL(RM+1),SZ(YL+1)_^1_(EQU_%PER(SZ+1)_^1_(EQU_%VBT(PER+1),VMS(VBT+1),IFNAM(VMS+1)_^1_(EQU_%MPSW(IFNAM+1)_^1_(EQU_%VCT(MPSW+1),VWD(VCT+1)_€€^1_(EQU_%AX16(VWD+1)_^1_(EQU_%ETSAVE(AX16+1)_^1_(EQU_%DVFL(ETSAVE+1)_^1_(EQU_%PAGL(DVFL+1)_^1_(EQU_%SL(PAGL+1)_^1_(COM_%CONS(SL+1)_^1_(COM_%FST_^1_%COM L,P,X,C,MM,ILSCST,SRSCST,ILSCND_3MSOS4.1_^1_(COM_%ERC_^1_%COM LGSECT_^1_%COM SYRFTS(96)_"SECT.REF.TBL.SYMBOLS_0MSOS4.1_^1_%COM SYCADM_'ADDR.TO SECT.REF.TBL.SYMBOLS_(MSOS4.1_^1_%COM SYEXT_MMSOS4.1_^1_%COM SYINDM_LMSOS4.1_^1_%CO€€M SYTRFM_'ENTRY ADDR.REF.TBL.SYMBOLS_*MSOS4.1_^1_%COM SYTRFD_'1ST ADDR.REF.TBL.SYMBOLS-DISK_'MSOS4.1_^1_%COM APASS1,APASS2,APASS3,ATBLST,AXREF,PAGE_,MSOS4.1_^1_%COM PS1W2,PS2W2,PS3W2,PS4W2,PS5W2_5MSOS4.1_^1_(EXT_!ZSYTAB,SYPT,LBPK,DIN,DOUT,OB,N2,D1C_^1_(EXT_!CHPU,RECV,CHPR,D5,TBLIN,RESTBL,SYCH,IMJ_'**MSOS 4.0_^1_%EXT DSKWLN_^1_(ENT_!MOVE,UP1,UP2,ADC,EIF,ALF,NUM,DEC,VFD,ASSEM,CO€€P,COT_^1_(ENT_!IFA,IFC,EMC,LST,NLS,NAM1,NAM,AXPR,PRNT,NAMC,ER **MSOS 4.0_^1_(ENT_"NEXT_I**MSOS 4.0_^1_(ENT_%PUNC_^1NAM_$LDA-_$LN,I_^1_(INA_%-1_^1_%SAZ NAMIT-*-1_^1_(ENQ_%4_^1_(RTJ_%ER_^1_(JMP_%OB_^1NAMIT RAO- IG,I_^1_(RTJ*_$(DD+6)_.TO CHPR_^1_(SQN_%1_^1_(STQ-_$SY+1,I_.ZERO NULL FLAG_^1_(SAN_%2_3ERR FROM CHPR_^1_(LDA-_$CS,I_^1_(SAZ_%2_^1_(ENQ_%1_^1_(RTJ*_$(DD+2)_.ERROR_^1_(LDQ_!N2€€_^1_(RTJ* (DD+4) RECONVERT TO 7 BITS_^1_(ENQ_%2_3STORE NAME IN_^1NMT1_!LDA-_"LA,B_^1_(STA*_$NAMC,Q_^1_%STA-_"PNAM,B_^1_(INQ_%-1_^1_(SQM_%1_^1_%JMP*_"NMT1_^1_%ENQ 35_+$$$_C68*1338_^1TXT_"LDA (IM),Q_'$ $ $_^1_%INA 0_,$$$ CHECK FOR -0_459*1186_^1_%SAZ BLKOUT_'$$$_A59*1186_^1_%ALS 8_,$$$_A59*1186_^1_%INA -$D_*$$$_A59*1186_^1_%SAZ BLKOUT_'$$$_A59*1186_^1_%INA $D_+$$$_A59*1186_€€^1_%ALS 8_,$$$_A59*1186_^1_%JMP* *+3_*$$$_A59*1186_^1BLKOUT LDA =A_+$$$ SUBSTITUTE BLANKS FOR FFFF,0D00 59*1186_^1_%STA* NAMC-6,Q_$$ $ $_^1_%INQ -13_*$ $ $_^1_%SQM 2_,$ $ $_^1_%INQ 12_+$ $ $_^1_%JMP* TXT_*$ $ $_^1_(ENQ_%42_^1_(LDA-_$IL,I_0SET READ ONLY IL_^1_(ADD_%=N$1000_-FOR PASS 3_^1_(STA_%(IM),Q_^1_(LDA_%=XIB_^1_(LDQ-_$SECTNO,I_^1_(RTJ+_$DOUT_^1NAM1_#JMP_%NEXT_^1_%BZS NA€€MC(30)_L68*1338_^1DD_%ADC_%D1C,PRNT,ER,CHPU,RECV,PUNC,CHPR,0_^1_(ADC_%0,UP1,AXPR,0,0,D5,0_^1ALF_$RTJ*_$(DD+13)_-LABEL TO SYMTAB_^1_(RTJ*_$(DD+3)_.TO CHPU_^1_(INA_%$20_^1_(TRA_%Q_^1_(STQ-_$TR+4,I_.SAVE N_^1_(INQ_%-$3A_^1_(SQM_%1_3MAY BE NUMERIC_^1_(JMP*_$DA12_0NOT NUMERIC_^1_(INQ_%$A_^1_(SQP_%1_3NUMERIC_^1_(JMP*_$DA12_0NOT NUMERIC_^1_(LDA-_$CT,I_^1_(INA_%-1_^1_(STA-_$CT,I_0REDUCE C€€OL COUNT_^1_(RTJ*_$(DD+6)_.TO CHPR_^1_(SAN_%DA11-*-1_,ERR FROM CHPR_^1_(LDA-_$CS,I_^1_(INA_%-1_^1_(SAN_%DA11-*-1_,ERR - NO COMMA NEXT_^1_%ENA_#72_^1_%SUB-_"CT,I_^1_%ARS_#1_^1_%SUB-_"NU,I_^1_%SAM_#DA11_^1_(LDQ-_$NU,I_^1_(SQZ_%DA11-*-1_,NO COUNT_^1_(RTJ_%UP2_1BUMP PROG CTR_^1DA11_#JMP_%NEXT_^1DA12_#ENA_%0_^1_(STA-_$TR+2,I_^1_(STA-_$TR+3,I_^1_(RAO-_$AF,I_^1_(RTJ*_$(DD+3)_.TO CHPU_^1_(€€INQ_%-$2C_^1_%SQZ DA16-*-1_^1DA1_$ENA_%0_^1_(STA-_$AF,I_0ZERO AF FLAG_^1_(JMP*_$DA11_^1DA16_#RTJ*_$ALFSB2_^1_(JMP*_$DA15_073RD COL OR CR OR MATCH ON N_^1_(JMP*_$*-2_1SPECIAL CHARACTER_^1_(RAO-_$TR+3,I_^1_(LDQ-_$TR+3,I_^1_(LRS_%1_^1_(SAM_%1_^1_(RTJ*_$(DD+9)_.BUMP PROG CTR_^1_(JMP*_$DA16_^1DA15_#LDQ-_$TR+3,I_^1_(LRS_%1_^1_(SAP_%1_^1_(RTJ*_$(DD+9)_.BUMP PROG CTR_^1_(JMP*_$DA1_1EXIT_^€€1ALFSB2_!ADC_%0_^1_(LDA-_$TR+2,I_.SAVE PRECEDING CHARACTER_^1_(STA-_$TR+1,I_^1_(RTJ*_$(DD+3)_.GET NEXT CHARACTER_^1_(STQ-_$TR+2,I_.SAVE IT_^1_(LDA-_$CT,I_^1_(INA_%-72_^1_%SAP ALFXB2-*-1_^1_(TRQ_%A_^1_(INQ_%-$D_^1_(SQZ_%2_3CR_^1_(EOR-_$TR+4,I_.CHECK MATCH ON N_^1_(SAN_%1_^1ALFXB2 JMP* (ALFSB2)_^1_(LDA-_$TR+1,I_^1_(INA_%-$3A_^1_(SAN_%ALF1-*-1_^1_(ENQ_%5_3CHECK FOR SPECIAL_^1ALFYB2 L€€DA- TR+2,I_'CHAR FOLLOWING COLON_^1_(SUB*_$ALFTB2,Q_^1_(SAZ_%3_3FOUND ONE_^1_(SQZ_%ALF1-*-1_,NOT SPECIAL CHAR_^1_(INQ_%-1_^1_%JMP* ALFYB2_^1_(ENQ_%1_^1_(JMP*_$(ALFSB2),Q_*RETURN TO MARK+2_^1ALF1_#ENQ_%2_^1_(JMP*_$(ALFSB2),Q_*EXIT TO MARK+3_^1*_2R_!T_!L_!B_!F_!V_"PASS 2 AND 3_^1ALFTB2_!NUM_%$52,$54,$4C,$42,$46,$56_^1ADC_$RTJ* (DD+13) LABEL TO SYM TABLE_^1_(RAO-_$AD,I_0SET ADC FLAG_€€^1_(ENA_!0_^1_(STA- IS,I_-LEADING SIGN LEGAL_^1DA4_$RTJ*_$(DD+6)_.TO CHPR_^1_(LDA-_$CS,I_^1_(INA_%-2_2LOOP THROUGH CHPR_^1_(SAM_%1_3UNTIL BLANK OR_^1_(JMP*_$DA4_1COMMA ENCOUNTERED_^1_(RTJ_%UP1_^1_(LDA-_$CS,I_^1_(SAZ_%1_^1_(JMP*_$DA4_1GET NEXT FIELD_^1_(JMP_%NEXT_^1NUM_$RTJ* (DD+13) LABEL TO SYM TABLE_^1DA3_$ENA_%0_^1_(STA- IS,I_"LEADING SIGN LEGAL_^1_(RAO-_$NS,I_0SET NUM FLAG_^1€€_(RTJ*_$(DD+6)_.TO CHPR_^1_(SAZ_%3_^1_(SQZ_%2_^1_(ENA_%0_^1_(STA-_$CS,I_^1_(RTJ_%UP1_^1_(LDA-_$CS,I_^1_(SAZ_%3_^1_(INA_%-1_^1_(SAN_%1_^1_(JMP*_$DA3+3_^1NUM1_#ENA_%0_^1_(STA-_$NS,I_^1_(JMP_%NEXT_^1DEC_$RTJ_%D5_'LABEL TO SYM TABLE_^1_(RTJ_%CHPU_^1_(SAZ_%3_^1_(INA_%-$C_^1_(SAZ_%1_^1_(JMP*_$DEC+2_^1_(RTJ_%UP1_^1_(LDA-_$CS,I_^1_(SAZ_%1_^1_(JMP*_$DEC+2_^1_(JMP_%NEXT_^1LST_$ENA_!0_^1_(STA€€- YL,I_^1_(JMP_%NEXT_^1NLS_$RAO- YL,I_^1_(JMP*_$LST+2_^1VFD_$RTJ+_$D5_2PUT AWAY LABEL_^1_(ENA_%0_^1_(STA-_$VBT,I_/ZERO BIT COUNTER_^1VF2C_#STA-_$VMS,I_^1_(RTJ*_$(VFCHPU+1)_*TO CHPU_^1_(SAZ_%VF3C_^1_(INA_%-$C_^1_(SAN_%1_^1_(JMP*_$*-4_^1_(INA_%-$15_^1_(SAZ_%2_3MODE IS A_^1_(RAO-_$VMS,I_^1_(INA_%-$D_^1_(SAZ_%2_3MODE IS N_^1_(RAO-_$VMS,I_^1_(INA_%-$A_^1_(SAZ_%5_^1_(SAN_%2_^1VF3C_#LDA€€-_$VBT,I_^1_(SAZ_%1_3***_^1_(RTJ*_$(VFUP1+1)_+BUMP PROG CTR_^1_(JMP*_$NUM1_0EXIT_^1_(RTJ*_$(IFA5+1)_^1_%SAN VF3CA-*-1_^1_(LDA-_$NU,I_^1_(SAZ_%3_3ERR - N IS NOT A NUMBER_^1_(LDQ-_$CS,I_^1_(INQ_%-5_^1_(SQZ_%1_^1VF3CA JMP* VF3C+2_^1_(LDQ-_$VMS,I_^1_(JMP*_$*+1,Q_^1_(JMP*_$VFA_1MODE IS A_^1_(JMP*_$VFN_1MODE IS N_^1_(INA_%-17_^1_(SAM_%1_^1_(JMP*_$VF3C+2_.ERR,BIT COUNT GREATER THAN 16_^€€1_(INA_%17_^1_(ADD-_$VBT,I_/ADD N TO BIT COUNTER_^1_(STA-_$VBT,I_^1_(RTJ*_$(VFCHPU+1)_*TO CHPU, SLEW TO_^1_(SAZ_%4_3COMMA OR BLANK_^1_(INA_%-$C_^1_(SAZ_%1_^1_(JMP*_$*-4_^1_(INA_%1_^1_(STA-_$CS,I_^1VF6C_#LDA-_$VBT,I_^1_(INA_%-16_^1_(SAM_%4_^1_(STA-_$VBT,I_^1VFUP1_"RTJ+_$UP1_1BUMP PROG CTR_^1_(JMP*_$VF6C_^1VF5C_#LDA-_$CS,I_^1_(SAZ_%3_^1_(INA_%-1_^1_(SAZ_%2_^1_(JMP*_$VF3C+2_.ILLD_^1_(€€JMP*_$VF3C_^1_(JMP*_$VF2C_^1VFN_$INA_%-17_1MODE IS N_^1_(SAM_%1_^1_(JMP*_$VF3C+2_.ILLEGAL TERMINATORQ_^1_(INA_%17_^1_(ADD-_$VBT,I_^1_(STA-_$VBT,I_^1_(RAO-_$NS,I_^1_(RTJ*_$(IFA5+1)_,TO CHPR_^1_(JMP*_$VF6C_^1_(BZS_%VFA1(1)_-HOLDER FOR N (ASCI VFD)_^1VFA_$STA*_$VFA1_^1_(TRA_%Q_^1_(ENA_%0_^1_(LRS_%3_^1_(SAZ_%1_^1_(JMP*_$VF3C+2_.N NOT A MULTIPLE OF 8_^1_(RAO-_$AF,I_0SET ALF SWITCH FOR €€CHPU_^1_(ENA_%0_^1_(STA-_$TR+2,I_^1_(TCA_%A_^1_(STA-_$TR+4,I_.SET FOR NO COMPARE IN ALFSB2_^1VF4C_#RTJ_%ALFSB2_.GET NEXT CHAR_^1_(JMP*_$VF3C_073RD COL OR CR_^1_(JMP*_$*-3_^1_(LDA-_$VBT,I_^1_(INA_%8_^1_(STA-_$VBT,I_^1_(INA_%-16_^1_(SAM_%2_^1_(STA-_$VBT,I_^1_(RTJ*_$(VFUP1+1)_+BUMP PROG CTR_^1_(LDA*_$VFA1_^1_(INA_%-8_^1_(STA*_$VFA1_^1_(SAZ_%1_3FINISHED_^1_(JMP*_$VF4C_0GO AGAIN_^1_(STA€€-_$AF,I_^1VFCHPU_!RTJ+_$CHPU_0GET NEXT CHAR_^1_(SAZ_%1_^1_(INA_#-$B_^1_(STA-_$CS,I_^1_(JMP*_$VF5C_^1IFA_$ENA_%0_^1_(STA-_$VBT,I_/USE FOR SUBFIELD COUNT_^1_(STA-_$IS,I_0SET LEADING SIGN LEGAL_^1IFA1_#RTJ+_$AXPR_0EVALUATE EXPRESSION_^1_(SQZ_%2_^1IFA2_#JMP_%NEXT_^1_(LDQ-_$VBT,I_/SAVE EXPRESSION_^1_(STA-_$VMS,B_^1_(LDA-_$CS,I_^1_(AAQ_%A_^1_(SAZ_%2_3ILLEGAL FIELD TERMINATOR_^1_(SQZ_%2_^€€1_(JMP*_$IFA3_0ALL FIELDS PROCESSED_^1_(JMP*_$IFA2_^1_(RAO-_$IS,I_0SET LEADING SIGN ILLEGAL_^1IFA5_#RTJ+_$CHPR_0GET COMPARE CODE_^1_(LDA-_$CS,I_^1_(STA-_$VBT,I_^1_(ADQ-_$SY+1,I_^1_(STQ-_$VCT,I_^1_(INA_%-1_^1_(SAZ_%1_^1_(JMP*_$IFA2_0ERR,NO COMMA NEXT_^1_(JMP*_$IFA+2_/GO GET NEXT FIELD ***_^1IFA3_#ENQ_%3_^1_(LDA-_$VCT,I_^1_(SUB*_$IFTAB,Q_^1_(SAZ_%4_3FOUND_^1_(SQZ_%2_3ILLEGAL_^1_(INQ€€_%-1_^1_%JMP* IFA3+1_^1_(JMP*_$IFA2_^1_(LDA-_$VMS,I_^1_(SUB-_$VMS+1,I_^1_(QLS_%1_^1_(JMP*_$*+1,Q_^1_%SAN IFA3A-*-1_^1_(JMP*_$IFA2_0CONDITION MET_^1_%SAZ IFA3A-*-1_^1_(JMP*_$IFA2_^1_%SAP IFA3A-*-1_^1_(JMP*_$IFA2_^1_%SAZ IFA3A-*-1_^1_(SAM_%1_^1_(JMP*_$IFA2_^1IFA3A RAO- SKF,I_^1_(LDA-_$LA,I_0SAVE IF NAM_^1_(STA-_$IFNAM,I_^1_(JMP*_$IFA2_^1*_2EQ_!NE_!LT_!GT_^1IFTAB_"NUM_%$171,$3A5,€€$334,$1F4_^1IFC_$LDA-_$MD,I_^1_(ENQ_%0_^1_(SAN_%3_^1IFC2_#ENA_%0_^1_(STA-_$AF,I_^1_(JMP*_$IFA2_^1_(STQ-_$VBT,I_/USE FOR COUNTING SUBRIELDS_^1_(STQ-_$VMS,I_/USE FOR CHARACTER CTR_^1_(ENQ_%5_^1_(ENA_%0_^1_(STA-_$TR,B_^1_(SQZ_%2_^1_(INQ_%-1_^1_(JMP*_$*-3_^1IFC10_"RTJ+_$CHPU_0SLEW OVER LEADING BLANKS_^1_(SAN_%1_3FOUND A NON BLANK CHARACTER_^1_(JMP*_$IFA2_0GET OUT_^1_(LDA-_$CT,I_0SET CO€€L CTR BACK ONE_^1_(INA_%-1_^1_(STA-_$CT,I_0GET CHAR WITH AF_^1IF3C_#RAO-_$AF,I_0SWITCH SET_^1_(RTJ*_$(IFC10+1)_^1_(STQ-_$TR+6,I_^1_(LDA-_$VBT,I_^1_(INQ_%-9_^1_(SQZ_%4_3TAB_^1_(INQ_%-4_^1_(SQZ_%2_3CR_^1_(INQ_%-$13_^1_(SQN_%1_^1_(JMP*_$IF5C_0BLANK_^1_(INQ_%-$C_^1_(SQN_%1_^1_(JMP*_$IF4C_0COMMA_^1_(RAO-_$VMS,I_^1_(LDA-_$VMS,I_^1_(INA_%-7_^1_(SAM_%1_^1_(JMP*_$IF3C_06 CHAR STORED_^1_(LDQ€€-_$VMS,I_^1_(INQ_%-1_^1_(LRS_%1_^1_(ADQ-_$VBT,I_^1_(SAM_%3_3RIGHT CHARACTER_^1_(LDA-_$TR+6,I_.LEFT CHARACTER_^1_(ALS_%8_^1_(JMP*_$*+2_^1_(LDA-_$TR+6,I_^1_(ADD-_$TR,B_^1_(STA-_$TR,B_^1_(JMP*_$IF3C_^1IF4C_#SAZ_%1_^1_(JMP*_$IFC2_0ERR, COMMA WITH VBT NON ZERO_^1_(ENA_%0_^1_(STA-_$AF,I_^1_(RTJ*_$(IFA5+1)_,GET COMPARE CODE_^1_(ENA_%3_^1_(STA-_$VBT,I_^1_(LDA-_$CS,I_^1_(INA_%-1_^1_(SAZ_%1_€€^1_(JMP*_$IFC2_0ERR, NO COMMA HERE_^1_(STA-_$VMS,I_^1_(JMP*_$IF3C_0GO GET NEXT FIELD_^1IF5C_#SAN_%1_^1_(JMP*_$IFC2_0ERR, BLANK WITH VBT EQU ZERO_^1_(ENQ_%2_^1_(LDA-_$TR,B_^1_(INQ_%3_^1_(EOR-_$TR,B_^1_(SAN_%3_3NO MATCH_^1_(INQ_%-4_^1_(SQM_%2_3MATCH_^1_%JMP* IF5C+3_^1_(TRA_%Q_^1_(LDA-_$SY,I_^1_(ADD-_$SY+1,I_^1_(SUB_%=N$171_^1_(SAZ_%4_3COMPARE IS ON EQ_^1_(SUB_%=N$234_^1_(SAZ_%3_3COMP€€ARE IS ON NE_^1_(JMP*_$IFC2_0ILLEGAL COMPARE_^1_(SQP_%2_^1_%SQM IF7C-*-1_^1_%SQP IF7C-*-1_^1_(RAO-_$SKF,I_^1_(LDA-_$LA,I_^1_(STA-_$IFNAM,I_^1IF7C_#JMP*_$IFC2_^1EMC_$LDA-_$MD,I_0END MACRO_^1_(SAZ_%2_^1_(INA_%-1_^1_(STA-_$MD,I_^1_%JMP* IF7C_^1EIF_$LDA-_$SKF,I_/END IF_^1_(SAN_%1_^1_%JMP* IF7C_^1_(RTJ+_$CHPR_^1_(SAN_%1_^1_(LDA-_$CS,I_^1_(SAN_%EIF1_^1_(RAO-_$IG,I_^1_(RTJ*_$(EIF+4)_^1_€€%SAN EIF1-*-1_^1_(LDA-_$CS,I_^1_(SAN_%EIF1_^1_(TRQ_%A_3ADDRESS SYMBOL IN Q_^1_(EOR-_$IFNAM,I_^1_(SAN_%1_3NO MATCH_^1_(STA-_$SKF,I_/MATCH,STOP SKIPPING_^1EIF1_#JMP*_$IF7C_^1AXPR_#SLS_^1_(ENA_%0_^1_(ENQ_!12_^1_(STA- EX,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$*-3_^1_(ENQ_%-0_2SET ADDRESS_^1_(STQ-_$AX,I_0SUMMATION STORAGE_^1AB_%RTJ+_$CHPR_^1_(SAN_%AA-*+1_.ERR FROM CHPR_^1_(STA-_$RC,I_^1_(€€LDA-_$CS,I_^1_(INA_!-6_$TEST FOR LEFT PAREN_^1_(SAZ_%3_^1_(SAN_%AX2-*-1_^1AA_%ENQ_%8_^1_(RTJ*_$(A+1)_/TO ERR PROC_^1_(LDA-_$CS,I_^1_(INA_%-2_^1_(SAM_!2_%BL OR COMMA NEXT_^1_(RTJ*_$(AB+1)_.TO CHPR_^1_(JMP*_$*-4_1SLEW TO COMMA OR BLANK_^1_(ENA_%0_^1_(STA-_$RC,I_^1_(STA-_$AX,I_^1_(STA-_$AS,I_^1_(JMP*_$AX3_^1AX2_$SQZ_%1_^1_(JMP*_$AX1-1_^1_(LDQ-_$SY+1,I_^1_(SQZ_%6_^1_(INA_%4_3NULL FIELD€€_^1_(SAM_%3_^1_(LDA-_$LC,I_^1_(SAZ_%1_^1_(JMP*_$AA_^1_(JMP*_$A2_^1_(LDQ-_$SY+2,I_^1_(SQN_%1_^1_(JMP*_$A2_2NUMERIC_^1_(LDA- PC,I_"PROGRAM COUNTER =_^1_(STA- NU,I_"VALUE OF THIS TERM_^1_(LDA- RM,I_"RELOCATION = PROGRAM_^1_(STA-_$RC,I_0RELOCATION MODE_^1_(JMP*_$A2_^1_(RAO-_$SS,I_0SET SEARCH FLAG_^1AX1_$LDA-_$ST,I_^1_(RTJ*_$(A+3)_/SEARCH SYM TABLE_^1_%INQ_!0_O**MSOS 4.0_^1_%SQN_!5_+€€SYMBOL FOUND_7**MSOS 4.0_^1_(RTJ+_$TBLIN_/LOOK FOR SYMTAB ON MS_^1_(SAM_%1_3ALL TABLES SEARCHED_^1_(JMP*_$AX1_1GO SEARCH AGAIN_^1_(JMP*_$AA_2UNDEFINED SYMBOL_^1_(LDA-_$1,Q_1PICK UP SYMBOL_^1_(ARS_%12_^1_(INA_%-4_^1_(SAN_%2_^1_(RTJ*_$(AX4+1)_^1_(JMP*_$AA_2UNDEFINED ENT PT_^1_(INA_%4_^1_(STA-_$RC,I_0STORE RELOCATION_^1_(ADQ-_$SY+3,I_^1_(LDA-_$2,Q_^1_(TCA_%A_^1_(STA-_$NU,I_0STORE ADDR€€ VALUE_^1_(RTJ*_$(AX4+1)_^1_(JMP*_$A2_^1AX3_$ENA_%0_^1_(STA-_$LP,I_0ZERO LEFT PAREN_^1_(STA-_$SS,I_^1_(LDA-_$AX,I_^1_(AND* A_%MASK ADDRESS TO_^1_(STA-_$AX,I_015 BITS_^1AX4_$RTJ+_$RESTBL_.RESTORE SYMTAB_^1_(LDA-_$AX,I_^1_(LDQ-_$RC,I_^1_(JMP*_$(AXPR)_^1A_'ADC_%$7FFF,ER,MOVE,SYCH_^1A2_%LDQ- LC,I_"LEADING OPERATOR_^1_(LDA-_$SG,I_^1_(SAZ_%4_3NO LEADING SIGN_^1_(SQZ_%1_^1AXAA_#JMP*_$AA€€+2_^1_(SAP_!1_%LEADING SIGN PLUS_^1_(INQ_!3_%SET LC CODE MINUS_^1_(INQ_%-4_^1_(STQ- RP,I_"SAVE FOR NEXT TEST_^1_(INQ_%1_^1_(SQN_%2_^1_(ENA_%-0_^1_(STA- AS,I_"SET ADDRESS MASK NEGATIVE_^1_(LDA-_$RC,I_^1_(SAZ_%AX4C-*-1_^1_(SQZ_!4_/LC IS MINUS_^1_(INQ_!-1_^1_(SQN_!4_^1_(LDQ- AS,I_^1_(SQZ_!2_^1_(ENQ_!4_^1_(JMP* *+2_^1_(ENQ_!0_^1_(EAQ_%Q_3OF RC_^1_(LDA-_$TR-1,B_.RECORD RELOCATION_^1€€_(INA_%1_3OF THIS TERM_^1_(STA-_$TR-1,B_^1AX4C_#LDA-_$RP,I_0LEADING CHARACTER_^1_(LDQ-_$CS,I_0TRAILING CHARACTER_^1_(INQ_%-4_^1_(STQ-_$RP,I_^1_(SAM_!1_%LC = +,-,BL OR COMMA_^1_(JMP*_$AG_2LC = * OR /_^1_(SQM_%1_^1_(JMP*_$AE_2CS = * OR /_^1_(LDA- NU,I_"LC,CS = +,-,BL OR COMMA_^1AZ_%ALS_%1_^1_(ARS_!1_%EXTEND SIGN OF NU_^1_(EOR- AS,I_"COMPLEMENT IF SIGN MINUS_^1_(ADD-_$AX,I_^1_(STA-_€€$AX,I_^1_(ENA_%0_^1_(STA-_$AS,I_^1_(STA-_$RC,I_^1AV_%LDQ-_$CS,I_^1_(INQ_%-2_^1_(SQM_!4_%CS = BLANK OR COMMA_^1_(INQ_!2_%CS INTO LC GO PICK_^1_(STQ-_$LC,I_0UP NEXT TERM_^1_(JMP_%AB_^1_(ENA_%0_^1_(STA-_$RC,I_^1_(ENQ_%3_3CHECK RELOCATION_^1AV1A_!LDA- TR-1,B_^1_(INQ_%4_^1_(SUB-_$TR-1,B_^1_(SAN_%4_3RELOCATION HERE_^1AV1B_!INQ -5_^1_(SQN_%1_^1_(JMP*_$AX3_^1_%JMP* AV1A_^1_(STQ-_$RP,I_^1€€_(INA_!1_%RELOC HERE CHECK IT_^1_(SAN_%6_^1AV1C_!LDA- RC,I_^1_(SAZ_%1_^1_(JMP*_$AXAA_^1_(STQ-_$RC,I_^1_(LDQ-_$RP,I_^1_%JMP* AV1B_^1_(INA_%-2_^1_(SAZ_%1_^1_%JMP* AXAA_^1_(INQ_%-4_^1_%JMP* AV1C_^1AE_%LDA- RC,I_"LC = +,-,BL OR COMMA_^1_(STA-_$AR,I_0CS =* OR /_^1_(LDA-_$NU,I_0SAVE RC AND NU_^1_(STA-_$AU,I_^1_(JMP*_$AV_^1AG_%LDQ-_$RC,I_0LC = * OR /_^1_%SQZ_#AG1A-*-1_$RC=0_=33*576_^1_(€€SAZ_%1_3LC = *_^1_(JMP* AE-3_"ERR DIVISOR RELOC_^1_(LDA-_$AR,I_^1_(SAZ_%1_^1_(JMP* AE-3_"ERR TOO MANY RELOCS_^1_(STQ-_$AR,I_0SAVE THIS RELOC_^1_(JMP*_$*+2_^1AG1A_!SAN AH-*-1_'LC = /_^1_(LDA-_$NU,I_0LC= *_^1_(MUI-_$AU,I_^1_(SAP_%2_^1_(AND* A_%PRODUCT WRAP AROUND_^1_(INA_%1_^1_(QLS_%1_^1_(AAQ_%A_^1_(SAP_%2_^1_(CLR_%Q_^1_(JMP*_$*-6_^1_(LDQ-_$RP,I_^1_(SQP_%1_^1_(JMP* AZ_$CS = +,-,€€BL OR COMMA_^1_(JMP*_$AE+3_0CS = * OR SLASH_^1AH_%LDA-_$NU,I_0LC = /_^1_(SAN_%1_^1_(JMP* A2+4_"ERR DIV BY ZERO_^1_(LDA-_$AU,I_^1_(ENQ_%0_^1_(DVI-_$NU,I_0AU/NU_^1_(JMP*_$AH-4_^1PCO_%LDA*_!PCOSET_^1_)ADD-_!PC,I_^1_)STA-_!PC,I_^1_)ENA_"0_^1_%RTJ+_"CHPR_^1_%SAN_!PCOERR_^1_'LDA-_!NU,I_^1_)STA*_!PCOSET_^1_%TCA_!A_^1_%ADD-_!PC,I_^1_%STA-_!PC,I_^1_%JMP_"NEXT_^1PCOSET_"NUM_"0_^1PCOERR ENQ€€_"1_^1_%RTJ+_"ER_+EXPRESSION ERROR_^1_%JMP+_"NEXT_^1UP2_$SLS_^1_(SQN_%1_^1_(JMP*_$(UP2)_^1_(RTJ*_$UP1_^1_(INQ_%-1_^1_(JMP*_$*-4_^1_(BZS_%UTEMP(1)_,TEMP***_^1UP1_$SLS_%0_3BUMP PROGRAM_^1_(LDA-_$PC,I_0COUNTER BY ONE_^1_(SUB*_$UPM1_^1_(SAZ_%2_^1_(ADD*_$UPM1_^1_(INA_%1_^1_(STA-_$PC,I_^1_(JMP*_$(UP1)_^1UPM1_#NUM_%$7FFE_^1MOVE_#SLS_!0_/MOVE SYMBOL_^1_(ENQ_%3_3TO LABEL_^1_(LDA-_$SY,B_^1_(€€STA-_$LA,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$*-4_^1_(JMP*_$(MOVE)_^1PUNC_#ADC_%0_^1_(LDQ_%X_^1_(SQN_%1_^1_(JMP*_$PC2_1NO LOAD AND GO_^1_%LDA- STDLGO_'LOAD AND GO SECTOR NUMBER._^1_(SUB_%=N750_^1_(SAM_%PC1-*-1_^1_(ENA_%0_^1_(STA_%X_^1_%ENA 96_+RESTORE DISK WRITE LENGTH IN DOUT_^1_%STA+ DSKWLN_^1_(ENQ_%9_3LOAD AND GO OVERFLOW_^1_(RTJ+_$ER_^1_(JMP*_$PC2_^1PC1_"LDQ- STDLGO_^1_(LDA*_$PC€€3+1_^1_(RTJ+_$DOUT_^1_%RAO- STDLGO_^1PC2_$LDQ_%P_^1_(SQZ_!PO-*-1_^1PC3_$LDA_%=XCONS+UB_^1_(LDQ- PER,I_,NO WDS TO OUTPUT_^1_(RTJ*_$BW_2BINARY WRITE_^1PO_%ENA_!0_^1_(ENQ_!56_^1_(STA- UB,B_-*********************_^1_(INQ_!-1_/*********************_^1_(SQM_!1_0*********************_^1_(JMP* *-3_.*********************_^1_(JMP*_$(PUNC)_^1BW_%ADC_%0_^1_(STA* BW+11_^1_(STQ*_$BW+10_^1_(E€€NA_%0_^1_(STA-_$CSW,I_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_%CO_^1_(ADC_%0_^1_%VFD N3/0,N1/0,N2/2,X10/STDOUT_^1_(ADC_%0_^1_(ADC_%0_^1_(RTJ_!STATUS_^1_(JMP*_$(BW)_^1STATUS_!ADC_%0_^1_(LDA- CSW,I_!WAIT FOR COMPLETION_^1_(SAN_%1_^1_(JMP*_$*-2_^1_(JMP*_$(STATUS)_,MARK FOR ERROR_^1CO_#SQP COA_^1_%ENA 0_^1_%STA+ P_^1COA_"INQ 1_^1_(STQ_!CONS+CSW_^1_%JM€P- ($EA)_^1_(END_%PASS2_^__ PPA2PR2 CSY/ A05 P€1_%NAM PA2PR2_'DECK-ID A05 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1*_'PROGRAM BASE-MACRO ASSEMBLER 2.0_4**MSOS 4.0_^1*_1ST MUST BE FIRST_^1STDSCR EQU STDSCR($B3)_^1REQPRO EQU REQPRO($F4)_^1STDOCD EQU STDOCD($FC)_^1DISP_!EQU DISP($EA)_^1_(EQU_%ST€€(1),ET(ST+1),PSW(ET+1),PB(PSW+1)_^1_%EQU DSW(PB+49),DSWW(DSW+1)_^1_%EQU TSW(DSWW+1),CSW(TSW+1),SECTNO(CSW+1)_^1_%EQU PNAM(SECTNO+1)_^1_%EQU WMS(PNAM+3),CSYSCT(WMS+1)_^1_(EQU_%SCOUNT(CSYSCT+1),XSYSCT(SCOUNT+1)_^1_(EQU_%CC(XSYSCT+1),DC(CC+1)_^1_(EQU_%PC(DC+1),DX(PC+1),LA(DX+2),W1(LA+4),W2(W1+1)_^1_(EQU_%AD(W2+1),AF(AD+1),AM(AF+1),CL(AM+1),EX(CL+1)_^1_(EQU_%RC(EX+1),AX(RC+1),LC(AX€€+1),AU(LC+1),AR(AU+1)_^1_(EQU_%TR(AR+1),SY(TR+7),NU(SY+4),SG(NU+1),RP(SG+1)_^1_(EQU_%HX(RP+1),XMOD(HX+1),LT(XMOD+1),ES(LT+1),LP(ES+1)_^1_(EQU_%IG(LP+1),NS(IG+1),IS(NS+1),CT(IS+1),CS(CT+1)_^1_(EQU_%IL(CS+1),MD(IL+1),ID(MD+1),SKF(ID+1)_^1_(EQU_%BS(SKF+1)_^1_%EQU AUB(BS+1)_^1_%EQU UB(AUB+57)_^1_(EQU_!LN(UB+57),OR(LN+1),OC(OR+1)_^1_(EQU_!AS(OC+1),SC(AS+1),SS(SC+1)_^1_(EQU_%WC(SS+1),R€€M(WC+1)_^1_(EQU_%YL(RM+1),SZ(YL+1)_^1_(EQU_%PER(SZ+1)_^1_(EQU_%VBT(PER+1),VMS(VBT+1),IFNAM(VMS+1)_^1_(EQU_%MPSW(IFNAM+1)_^1_(EQU_%VCT(MPSW+1),VWD(VCT+1)_^1_(EQU_%AX16(VWD+1)_^1_(EQU_%ETSAVE(AX16+1)_^1_(EQU_%DVFL(ETSAVE+1)_^1_(EQU_%PAGL(DVFL+1)_^1_(EQU_%SL(PAGL+1)_^1_(COM_%CONS(SL+1)_^1_(COM_%FST_^1_%COM L,P,X,C,MM,ILSCST,SRSCST,ILSCND_3MSOS4.1_^1_(COM_%ERC_^1_%COM LGSECT_^1_%COM €€ SYRFTS(96)_"SECT.REF.TBL.SYMBOLS_0MSOS4.1_^1_%COM SYCADM_'ADDR.TO SECT.REF.TBL.SYMBOLS_(MSOS4.1_^1_%COM SYEXT_MMSOS4.1_^1_%COM SYINDM_LMSOS4.1_^1_%COM SYTRFM_'ENTRY ADDR.REF.TBL.SYMBOLS_*MSOS4.1_^1_%COM SYTRFD_'1ST ADDR.REF.TBL.SYMBOLS-DISK_'MSOS4.1_^1_%COM APASS1,APASS2,APASS3,ATBLST,AXREF,PAGE_,MSOS4.1_^1_%COM PS1W2,PS2W2,PS3W2,PS4W2,PS5W2_5MSOS4.1_^1_(ENT_!ZSYTAB,SYPT,LB€€PK,DIN,DOUT,OB,N2,D1C_^1_(ENT_!CHPU,RECV,CHPR,D5,TBLIN,RESTBL,SYCH,IMJ_'**MSOS 4.0_^1_%ENT DSKWLN_^1_(EXT_!MOVE,UP1,UP2,ADC,EIF,ALF,NUM,DEC,VFD,ASSEM,COP,COT_^1_(EXT_!IFA,IFC,EMC,LST,NLS,NAM1,NAM,AXPR,PRNT,NAMC,ER **MSOS 4.0_^1_(EXT_"NEXT_I**MSOS 4.0_^1_%EXT_!PCO,IFR_^1IMJ_$ADC_!0_M**MSOS 4.0_^1_(EXT_%PUNC_^1LAA_$ADC_!CONS+LA,CONS+SY_^1SYCH_#ADC_!0_^1_(LDQ- SS,I_-SS=0, SYMBOL IN €€LABEL_^1_(SQN_!5_%SS NOT ZERO,SYMBOL IN SY_^1_(LDQ* LAA_^1_%STQ* S1A+1_^1_(INQ_!3_^1_%STQ* S3A+1_^1_(JMP* *+3_^1_(LDQ* LAA+1_^1_(JMP* SYCH+4_^1_(LDQ- I_^1_(STQ- RP,I_-SAVE I_^1_(INA_!-1_^1S4_%ENQ_!0_^1_(STA- I_%ADDRESS-1 OF TBL TO BE SEARCHED_^1_(STA+ CONS+HX_*SAVE ADDR OF 1ST WORD_^1S2_%LDA- 1,I_.PICK UP ENTRY_^1_(SAN_!5_^1_(ENQ_%-0_'END OF TABLE-NOT FOUND_***MSOS 4.0_^1S€€X_%LDA_!CONS+RP_^1_(STA- I_0RESTORE I_^1_(JMP* (SYCH)_^1_(SAM_!S3-*-1_^1_(SQP_!2_^1S1_%RAO- I_%SLEWING ENTRY-INCREMENT ADDRESS_^1_(JMP* S2_^1_(LDA_!=N$7FF_+MASK_^1_(SQZ_!1_0PROCESSING 1ST WORD_^1_(SET_!A_^1_(AND- 1,I_^1S1A_"SUB+ 0,Q_*THIS CELL IS MODIFIED_^1_(SAZ_!1_0MATCH_^1_(INQ_!-4_$NO MATCH-SET Q NEG TO SLEW_^1_(INQ_!1_^1_(JMP* S1_/GO BACK FOR MORE_^1S3_%SQM_!S5-*-1_+WERE€€ SLEWING_^1_(INQ_!-1_^1_(TCQ_!Q_%DOES ORDINAL IN SY+3 MATCH Q_^1S3A_"ADQ+ 0_,THIS LOC IS MODIFIED_^1_(SQN_!S5-*-1_+NO-ENTRY DID NOT MATCH_^1_(LDQ* (S2-1) CONS+HX ADDR-1 OF 1ST WD TO Q_^1_(JMP* SX_^1S5_%LDA- I_^1_(INA_!1_^1_(JMP* S4_^1N1_%ADC_%0_I**MSOS 4.0_^1N2_%ADC_!CONS+SY_^1SYPT_#ADC_!0_^1_(QLS_!1_^1_(STQ* SF+1_-RELOCATION_^1_(STA* SE-2_-VALUE_^1_(LDA- LA,I_"ANY SYMBOL TO€€ PUT AWAY_^1_(SAZ_!SA-1-*-1_)NO_^1SY2C_#LDA-_$ST,I_0SYMBOL TABLE ADDRESS_^1_(RTJ* (SA+2) SYCH_^1_(INQ_%0_I**MSOS 4.0_^1_(SQZ_%SA-*-1_"NOT FOUND_^1_(LDA- 1,Q_#WAS IT UNDEFINED ENTRY POINT_^1_(ARS_!12_^1_(INA_!-4_^1_(SAN_!SA+3-*-1_)NO-IS DOUBLE DEF_^1_(RAO* SF+1_-SET ENTRY POINT BIT_^1_(INQ_!1_^1_(RTJ* SB_$PUT AWAY VAL AND RELOC OF SYMB_^1SY3C_#RTJ+_$RESTBL_.RESTORE SYMBOL TABLE€€_^1_(JMP* (SYPT)_^1SA_%LDA- ET,I_-EXTERNAL TABLE ADDRESS_^1_(RTJ+_$SYCH_^1_(INQ_%0_I**MSOS 4.0_^1_(SQZ_%5_I**MSOS 4.0_^1_(ENQ_!0_^1SY1C_#RTJ+_$ER_2ERROR HERE_^1_(JMP*_$SY3C_^1_(JMP* (SYPT)_^1_(RTJ+_$TBLIN_^1_(SAM_%1_3ALL TABLES SEARCHED_^1_(JMP*_$SY2C_^1_(RTJ* OV_^1_(LDQ- ST,I_^1_(ADQ- SC,I_^1_(RTJ* SB_^1_(LDA- LA+3,I_^1_(INA_!2_^1_(ADD- SC,I_^1_(STA- SC,I_^1_%RTJ SYTRSB€€_LMSOS4.1_^1_(JMP* (SYPT)_^1SB_%ADC_!0_%Q CONTAINS ADDR OF 1ST ENTRY_^1_(STQ* SE+1_^1_(LDQ- LA+3,I_^1_(INQ_!1_^1_(LDA_!=N0_.VALUE_^1_(TCA_!A_^1SE_%STA+ 0,Q_.PATCHED_^1_(INQ_!-1_^1_(SQZ_!3_^1_(SQM_!7_^1_(LDA- LA,B_^1_(JMP* SE_^1SF_%LDA_!=N0_^1_(ALS_!11_^1_(ADD- LA,I_^1_(JMP* SE_^1_(JMP* (SB)_^1OV_%ADC_!0_^1_(LDA- ET,I_^1_(SUB- SC,I_^1_(SUB- ST,I_^1_(INA_!-5_^1_(SAM_%1_^1€€_(JMP*_$(OV)_0THIS TABLE NOT FULL_^1_(LDA-_$CSYSCT,I_^1_(ADD-_$SCOUNT,I_^1_%SUB+ LGSECT_^1_(SAP_%1_^1_(JMP*_$OV1_^1_(LDA-_$TSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1_(ENQ_%18_^1_(LDA*_$ERMS,Q_^1_(STA-_$PB,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$*-4_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_%COT_^1_(ADC_%0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(NUM_%11_H**MSOS 4.0_^1_(€€ADC_%CONS+PB_^1_%JMP- (DISP)_'EXIT_^1OV1_$LDA-_$WMS,I_^1_(STA_%DISKWR+5_^1_(LDA-_$ST,I_^1_(LDQ-_$CSYSCT,I_^1_(RTJ+_$DOUT_^1_(LDA_%=XCONS_^1_(STA-_$ET,I_0RESET EXTERNAL ADDRESS_^1_(ENA_%0_^1_(STA-_$SC,I_0ZERO SYMBOL COUNT_^1_(LDA-_$CSYSCT,I_^1_(ADD-_$SCOUNT,I_^1_(STA-_$CSYSCT,I_^1_(STA-_$XSYSCT,I_^1_(STA-_$XSYSCT,I_^1_(RTJ*_$ZSYTAB_.ZERO SYMBOL TABLE_^1_(JMP*_$(OV)_^1ERMS_#ALF_%11,M€€ASS STORAGE OVERFLOW_2**MSOS 4.0_^1TBLIN_"ADC_%0_^1_(LDA-_$CSYSCT,I_^1_%SUB+ ILSCND_^1_(LDQ-_$XSYSCT,I_^1_%SAN TBLINA_^1_(SQZ_%1_3NO TABLES ON MS_^1_(RTJ*_$RESTBL_.ALL TABLES SEARCHED_^1_(ENA_%-0_^1_(JMP*_$(TBLIN)_^1TBLINA TRQ A_^1_(SUB-_$CSYSCT,I_^1_(SAN_%TBDOUT+2-*-1_^1_(LDA-_$ET,I_0CURRENT TABLE IN CORE_^1_(STA-_$ETSAVE,I_,WRITE IT OUT_^1_(LDA-_$WMS,I_^1_(STA_%DISKWR+5_^1_(LDA€€-_$ST,I_^1_(LDQ-_$CSYSCT,I_^1TBDOUT_!RTJ+_$DOUT_^1_(LDA-_$CSYSCT,I_^1_(SUB-_$SCOUNT,I_^1_(STA-_$CSYSCT,I_^1_(LDA-_$WMS,I_^1_(STA_%DISKRD+5_^1_(LDA-_$ST,I_^1_(LDQ-_$CSYSCT,I_^1TBDIN_"RTJ+_$DIN_^1_(LDQ_%=XCONS_.GET NEW EXT ADDR_^1_(INQ_%-2_^1_(LDA-_$1,Q_^1_(SAZ_%2_^1_(INQ_%-1_^1_(JMP*_$*-3_^1_(INQ_%2_^1_(STQ-_$ET,I_^1_(ENA_%0_^1_(JMP*_$(TBLIN)_^1RESTBL_!ADC_%0_^1_(LDA-_$XSYSCT,I_^1_(€€SAZ_%2_3NO TABLES ON MS_^1_(SUB-_$CSYSCT,I_^1_(SAN_%1_^1_(JMP*_$(RESTBL)_,CURRENT TABLE IS IN CORE_^1_(LDA-_$ETSAVE,I_,RESTORE EXTERNAL ADDR_^1_(STA-_$ET,I_^1_(LDA-_$WMS,I_/READ CURRENT TABLE_^1_%STA DISKWR+5_J44*702_^1_(LDA-_$ST,I_^1_(LDQ-_$CSYSCT,I_,PUT THIS TABLE ON MS_^1_(RTJ*_$(TBDOUT+1)_^1_(LDA-_$WMS,I_^1_%STA DISKRD+5_J44*702_^1_(LDA-_$ST,I_^1_(LDQ-_$XSYSCT,I_,BACK IN_^1_(€€STQ-_$CSYSCT,I_,RESET CURRENT TABLE NO._^1_(RTJ*_$(TBDIN+1)_^1_(JMP*_$(RESTBL)_^1ZSYTAB_!ADC_%0_3ZERO SYMBOL TABLE_^1_(LDA- ST,I_J**MSOS 4.0_^1_(STA* ZSY1+1_H**MSOS 4.0_^1_%STA* ZSYDON+1_^1_(LDQ-_$WMS,I_^1_(ENA_%0_^1ZSY1_#STA+ 0,Q_K**MSOS 4.0_^1_(INQ_%-1_^1_%SQZ ZSYDON_^1_(JMP*_$*-4_^1ZSYDON STA+ 0,Q_^1_(JMP*_$(ZSYTAB)_^1LBPK_#RTJ* (O2-3) CHPU_^1_(INA_%-$A_"IS IT AN ASTERICK_^€€1_(SAN_%L8_^1LK_%LDA-_$LN,I_^1_(INA_%-1_^1_(SAN_%3_^1_(ENQ_%4_3NO NAM_^1_(RTJ+ ER_^1_(JMP_%NEXT_^1L8_%ENA_%-1_^1_(STA- CT,I_-SET CHAR CTR BACK_^1_(RAO- IS,I_-LEADING SIGN ILLEGAL_^1_(RTJ*_$(O1+3)_^1_(SAZ_!L3-*-1_+NO ERROR_^1L6_%ENQ_%45_^1_(LDA_!(IMJ),Q_G**MSOS 4.0_^1_(SAP_%2_^1_(ENQ_%2_3THIS IS A NAME RECORD_^1_(RTJ*_$(LK+5)_.PRINT ERROR AND SET IL BIT_^1_(ENQ_%0_^1_(STA- LA,I_€€^1_(JMP* L1_^1L3_%SQZ_!L4-*-1_+NUMERIC_^1_(RTJ_!MOVE_^1_(JMP* L5_^1L4_%LDA- SY+1,I_+IS IT NULL FIELD_^1_(SAZ_%L1-*_0NO_^1L5_%LDA- CS,I_^1_(SAN_!1_^1L1_%JMP* OPCP_^1_(JMP* L6_^1OPCP_#LDA-_$SKF,I_^1_(SAZ_%1_^1_(JMP*_$SKPROC_.SKIPPING ON IF_^1_(LDA-_$IL,I_^1_(SAP_%O1-*-1_.NOT A MACRO CARD_^1_(ALS_%1_^1_(SAP_%1_^1_(JMP*_$LK_2EXIT_^1_(RAO-_$MD,I_0BUMP MACRO DEPTH SWITCH_^1_(LDA-_$€€PC,I_^1_(LDQ-_$RM,I_^1_(RTJ*_$(O7+5)_.PUT AWAY SYMBOL_^1_(JMP*_$LK_2EXIT_^1O1_%RAO-_$IG,I_^1_(RAO- IS,I_-LEADING SIGN ILLEGAL_^1_(RTJ+ CHPR_-GET OPCODE_^1_(SAZ_%4_^1O11_$LDA-_$LN,I_^1_(INA_%-1_^1_(SAN_%OE_^1_(JMP*_$LK+3_0NAM ERROR_^1_(SQZ_%1_^1_(JMP*_$OF_^1_(LDA- NU,I_"NUMERIC OPCODE-MUST BE ZERO_^1_(SAZ_!O2-*-1_^1_(JMP*_$O11_^1OE_%LDA-_$CS,I_0PICK UP INDICATOR_^1_(SAZ_!3_0BLANK€€_^1_(RTJ+ CHPU_^1_(JMP* *-3_^1_(STA- AM,I_^1O2_%ENA_%-1_^1_(STA- CL,I_"SET CLASS CODE FOR ADC_^1_(ENQ_!0_^1_(JMP* O7-3_^1OF_%ENQ_%43_^1_(LDA_!(IMJ),Q_G**MSOS 4.0_^1_(ENQ_%45_2GET PSEUDO INDEX_^1_(LDQ_!(IMJ),Q_G**MSOS 4.0_^1_(SQP_%2_^1_)ENQ_!24_^1_(ENA_%-1_^1_(SAN_%1_^1OB_%JMP*_$OE_2OP CODE ERROR_^1O6_%STA-_$CL,I_^1_(SAM_%1_^1_(JMP* O7_/MACHINE OPCODE_^1_(RAO- IS,I_^1_(JMP_!N€€3_^1O7_%STA- AU,I_^1_(STQ- SG,I_^1_(LDA- PC,I_^1_(LDQ- RM,I_^1_(RTJ+_$SYPT_0PUT LABEL IN SYMBOL TABLE_^1_(LDA- AU,I_^1_(INA_%-6_^1_(SAZ_!1_^1_(JMP* O8_^1_(LDA- CS,I_^1_(SAZ_!1_^1_(JMP* OE_/ERROR-ILL TERM_^1_(JMP*_$OX-3_^1O8_%LDQ-_$CL,I_^1_(INQ_!-3_^1_(LDA- CS,I_-EXAMINE TERMINATOR_^1_(STA- AM,I_^1_%SAZ OX-4_^1_%SQP OX-5_^1_(INA_!-1_^1_%SAZ OX-5_^1_(INA_!-4_^1_(SAP_!2_^€€1_(RTJ* CHPU_^1_%SAZ OX_^1_(JMP*_$OE_^1_%SQM OX1-3_^1_(RTJ_%UP1_^1_(JMP*_$LK_^1OX_%LDA-_$AM,I_^1_(INA_%-2_^1_(SAZ_%1_^1_(JMP*_$OX-3_^1_(ENQ_%2_^1_(RTJ_%UP2_^1OX1_$JMP*_$LK_^1SKPROC_!LDA-_$IL,I_^1_(SAP_%4_3NOT A MACRO_^1_(ALS_%1_3MACRO_^1_(SAM_%1_3CONTINUATION_^1_(RAO-_$ID,I_0MACRO CALL_^1_(JMP*_$OX1_^1_(ENQ_%43_^1_(LDQ_!(IMJ),Q_G**MSOS 4.0_^1_(SQM_%1_^1_(JMP*_$OX1_^1_(ENQ_%45_^1€€_(LDA_!(IMJ),Q_G**MSOS 4.0_^1_(INA_%-7_#CHECK FOR END_759*1187_^1_(SAN_%NOEND_F59*1187_^1_(STA-_$SKF,I_F59*1187_^1_(ENQ_%8_$ADDRESS IN TABLE OF ERROR CODE_%59*1187_^1_(RTJ_%ER_#INDICATE ERROR_659*1187_^1_(JMP_%END_"DONE_@59*1187_^1NOEND_"LDQ-_$ID,I_G59*1187_^1_(INA_%-10_"CODE FOR EMC = 17_359*1187_^1_(SAZ_%6_3EMC_^1_(INA_%1_^1_%SAN CHPU-1_^1_%SQN CHPU-1_^1_(RAO-_$IG,I_0IF DEPTH S€€WITCH NOT SET_^1_(JMP_%EIF_^1_(SQN_%5_J59*1187_^1_(STQ-_$SKF,I_F59*1187_^1_(ENQ_%8_J59*1187_^1_(RTJ_%ER_I59*1187_^1_(JMP*_$(*-6)_F59*1187_^1_(INQ_%-1_^1_(STQ-_$ID,I_0DECREMENT IF DEPTH SWITCH_^1_(JMP*_$OX1_^1CHPU_#ADC_!0_^1_(RAO- CT,I_-INCREMENT CHAR CTR_^1_(ENA_!0_^1_(LDQ- CT,I_^1_(INQ_!-72_^1_(SQM_!1_^1_(JMP* C1+1_-TOO MANY CHARS_^1_(INQ_!72_^1_(LRS_!1_^1_(LDQ_!(IMJ),Q_G**MSOS€€ 4.0_^1_(SAZ_!1_^1_(QLS_!8_^1_(QRS_!8_0Q CONTAINS 7 BIT CHAR_^1_(SQM_%CHP1-*-1_,NULL_^1_(SQZ_%CHP1-*-1_,ZERO(NULL PARAM IN MAC ASELETON)_^1_(LDA- AF,I_^1_(SAZ_%1_^1_(JMP* (CHPU)_^1_(INQ_!-$9_.TAB-IS END OF FIELD_^1_(SQZ_!C3-*-1 YES-A IS ZERO SO WILL EXIT_^1_(LDA- IG,I_^1_(INQ_!-$4_.CARRIAGE RETURN_^1_(SQN_!3_0NO_^1_(ENA_!71_$SET CHAR CTR TO 71 FOR END OF_^1_(STA- CT,I_-IMAGE_^€€1CHP1_#JMP*_$CHPU+1_^1_(INQ_!-$13_-BLANK_^1_(SQM_!C1-*-1_+CHAR ILLEGAL_^1_(SQN_!2_^1C3_%SAZ_!C1+1-*-1_)CHAR BLANK-IG NOT SET_^1_(JMP* CHPU+1_+GO BACK FOR NEXT CHAR_^1_(INQ_!-$40_-UPPER BOUND FOR LEGAL_^1_(SQM_!C2-*-1_+IS LEGAL_^1C1_%ENA_!$3C_^1_(STA- CS,I_^1_(ENQ_!0_^1_(STQ- IG,I_^1_(JMP* (CHPU)_+EXIT_^1C2_%INQ_!$40_.6 BIT CHAR FOR OUTPUT_^1_(TRQ_!A_^1_(JMP* C1+1_^1XC_%NUM_!0,€€$C,$B CHAR TBL-BLANK,COMMA,PLUS_^1_(NUM_!$D,$A,$F,8 MINUS,ASTER,SLASH,LFT PAREN_^1_(NUM_!9,4_.RT PAREN,DOLLAR SIGN_^1_(NUM_%$1D,$3B_^1XI_%ADC_!XB_/BLANK,COMMA_^1_(ADC_!XP_/PLUS_^1_(ADC_!XM_/MINUS_^1_(ADC_!XK_/ASTERISK_^1_(ADC_!XH_/SLASH_^1_(ADC_!XL_/LEFT PAREN_^1_(ADC_!XRP_.RIGHT PAREN_^1_(ADC_!XD_/DOLLAR SIGN_^1_(ADC_!XT_/EQUAL SIGN_^1_(ADC_%XLB_1EQUAL SIGN,LEFT BRACKET_^1CHPR_#AD€€C_!0_0ENTRY_^1_(ENA_!0_^1_(STA-_$ES,I_^1_(ENQ_%10_2LEFT BRACKET_^1_(STA-_$SY,B_;HX,XMOD,LT,ES_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1XLOP_#RTJ* (XR+1) CHPU_^1_(ENQ_%10_2ZERO INTO SY,NU,SG,RP,_^1X1_%LDA- CS,I_"SEARCH SPECIAL CHARACTERS_^1_(SUB* XC,Q_^1_(SAZ_!XLO1-*-1_)FOUND_^1_(INQ_!-1_^1_(SQM_!X5-*-1_+NOT FOUND_^1_(JMP* X1_^1XLO1_#STQ- CS,I_-SET CS INDICATOR_^1_(SQZ_!1_0BLANK_€€^1_(INQ_!-1_^1_(LDA* XI,Q_^1_(LDQ- XMOD,I_^1_(STA* *+2_^1_(JMP+ 0_0GO TO ROUTINE_^1X5_%LDQ- EX,I_-TERMINATOR NEEDED_^1_(SQN_!XA-1-*-1_)YES-ERROR_^1_(LDQ- XMOD,I_^1_(INA_!-$10_^1_(SAM_!XA+6-*-1 ERR-BELOW LOWER BOUND_^1_(INA_!-$A_^1_(SAP_!1_0NOT NUMERIC_^1_(JMP* XN_/Q CONTAINS MODE_^1_(INA_!-7_^1_%SAM XALF-4_'NOT ALPHA-ERROR_^1_(INA_!-$1A_^1_(SAP_!XA+6-*-1_)NOT ALPHA-ERROR_^1€€XA_%SQN_!XALF-*-1_)NOT INITIAL MODE-ALPHA_^1_(ENQ_!1_0SET ALPHA MODE_^1_(STQ- XMOD,I_^1_(LDQ- RP,I_"RT PAREN OR ASTER SWITCH SET_^1_(ADQ- SY+2,I_^1_(SQZ_!1_^1_(JMP* XR_/YES-IS ERROR_^1_(INA_!$1B_.CONVERT TO 5 BIT VALUE_^1_(ALS_!6_0XA+6 **_^1_(JMP* XALN-3_^1XALF_#INQ_!-1_^1_(SQZ_!1_^1_(JMP* XALN_-NUMERIC MODE_^1_(LDQ- SY+3,I_+XALF+3 **_^1_(INQ_!-6_^1_(SQZ_!XALN-1-*-1_'6 CHARS€€-EXIT_^1_(INQ_!6_^1_(LRS_!1_^1_(SAM_%3_^1_(LDA- CS,I_^1_(ALS_!8_^1_(JMP* *+2_^1_(LDA- CS,I_^1_(ADD- SY,B_-PUT CHAR IN SY_^1_(STA- SY,B_^1_(RAO- SY+3,I_+INCREMENT CHAR COUNT_^1_(JMP* XLOP_-XALN-1 **_^1XALN_#LDQ- HX,I_^1_(SQZ_!2_0HEX SWITCH NOT SET ERROR_^1_(INA_!$14_^1_(SAM_!1_^1_(JMP* XR_^1_(INA_!$10_.CHANGE TO NUMBER_^1_(JMP* XNUM_^1XN_%INA_!$A_/CONVERT TO NUMBER_^1_(SQN€€_!4_^1_(STA- NU,I_-INITIAL MODE_^1_(ENA_!2_0**_^1_(STA- XMOD,I_+SET NUMERIC MODE_^1_(JMP* XLOP_-XNUM-4 **_^1_(INQ_!-1_^1_(SQN_!1_^1_(JMP* XALF+3_+ALPHA MODE_^1XNUM_#STA- CS,I_^1_(LDA- HX,I_^1_(LDQ- NU,I_^1_(SAZ_!XN1-*-1_*DECIMAL NUMBER_^1_(LDA- CS,I_-HEX NUMBER_^1_(ALS_!12_^1_(LLS_!4_0MULTIPLY BY 16_^1_(SAN_!XN1+4-*-1_(OVERFLOW_^1_(LDA- NS,I_-16 BITS LEGAL_^1_(SAN_!1_0YES_€€^1_(SQM_!XN1+1-*-1_(NO-OVERFLOW_^1_(STQ- NU,I_^1_(JMP* XLOP_^1XN1_$QLS_!1_^1_(SQM_!XO-*-1_+OVERFLOW_^1_(STQ- NU,I_^1_(LLS_!2_^1_(SAN_!XO-*-1_^1_(SQM_!XO-*-1_^1_(ADQ- NU,I_^1_(SQM_!XO-*-1_^1_(ADQ- CS,I_^1_(SQM_!XO-*-1_^1_(JMP* XN1-2_^1XO_%ENQ_!7_^1_(RTJ_!ER_^1_(ENA_%-1_^1_(STA-_$CS,I_^1XR_%RTJ+ CHPU_^1_(SAZ_!XR1-*-1_*BLANK_^1_(ENQ_!1_^1_(STQ- CS,I_-SET CS FOR COMMA_^1_(INA_!€€-$C_.CHAR COMMA_^1_(SAZ_!XR1-*-1_*YES_^1_(JMP* XR_^1XR1_$ENA_!0_^1_(ENQ_%11_^1_(STA- SY,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* XR1+2_^1_(RAO- ES,I_^1XX_%ENA_!0_^1_(STA- IS,I_^1_(STA- EX,I_^1_(LDA- ES,I_^1_(LDQ- SY,I_^1_(JMP_!(CHPR)_+EXIT FROM ROUTINE_^1XB_%SQN_!1_^1_(RAO- SY+1,I INIT MODE-NULL FIELD INDICATOR_^1_(LDA- LP,I_^1_(SUB- RP,I_^1_(SAZ_!1_^1_(JMP* XR1_.NON PAREN MA€€TCH_^1XB2_$LDQ- SY+3,I_^1_(SQZ_!3_^1_(INQ_!-1_^1_(QRS_!1_^1_(STQ- SY+3,I_+SET CHAR COUNT FOR SY_^1_(JMP* XX_^1XP_%SQN_!XM-*-1_+PLUS SIGN_^1_(LDA- SG,I_-INITIAL MODE_^1_(SAN_!XM+4-*-1 ERR-CONCATENATED OPERATORS_^1_(RAO- SG,I_-SET SIGN POSITIVE_^1_(LDA- IS,I_-XP+4 **_^1_(SAN_!XM+4-*-1 ERR-LEADING SIGN ILLEGAL_^1_(JMP* XNUM-4 XLOP_%XM-1 **_^1XM_%SQZ_!1_^1_(JMP* XB2_.ALPHA OR N€€UMERIC MODE_^1_(LDA- SG,I_^1_(SAZ_!1_^1_(JMP* XR_$ERR-CONCATENATED OPERATORS_^1_(INA_!-1_^1_(STA- SG,I_"SET SIGN SWITCH FOR MINUS_^1_(JMP* XP+4_^1XK_%SQN_!XH-*-1_+ASTERISK_^1_(RAO- SY+2,I_+SET ASTERISK INDICATOR_^1_(RAO- EX,I_^1_(JMP* XN+3_-SET NUMERIC MODE_^1XH_%SQZ_!1_0SLASH_^1_(JMP* XM_^1_(LDA- SG,I_^1_(SAN_!XL+5-*-1 ERR-CONCATENATED OPERATORS_^1_(RAO- SY+1,I_+SET NULL€€ FIELD_^1_(JMP* XX_^1XL_%RAO- LP,I_-COUNT LEFT PAREN_^1_(LDA- CL,I_^1_(SQZ_!3_^1_(INQ_!-1_^1_(SQZ_!XL2-*-1_^1_(JMP* XR_/XL+6 **_^1_(SAZ_!XL1-*-1 ERR-PROCESSING LABEL OR OP_^1_(SAM_!XL1+1-*-1_(PSEUDO OPCODE_^1_(INA_!-3_/MACHINE OPCODE_^1_(SAM_!XL1+3-*-1 XLOP_^1XL1_$JMP* XR_^1_(INA_!1_0PSEUDO OPCODE_^1_(SAN_!1_^1_(JMP* XM-1 XLOP_(CLASS 1 PSEUDO_^1_(INA_!1_^1_(SAN_!XL2+1-*-1_(ER€€ROR-WRONG CLASS_^1_(JMP* XL-2_^1XL2_$INA_!2_0MUST BE CLASS 2 PSEUDO_^1_(SAN_!XT+4-*-1_)IS NOT_^1_(JMP* XB2_^1XRP_$RAO- RP,I_^1_(JMP* XL1+3 XLOP_^1XD_%SQN_!XT+4-*-1_^1_(RAO- HX,I_^1_(JMP* XN+3_^1XT_%SQN_!3_%ERR-NOT INITIAL MODE-EQUAL SG_^1_(LDA- CL,I_^1_(INA_!-1_^1_(SAZ_!1_^1_(JMP* XR_/ERROR-NOT CLASS 1_^1_(RTJ* (XR+1) CHPU GET CHAR FOLLOWING EQUAL_^1_(RAO- LT,I_-SET LITER€€AL SWITCH_^1_(JMP* XX_^1XLB_"SQN OP4-1_^1_(LDA-_$MD,I_^1_(SAZ_%3_^1_(ENA_%0_^1_(JMP_%XA_^1_(JMP*_$XR_^1OP4_$ADC_%ADC,VFD,ORG,EQU,COM,DAT,BSS,BSS_^1_(ADC_%END,ENT,EXT,ALF,NUM,DEC,IFA_^1_)ADC_"IFC,EIF,EMC,LST,PCO,IFR_^1_%ADC_#NLS,NAM1,NAM1,NAM_^1N3_%LDA* OP4,Q_,PICK UP TRANSFER VECTOR_^1_(STA* DAT-1_^1_(LDA- CS,I_^1_(STA- AM,I_^1_%SAZ N3X-3_(SKIP IF BLANK TERMINATOR_^1_%INQ -€€8_+END CARD_^1_%SQZ N3X_*YES, IGNORE TERMINATOR CHECK_^1_%INQ -16_*NO, IS IT A NAM CARD_^1_(SQZ_%N3X_1NAME CARD_^1_(INA_!-4_/TERMINATOR ASTERISK_^1_%SAN N3X-2_(NO-ERROR_^1_%INQ 24_+ASTERISK O.K. IF ADC, ORG, OR EXT_^1_%SQZ 4_,SKIP IF ADC_^1_%INQ -2_^1_%SQZ 2_,SKIP IF ORG_^1_%INQ_!-8_^1_%SQN N3X-2_(NO-ERROR_^1_(RTJ_!CHPU_^1_(SAZ_!2_0BLANK_^1_(JMP_!OB_/ERROR_^1N3X_$RAO-_$IG,I€€_^1_(JMP+ 0_0GO TO PSEUDO ROUTINE_^1*_5PSEUDO OP CHECKOUT_^1DAT_$RAO-_$DX+1,I_.SET DATA FLAG_^1COM_$RTJ*_$D4_^1_(JMP*_$EQU+2_/NO SYMBOL PRESENT_^1_(JMP* D4C_#NO LEFT PAREN PRES_^1_(JMP*_$D1A_1NON ZERO RELOCATION_^1_(LDQ-_$DX+1,I_.NORMAL RETURN_^1_(LDA-_$CC,B_0COMMON OR DATA CTR_^1_(STA- W1,I_"INTO COMMAND WORD_^1_(ADD-_$AX,I_0ADD ADDRESS_^1_(SAP_!2_^1_(SUB*_$D7_^1_(INA_!1_0WRAP €€AROUND_^1_(STA-_$CC,B_0ADJUST COUNTER_^1_(LDA- W1,I_"SET A FOR SYMBOL TBL PUT_^1_(INQ_!2_%COMMON OR DATA RELOC_^1_(STQ- RC,I_-FOR LISTING_^1_(JMP*_$EQU+5_/TO SYM TABLE_^1D7_%NUM_%$8000_^1EQU_$NOP_%0_^1_(RTJ*_$D4_^1_(JMP* DF_/NO SYMBOL PRESENT_^1_(JMP*_$DF+2_^1_(JMP*_$*+1_1NON ZERO RELOCATION_^1_(LDQ-_$RC,I_0RELOCATION CODE_^1_(RTJ* (D+8)_!TO SYMB TABLE(COMMON HERE TOO)_^1_(JMP*€€_$D1D_^1D4_%SLS_^1_(RTJ*_$D1_^1_(SQN_%2_^1_(STQ-_$LA,I_^1_(JMP*_$(D4)_0NO SYMBOL PRESENT_^1_(RTJ*_$(D+13)_.MOVE SYM TO LA_^1_(LDA-_$LP,I_^1_%SAN D4B_^1_(ENA_!1_%NO LFT PAREN-1 INTO CMD WD_^1_(STA-_$AX,I_^1_(ENQ_%1_^1_(JMP*_$(D4),Q_^1D4B_$RTJ*_$(D+4)_/CALL AXPR_^1_(SQZ_%2_^1_(ENQ_!2_%NON-ZERO RELOCATION_^1_(JMP*_$(D4),Q_^1D4C_$LDQ-_$CS,I_^1_(INQ_%-2_^1_(SQM_%1_^1_(JMP* D1A_#NO BLA€€NK OR COMMA NEXT_^1_(ENQ_%3_^1_(JMP*_$(D4),Q_.NORMAL RETURN_^1BSS_$RTJ*_$D4_^1_(JMP*_$D8_^1_(JMP*_$D4C_1NO LEFT PAREN_^1_(JMP*_$D1A_^1*_1NORMAL RETURN ADDRESS TO COMD WORD_^1_(STA-_$W1,I_^1_(RTJ* D5_$NAME INTO SYM TABLE_^1_(LDA-_$W1,I_^1_(SAN_%1_^1_(JMP*_$D1D_^1D6_%LDQ-_$AX,I_^1_(RTJ* (D+12) BUMP COUNTER BY ADDRESS_^1_(JMP*_$D1D_^1D8_%LDA-_$SY+1,I_^1_(SAN_%1_3NULL FIELD_^1_(JMP€€*_$D1D_^1_(LDA-_$LP,I_^1_(SAZ_%1_^1_(JMP*_$D4B_1LEFT PAREN PRESENT_^1_(ENA_%0_^1_(JMP*_$D4C_^1D5_%SLS_^1_(LDA-_$PC,I_^1_(LDQ-_$RM,I_^1_(RTJ*_$(D+8)_^1_(JMP*_$(D5)_^1DF_%LDA- SY+1,I_^1_(SAZ_%3_^1_(LDA-_$CS,I_^1_(INA_%-2_^1_(SAM_%1_^1_(JMP*_$D1D_^1_(ENA_!0_^1_(STA- AX,I_^1_(STA- RC,I_^1_%ENQ 1_,EXPRESSION ERROR BECAUSE OF_$4.0*79*1950_^1_%RTJ ER_+NO LEFT/RIGHT PAREN_-4.0*79*1950€€_^1_(JMP* EQU+5_^1D_'ADC_%CHPR,ER,0,0,AXPR,CHPU,PRNT,NEXT_^1_(ADC_%SYPT,0,0_^1_(ADC_%UP1,UP2,MOVE,SYCH,OV_^1D1_%SLS_^1_(RAO-_$IS,I_0LEAD SGN ILLEGAL_^1_(RTJ* (D)_#TO CHARACTER PROCESSOR_^1_(SAN_!1_%ERROR FOUND BY CHPR_^1_(JMP* (D1)_"NO ERROR - RETURN_^1D1A_$ENA_%0_^1_(STA-_$AX,I_0ZERO ADDRESS_^1_(STA-_$RC,I_0AND RELOCATION_^1D1D_$LDA-_$CS,I_0IS THE NEXT_^1_(INA_!-1_$CHARACTER A €€COMMA_^1_(SAN_%1_3NO_^1_(JMP*_$D1+1_0YES_^1D1C_$JMP*_$(D+7)_^1EXT_$RTJ*_$(D)_1TO CHPR_^1_(SQN_%DL1-1_^1_(LDA-_$SY+1,I_.NO SYMBOL PRESENT_^1_(SAZ_%1_^1_(JMP*_$EXT2_0NULL FIELD_^1EXT1_#ENQ_%1_^1_(RTJ*_$(D+1)_^1EXT2_#RTJ_%RESTBL_.RESTORE SYMBOL TABLE_^1_(LDA-_$CS,I_^1_(SAZ_%EXT3_0EXIT_^1_(INA_%-1_^1_(SAN_%1_^1_(JMP*_$EXT_1COMMA NEXT_^1_(ENQ_%1_^1_(RTJ*_$(D+1)_/ILLEGAL TERMINATOR_^1EXT€€3_#JMP*_$(D+7)_/EXIT_^1_(RTJ*_$(D+13)_.MOVE SYM TO LA_^1DL1_$LDA-_$ST,I_^1_(RTJ*_$(D+14)_.SEARCH SYMBOL TABLE_^1_(INQ_%0_I**MSOS 4.0_^1_(SQZ_%2_I**MSOS 4.0_^1DK_%ENQ_%0_3ERR - EXT IN SYMTAB_^1_(JMP*_$EXT1+1_^1_(LDA-_$ET,I_^1_(RTJ*_$(D+14)_.SEARCH EXT TAB_^1_(INQ_%0_I**MSOS 4.0_^1_(SQZ_%DH1-*-1_!NOT FOUND_7**MSOS 4.0_^1_(LDA-_$1,Q_1FOUND - COMPARE MODE_^1_(AND*_$DT5+1_/PICK UP REL E€€XT BIT_^1_(ARS_%9_^1_(EOR-_$AM,I_^1_(SAZ_%1_3OK_^1_(JMP*_$DK_2ERR - NO MATCH_^1_(JMP*_$EXT2_^1DH1_$RTJ_%TBLIN_/CHK SYMTAB ON MS_^1_(SAM_%1_3ALL SEARCHED_^1_(JMP*_$DL1_1GO SEARCH AGAIN_^1_(RTJ*_$(D+15)_.CHK TABLE OVF_^1_(ENA_%1_^1_(ALS_%15_^1_(LDQ-_$ET,I_0SET EXTERNAL_^1_(INQ_%-2_2ADDRESS TO_^1_(STA-_$1,Q_1MINUS 7FFF_^1_(TRQ_%A_^1_(SUB-_$LA+3,I_.CALCULATE NEW_^1_(STA-_$ET,I_0EXT TAB€€ ADDRESS_^1_(STA* DH2+1_I**MSOS 4.0_^1_(LDQ-_$LA+3,I_^1_(LDA-_$LA,B_^1DH2_$STA+_!0,Q_%STORE EXTERNAL NAME_0MSOS 4.0_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$*-5_^1_%RAO FLAGEX_'TEST FOR WRITE OF EXT SYMBL_)MSOS4.1_^1_%RTJ SYTRSB_'TO THE SYMBOLIC REF TBL_-MSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA FLAGEX_LMSOS4.1_^1_(LDA-_$AM,I_^1_%SAZ ENT-1 EXT2_^1_(LDQ-_$ET,I_0SET RELATIVE BIT_^1_(INQ_%-1_€€^1_(LDA*_$DT5_^1_(AND-_$1,Q_^1_(ADD*_$DT5+1_^1_(STA-_$1,Q_^1_(JMP*_$EXT2_^1ENT_$RTJ*_$D1_^1_(SQN_%1_^1_(JMP*_$D1D_1NO SYMBOL PRESENT_^1_(RTJ*_$(D+13)_^1DL_%LDA-_$ST,I_0SYMTAB ADDR_^1_(RTJ*_$(D+14)_.SEARCH SYMTAB_^1_(INQ_%0_^1_(SQN_%1_(SYMBOL FOUND NOT EQUAL 0_(**MSOS 4.0_^1_(JMP*_$DH_2NOT FOUND_^1_(LDA*_$DT5_1SET ENT PT BIT_^1_(AND-_$1,Q_^1_(ADD*_$DT5+1_^1_(STA-_$1,Q_^1_(JMP*_$DT_^€€1DH_%LDA-_$ET,I_0SEARCH EXT TAB_^1_(RTJ*_$(D+14)_^1_(INQ_%0_^1_(SQZ_%5_I**MSOS 4.0_^1_(ENQ_%0_3FOUND - ERROR_^1_(RTJ*_$(D+1)_^1DT_%RTJ+_$RESTBL_.RESTORE SYMBOL TABLE_^1_(JMP*_$D1D_^1_(RTJ_%TBLIN_/CHK SYMTAB ON MS_^1_(SAM_%1_3ALL SEARCHED_^1_(JMP*_$DL_2GO SEARCH AGAIN_^1_(RTJ*_$(D+15)_.CHK ROOM IN SYMTAB_^1_(ENQ_%4_^1_(RTJ*_$(D+8)_/PUT ENTRY IN SYMTAB_^1_(JMP*_$D1D_^1DT5_$NUM_%$F7FF€€_^1_(NUM_%$0800_^1ORG_$LDA-_$AM,I_^1_%SAZ DG+2_^1_(ENQ_%0_^1_(LDA-_$OC,I_^1_%SAZ DG_+NOT IN ORG MODE_^1_(INA_%0_^1_(STA-_$PC,I_^1_(LDA-_$OR,I_^1_(STA-_$RM,I_^1_(STA-_$RC,I_^1_(STQ-_$OR,I_^1_(STQ-_$OC,I_0SAVE STORAGES_^1DG_%JMP_%NEXT_^1_(STA-_$IS,I_^1_(RTJ+_$AXPR_^1_(INQ_%-2_^1_(SQZ_%2_3ERROR COM RELO_^1_(INQ_%-2_^1_(SQM_%1_^1_(JMP*_$DG_2ERROR NEG RELO_^1_(LDQ-_$OC,I_^1_(SQN_%6_3€€IN ORG MODE NOW_^1_(LDQ-_$PC,I_0SAVE PROG CTR_^1_(SQN_%1_^1_(TCQ_%Q_^1_(STQ-_$OC,I_^1_(LDQ-_$RM,I_0SAVE RELO_^1_(STQ-_$OR,I_^1_(STA-_$PC,I_0RESET PROG CTR_^1_(LDA-_$RC,I_^1_(STA-_$RM,I_0RESET RELO_^1_(JMP*_$DG_2EXIT TO NEXT_^1END_$LDQ-_$XSYSCT,I_^1_(SQZ_%6_3NO SYMBOL TABLES ON MS_^1_(LDA-_$WMS,I_/PUT THIS SYMBOL TABLE_^1_(STA_%DISKWR+5_^1_(LDA-_$ST,I_^1_(RTJ_%DOUT_^1_%LDA- AM,I_)GE€€T TERMINATOR_^1_%SAZ NOOPER_'ZERO = BLANK_^1_%ENQ 4_,OPERAND ERROR_^1_%RTJ+ ER_^1NOOPER ENQ 29_+NUMBER OF WORDS IN NAMC_^1_(LDA+_$NAMC,Q_^1_(STA-_$UB+4,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$*-5_^1_(LDQ_%=N$2050_^1_(STQ- UB,I_"ID INTO PUNCH BUFFER_^1_(LDQ- CC,I_"STORE COMMON CTR_^1_(STQ-_$UB+1,I_^1_(LDQ-_$DC,I_0STORE DATA CTR_^1_(STQ-_$UB+2,I_^1_(LDQ-_$PC,I_^1_(STQ- UB+3,I_^1_%EN€€Q 37_+$ $ $ WORD COUNT FOR NAM BLOCK_%74*1804_^1_%STQ* DISKWR+5_J40*630_^1_(STQ- PER,I_,FOR PUNC_^1_(RTJ+_$PUNC_^1_%ENA 96_+RESTORE DISC WRITE RECORD LENGTH_^1_%STA* DSKWLN_^1_(ENA_%0_^1_(STA-_$CC,I_^1_(STA-_$DC,I_^1_(STA-_$PC,I_^1_(LDA-_$TSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1END1_#ENQ_%48_^1_(LDA_%=N$2020_^1_(STA-_$PB,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$*-3_^1_(ENA_%-1_^1_(STA-_$CT,I€€_^1_(ENA_!1_^1_(STA- PSW,I_^1_(LDA_%ILSCST_^1_%INA -2_^1_(STA-_$SECTNO,I_,*** TEMP_^1_(ENA_%0_^1_(LDQ_%=XSL-DX_-ZERO LOOP FOR PASS 3_^1_(STA-_$DX,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(LDA+_$NAMC_^1_(SUB*_$END1+2_^1_(SAZ_%4_^1JJPR5_"ENA_%1_^1_(STA-_$RM,I_^1_(JMP+_$ASSEM_^1_(ENA_%0_^1_(STA-_$TSW,I_^1_(ENQ_%9_^1_(LDA_%=A**_^1_(STA-_$PB,B_^1_(SQZ_%2_^1_(INQ_%-1_^1_(JMP*_$*-3_^1_€€(LDA_%=ANN_^1_(STA-_$PB+4,I_^1_(RTJ+_$PRNT_^1_(LDA-_$TSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1_(JMP*_$JJPR5_^1DOUT_#ADC_%0_^1_(STA*_$DISKWR+6_^1_(STQ*_$DISKWR+8_^1_(ENA_%0_^1_(STA-_$PSW,I_^1DISKWR RTJ- (REQPRO)_$FWRITE REQUEST._^1_(ADC_!$4C00_I**MSOS 4.0_^1_(ADC_%COP_^1_(ADC_%0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1DSKWLN NUM 96_^1_(ADC_%0_^1_(ADC_%0_^1_(ADC_%0_^1_(LDA-_$PSW,I_^1_(SAN_%1_^€€1_(JMP*_$*-2_^1_%ENA 96_+RESTORE RECORD LENGTH_^1_%STA* DSKWLN_^1_(JMP*_$(DOUT)_^1DIN_$ADC_%0_^1_(STA*_$DISKRD+6_^1_(STQ*_$DISKRD+8_^1_(ENA_%0_^1_(STA-_$PSW,I_^1DISKRD RTJ- (REQPRO)_$FREAD REQUEST._^1_(ADC_!$4800_I**MSOS 4.0_^1_(ADC_%COP_^1_(ADC_%0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1_(NUM_%96_^1_(ADC_%0_^1_(ADC_%0_^1_(ADC_%0_^1_(LDA-_$PSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1_(ENA_%96_2€€RESTORE RECORD LENGTH_^1_(STA*_$DISKRD+5_^1_(JMP*_$(DIN)_^1RECV_#ADC_!0_%THIS ROUTINE CONVERTS SYMBOLS_^1_(INQ_!-1_$BACK TO 7 BIT CHARS-ADDR OF_^1_(LDA* WV_^1_(STA- LA+1,I SYMBOL TO BE CONVERTED IN Q AT_^1_(STA- LA+2,I_^1_(LDA_!=N$7C0_+ENTRY_^1_(AND- 1,Q_^1_(ARS_!6_0OUTPUT IS IN LA AND FF_^1_(SAZ_!1_^1_(INA_!$20_#CONVERT 5 BIT CHAR BACK TO 7_^1_(INA_!$20_^1_(ALS_!8_^1_(STA- L€€A,I_^1_(ENA_!$3F_^1_(AND- 1,Q_^1_(INA_!$20_^1_(ADD- LA,I_^1_(STA- LA,I_^1_(INQ_!1_^1_(STQ* RR+1_^1_(ENQ_!1_^1RR_%LDA+ 0,Q_^1_%SAM WV-1_^1_(ADD* WV_^1_(STA- LA,B_^1_(INQ_!-2_^1_(SQZ_!2_^1_(INQ_!3_^1_(JMP* RR_^1_(JMP* (RECV)_^1WV_%NUM_!$2020,$2050,$2043,$2044,$2058_^1_(NUM_!$2D50,$2D43,$2D44_^1FLAGEX BZS FLAGEX_LMSOS4.1_^1SCSAVE BZS SCSAVE_LMSOS4.1_^1SAVEI BSS SAVEI(1)_€€JMSOS4.1_^1SAVEA BSS SAVEA(1)_JMSOS4.1_^1SAVEQ BSS SAVEQ(1)_JMSOS4.1_^1SYTRSB NUM 0_QMSOS4.1_^1_%STA* SAVEA_MMSOS4.1_^1_%STQ* SAVEQ_MMSOS4.1_^1_%LDA- I_QMSOS4.1_^1_%STA* SAVEI_MMSOS4.1_^1_%LDA =XCONS_LMSOS4.1_^1_%STA- I_QMSOS4.1_^1_%LDA SYINDM_'INDEX TO SYRFTS_5MSOS4.1_^1_%SUB =N96_NMSOS4.1_^1_%SAM 1_QMSOS4.1_^1_%RTJ* SYTOUT_'SAVE SECT ON THE DISK_/MSOS4.1_^1_%LDA- LN,I_NM€€SOS4.1_^1_%TCA A_QMSOS4.1_^1_%LDQ SYINDM_LMSOS4.1_^1_%STA SYRFTS,Q_JMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%STQ SYINDM_LMSOS4.1_^1_%LDA SYINDM_LMSOS4.1_^1_%SUB =N96_NMSOS4.1_^1_%SAM 1_QMSOS4.1_^1_%RTJ* SYTOUT_LMSOS4.1_^1_%LDA* FLAGEX_LMSOS4.1_^1_%SAZ 3_QMSOS4.1_^1_%LDA- ET,I_NMSOS4.1_^1_%INA -1_PMSOS4.1_^1_%JMP* *+4_OMSOS4.1_^1_%LDA* SCSAVE_LMSOS4.1_^1_%ADD- ST,I_NMSOS4.1_^1_%INA €€ -1_PMSOS4.1_^1_%LDQ SYINDM_LMSOS4.1_^1_%STA SYRFTS,Q_$STORE ADDR.OF REF_3MSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%STQ SYINDM_LMSOS4.1_^1_%LDA- SC,I_NMSOS4.1_^1_%STA* SCSAVE_LMSOS4.1_^1_%LDA* SAVEI_MMSOS4.1_^1_%STA- I_QMSOS4.1_^1_%LDQ* SAVEQ_MMSOS4.1_^1_%LDA* SAVEA_MMSOS4.1_^1_%JMP* (SYTRSB)_JMSOS4.1_^1SYTOUT NUM 0_QMSOS4.1_^1SYDTOK LDA- PSW,I_MMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* SYDTO€ðK_LMSOS4.1_^1_%LDA =XSYRFTS_JMSOS4.1_^1_%LDQ SYCADM_LMSOS4.1_^1_%RTJ+ DOUT_NMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA SYINDM_LMSOS4.1_^1_%LDA SYCADM_LMSOS4.1_^1_%INA 1_QMSOS4.1_^1_%STA SYCADM_LMSOS4.1_^1_%JMP* (SYTOUT)_JMSOS4.1_^1_(END_^__ ðPPASS3 CSY/ A06 P€1_%NAM PASS3_(DECK-ID A06 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1*_'PROGRAM BASE-MACRO ASSEMBLER 2.0_4**MSOS 4.0_^1_(ENT_%PASS3_^1PGLGTH EQU PGLGTH(56)_"SET FOR PAGE LENGTH_1MSOS4.1_^1PS_#EQU PS(3)_(TO READ IN PASS 4._^1STDLGO EQU STDLGO($E4)_^1€€REQPRO EQU REQPRO($F4)_^1STDOUT EQU STDOUT($FA)_^1STDPRT EQU STDPRT($FB)_^1STDOCD EQU STDOCD($FC)_^1DISP_!EQU DISP($EA)_^1_'EXT_!RP2_^1_%ENT_!PCO_^1_'ENT_!PCOSET_^1ASSEM_"ENQ_!PS_^1_(SQP_!MA1-*-1_^1_(ENA_!0_^1_(STA_!FST_^1_%ENQ 4_QMSOS4.1_^1_%STA APASS1,Q_JMSOS4.1_^1_%STA PS1W2,Q_KMSOS4.1_^1_%SQZ 2_QMSOS4.1_^1_%INQ -1_PMSOS4.1_^1_%JMP* *-6_OMSOS4.1_^1MA1_$LDA_!=XPS1ALF-FI€€LE-1_?**MSOS 4.0_^1_(JMP* *+1,Q_^1_(INA_!-3_^1_(INA_!-3_^1_(INA_!-3_^1_%INA -3_PMSOS4.1_^1_%INA 12_PMSOS4.1_^1GETFIL_!STA* FILE+8_^1_(ENA_!0_^1_(STA* FILE1_^1*_81 CARD DELETED_6MSOS4.1_^1_(STA* CSWW_^1_%ENQ PS_PMSOS4.1_^1_%LDA APASS1,Q_JMSOS4.1_^1_%STA* FILE2_MMSOS4.1_^1_%LDA PS1W2,Q_KMSOS4.1_^1_%STA* FILE+7_LMSOS4.1_^1FILE_!RTJ- (REQPRO)_$GTFILE REQUEST._^1_%NUM $5A00_L*€€*MSOS 4.0_^1_(ADC_!COO_^1_(ADC_!0_^1_(ADC_!$8C2_^1_(ADC_!0_^1_(ADC_!ASSEM_^1_(ADC_!0_^1_(ADC_!0_^1FILE1_"ADC_!0_^1FILE2_"ADC_!0_^1_(LDA* CSWW_^1_(SAN_!1_^1_(JMP* *-2_^1_%ENQ PS_PMSOS4.1_^1_%LDA* FILE2_MMSOS4.1_^1_%STA APASS1-1,Q_HMSOS4.1_^1_%LDA* FILE+7_LMSOS4.1_^1_%STA PS1W2-1,Q_IMSOS4.1_^1_(RTJ* *+1_^1ASSEM1_!ADC_!0_^1_(LDA* ASSEM1_^1_(SUB* ASMADC_^1_(SAN_!1_^1_(JMP* END€€ASB_^1_%LDA* ASSEM1_'SET STARTING ADDRESS IN REQUEST_'68*1500_^1_%INA APUNT1_'ABSOLUTE ADDRESS OF PUNT1_-68*1500_^1_%STA* APUNT_O68*1500_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(ADC_!$4C00_^1_(ADC_!0_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_!6_^1APUNT ADC_#0_P68*1500_^1_%JMP- (DISP)_'EXIT_^1PUNT1_"ALF_!6,ABS BASE ERR_^1APUNT1 EQU APUNT1(PUNT1-ASSEM1)_@68*1500_^1ASMADC€€_!ADC_!ASSEM1_^1_(BZS_!CSWW_^1COO_$ENA_!1_^1_(STA* CSWW_^1_%JMP- (DISP)_'EXIT_^1PS1ALF_!ALF_!3,PASS1_^1PS2ALF_!ALF_!3,PASS2_^1PS3ALF_!ALF_!3,PASS3_^1PS4ALF_!ALF 3,TABLST_G**MSOS 4.0_^1PS5ALF ALF 3,XREF_LMSOS4.1_^1MA5_"ADC 0_^1_(EQU_%ENDASB(MA5+1)_^1PASS3 LDA SYCADM_LMSOS4.1_^1_%SUB SYTRFD_LMSOS4.1_^1_%STA SYTRFM_LMSOS4.1_^1_%LDA SYINDM_LMSOS4.1_^1_%INA -1_PMSOS4.1_^1_%ALS€€ 8_QMSOS4.1_^1_%ADD SYTRFM_LMSOS4.1_^1_%STA SYTRFM_LMSOS4.1_^1_%LDA- ET,I_NMSOS4.1_^1_%STA SYEXT_MMSOS4.1_^1_%ENA 1_QMSOS4.1_^1_%STA- PSW,I_^1_%STA- CSW,I_^1_%STA- DSW,I_^1_%STA- DSWW,I_^1_%LDA L_^1_(SAN_%1_^1_(JMP*_$TESTPN_^1_(LDA-_$I_^1_(STA*_$JJJ_^1_%RTJ- (REQPRO)_$STATUS REQUEST._^1_%NUM $4600_^1_%VFD N3/0,N1/0,N2/2,X10/STDPRT_^1_%NUM 0_^1_(SQP_%1_^1_(JMP*_$*-5_^1_(LDA€€*_$JJJ_^1_(STA-_$I_/RESTORE I-REG_^1_(TRQ_%A_^1_(AND*_$JJ3_-MASK TO LEAVE ONLY EQUIP CODE_^1_(ALS_%5_^1_%INA_!-1_^1_(SAZ_%3_^1_(INA_!-5_L**MSOS 4.0_^1_(SAN_!2_M**MSOS 4.0_^1_(JMP*_$JPRNST_^1_(JMP*_$JPRNMT_^1TESTPN_!RTJ_%EJECT_^1_(JMP*_$NEXT_^1JJJ_$NUM_%0_^1PRNFLG_!NUM_%0_^1LINE_#NUM_%49_^1JJ3_"NUM $3800_(MASK FOR DEVICE TYPE_^1PJECT_"NUM_%$000C_"CHAR FOR PAGE EJECT CARR CONTROL_^1€€JJ5_$NUM_%$2020_"CHAR FOR NORMAL CARRIAGE CONTROL_^1CARCON_!NUM_%0_^1JPRNST_!LDA_%=N$0C00_%PRINTER IS STANDARD_^1_(STA*_$PJECT_(PAGE EJECT CODE_^1_(ENA_%0_^1_(STA*_$JJ5_*NORMAL CARRIAGE CONTROL_^1_(ENA_%36_^1JJ4_$STA*_$LINE_^1_(JMP*_$TESTPN_^1JPRNMT_!LDA_%=N$3120_%PRINTER IS MAG TAPE_^1_(STA*_$PJECT_(*_^1_(STA*_$PRNFLG_^1_(ENT_%PRNFLG_^1_(JMP*_$TESTPN_'*_^1PCO_$ENA_$0_^1_%RTJ+_"CHP€€R_^1_%SAN_!PCOERR_^1_'LDA-_!NU,I_^1_%TCA_!A_^1_)STA*_!PCOSET_^1_%JMP+_!IGNORE_^1PCOSET_"NUM_"0_^1PCOERR ENQ_"1_^1_%RTJ+_!ER_^1_%JMP+_!IGNORE_^1NEXT_#ENA_%0_^1_(ENQ_%14_^1_(STA-_$DX,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$NEXT+2_^1_(STA-_$LP,I_^1_(STA+_$RP2_%CLEAR RT PAREN COUNTER_^1NXT1_!ENA PGLGTH_LMSOS4.1_^1_(SUB-_$PAGL,I_^1_(SAZ_%1_^1_(SAP_%2_^1_(RTJ_%EJECT_/PAGE EJECT_^1_(RTJ*_$RD€€IM_0READ IL FROM DISC_^1_(LDQ-_$SKF,I_^1_(SQN_%NXT3-*-1_,SKIPPING ON IF_^1_(ALS_%2_^1_(SAP_%3_^1_(ENQ_%3_3ERROR FROM PREVIOUS PASS_^1_(RTJ+_$ER_^1_(LDA-_$IL,I_^1_(ALS_%3_^1_(SAP_%NXT3-*-1_^1NXTOUT_!RTJ+_$PRNT_^1_(JMP*_$NEXT_^1NXT3_#ENA_%-1_^1_(STA-_$CT,I_^1_(JMP_%LBPK_^1DECV_#ADC_!0_0NUMBER TO CONVERT IN A_^1_(ENA_!0_%THIS ROUTINE CONVERTS THE_^1_(STA- TR,I_"BINARY LINE NUMBER TO €€ASCII_^1_(ENQ_%4_^1_(LDA- LN,I_"OUTPUT IS 3 DIGITS IN QA WITH_^1_(INA_!-10_.A TRAILING BLANK_^1_(SAM_!2_^1_(RAO- TR,I_^1_(JMP* *-3_^1_(INA_!58_$ADD BACK 10 PLUS HEX 30 TO_^1_(STA- TR,B_-MAKE ASCII CHAR_^1_(LDA- TR,I_^1_(STA-_$TR+5,I_^1_(ENA_!0_^1_(STA- TR,I_^1_(LDA-_$TR+5,I_^1_(INQ_!-1_^1_(SQZ_!1_^1_(JMP* *-13_^1_(LDQ- TR+1,I_^1_(QLS_!8_^1_(ADQ- TR+2,I_^1_(LDA- TR+3,I_^1_€€(ALS_!8_^1_(ADD-_$TR+4,I_^1_(JMP* (DECV)_^1RDIM_#ADC_%0_^1_(LDA*_$RZ+1_^1_(LDQ-_$BS,I_^1_(SQZ_%1_^1_(INA_%48_^1_(STA*_$IM_^1_(STA_!OFJ2_J**MSOS 4.0_^1_(ENA_%0_^1_(SQZ_%2_3READ IN_^1_(STA-_$BS,I_0FLIP BUFFER SWITCH_^1_(JMP*_$RZ1_^1_(RAO-_$BS,I_^1RZ_%LDA_%=XIB_^1_(LDQ-_$SECTNO,I_^1_%INQ 2_^1_(STQ-_$SECTNO,I_^1_(RTJ+_$DIN_^1RZ1_$ENQ_%41_^1_(LDA*_$(IM),Q_^1_(SAZ_%1_^1_(STA-_$LN,I_0ST€€ORE LINE NO_^1_(INQ_%1_^1_(LDA*_$(IM),Q_^1_(STA-_$IL,I_0IL FLAG BITS_^1_(ENQ_%0_3MOVE IMAGE TO_^1RZ2_$LDA*_$(IM),Q_^1_(SUB_%=N$0D00_^1_%SAZ RZ2A_^1_(ADD*_$*-2_^1_(STA-_$PB+9,B_^1_(INQ_%1_^1_(JMP*_$RZ2_^1RZ2A_!STQ- SL,I_)STORE IMAGE LENGTH_^1_(ENA_%8_^1_(SUB_%LINE_^1_(AAQ_%Q_^1_%SQM RZ2B_^1_(ENQ_%-9_^1_(ADQ_%LINE_^1_(STQ-_$SL,I_0INDICATED_^1RZ2B_!LDA- LN,I_^1_(SAN_%4_^1_(LDA_%=N$2€€020_^1_(TRA_%Q_^1_(JMP*_$*+1_^1_(RTJ*_$DECV_0CONVERT LINE NO._^1_(STQ-_$PB,I_^1_(STA-_$PB+1,I_^1_(LDA-_$IL,I_^1_(JMP*_$(RDIM)_^1_(BZS_%IM(1),IB(96)_^1STATUS_!ADC_%0_^1_(LDA- CSW,I_!WAIT FOR COMPLETION_^1_(SAN_%1_^1_(JMP*_$*-2_^1_(JMP*_$(STATUS)_,MARK FOR ERROR_^1END_$LDA-_$MD,I_^1_(ENQ_%4_^1_(SAN_%ENDER-*-1_^1_(RTJ+_$CHPR_^1_(SAN_%2_^1_(LDA-_$CS,I_^1_(SAZ_%3_^1_(ENQ_%1_^1ENDER_"RT€€J+_$ER_^1_(RTJ+_$PRNT_^1_(RTJ+_$UNCP_0EMPYT PUNCH BUFFER_^1_(ENA_!0_^1_(STA- WC,I_^1_(STA- NU,I_^1_(LDA-_$PSW,I_/WAIT FOR END_^1_(SAN_%1_3OF LAST PRINT_^1_(JMP*_$*-2_^1_%LDA- CSW,I_(WAIT FOR END OF PUNCH_^1_%SAN 1_^1_%JMP* *-2_^1_(JMP_%ASSEM_^1WDPK_#ADC_!0_^1_(LDA- W1,I_^1_(RTJ* (LDCP+3) HEXC_^1_(LLS_!8_^1_(STQ- PB+6,I_^1_(LDQ* WV_^1_(LLS_!8_^1_(ALS_!8_^1_(QLS_!8_^1_(STQ- P€€B+7,I_^1_(STA- PB+5,I_^1_(LDA- EX,I_^1_(SAZ_%WA1-*-1_^1_(LDA* WV+4_^1WA_%LDQ- PB+7,I_^1_(QLS_!8_^1_(LLS_!8_^1_(STA- PB+8,I_^1_(STQ- PB+7,I_^1_(RTJ*_$(ENDER+3)_^1_(JMP* (WDPK)_^1WA1_$LDQ-_$RC,I_^1_(LDA* WV,Q_^1_(JMP* WA_^1WV_%NUM_!$2020,$2050,$2043,$2044,$2058_^1_(NUM_!$2D50,$2D43,$2D44_^1MVFLG NUM 0_^1LDCP_#ADC_!0_^1_(LDA- PC,I_^1_(RTJ+ HEXC_^1_(STQ- PB+3,I_^1_(STA- €€PB+4,I_^1_(LDQ- RM,I_^1_(LDA* WV,Q_^1_(STA- PB+2,I_^1_(RTJ* WDPK_^1_(JMP* (LDCP)_^1RECV_#ADC_!0_%THIS ROUTINE CONVERTS SYMBOLS_^1_(INQ_!-1_$BACK TO 7 BIT CHARS-ADDR OF_^1_(LDA* WV_^1_(STA- LA+1,I SYMBOL TO BE CONVERTED IN Q AT_^1_(STA- LA+2,I_^1_(LDA_!=N$7C0_+ENTRY_^1_(AND- 1,Q_^1_(ARS_!6_0OUTPUT IS IN LA AND FF_^1_(SAZ_!1_^1_(INA_!$20_#CONVERT 5 BIT CHAR BACK TO 7_^1_(IN€€A_!$20_^1_(ALS_!8_^1_(STA- LA,I_^1_(ENA_!$3F_^1_(AND- 1,Q_^1_(INA_!$20_^1_(ADD- LA,I_^1_(STA- LA,I_^1_(INQ_!1_^1_(STQ* RR+1_^1_(ENQ_!1_^1RR_%LDA+ 0,Q_^1_%SAM PUNC-1_^1_(ADD* WV_^1_(STA- LA,B_^1_(INQ_!-2_^1_(SQZ_!2_^1_(INQ_!3_^1_(JMP* RR_^1_(JMP* (RECV)_^1MOVEIT ADC 0_^1_%ENQ 56_^1MOVE2 LDA- UB,B_)MOVE PUNCH BUFFER TO ALTERNATE._^1_%STA- AUB,B_^1_%INQ -1_^1_%SQM 1_^1_€€%JMP* MOVE2_^1_%JMP* (MOVEIT)_^1PUNC_#ADC_%0_^1_(LDQ+_$X_^1_%SQN 3_^1_%ENA 0_^1_%STA* MVFLG_^1_(JMP*_$PC2_1NO LOAD AND GO_^1_%LDA- STDLGO_'LOAD AND GO SECTOR NUMBER._^1_(SUB_%=N750_^1_(SAM_%PC1-*-1_^1_(ENA_%0_^1_(STA*_$(PUNC+2)_^1_(ENQ_%9_3LOAD AND GO OVERFLOW_^1_(RTJ*_$(ENDER+1)_^1_%ENA 0_^1_%STA* MVFLG_^1_(JMP*_$PC2_^1PC1_"RTJ STATUS_(CHECK IF PUNCH DONE BEFORE MOVING_^1DSTAT€€ LDA- DSW,I_^1_%SAN 1_^1_%JMP* DSTAT_^1_%RTJ* MOVEIT_^1_%LDQ- STDLGO_^1_(LDA- PER,I_I**MSOS 4.0_^1_(STA_#DISKW5_F**MSOS 4.0_^1_(LDA*_$PC3+1_^1_(RTJ+_$DOUT_^1_%RAO- STDLGO_^1_%ENA -0_^1_%STA* MVFLG_^1PC2_"LDQ P_^1_(SQZ_!PO-*-1_^1PC3_"LDA =XCONS+AUB_^1_(LDQ- PER,I_,NO WDS TO OUTPUT_^1_(RTJ*_$BW_2BINARY WRITE_^1PO_#RTJ* ZEROIT_^1_%JMP* (PUNC)_^1ZEROIT ADC 0_^1_%ENA 0_^1_%ENQ €€ 56_^1ZEROA STA+ UB,B_^1_%INQ -1_^1_%SQM 1_^1_%JMP* ZEROA_^1_%JMP* (ZEROIT)_^1BW_%ADC_%0_^1_%STA* BWA+1_^1_%STQ* BWA_^1_%RTJ STATUS_^1_%LDA* MVFLG_^1_%SAM 1_^1_%RTJ* MOVEIT_^1_(ENA_%0_^1_(STA-_$CSW,I_^1_%RTJ- (REQPRO)_^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_%CO_^1_(ADC_%0_^1_%VFD N3/0,N1/0,N2/2,X10/STDOUT_^1BWA_"ADC 0_^1_(ADC_%0_^1_(JMP*_$(BW)_^1RBPK_#ADC_!0_^1_(LDA- WC,I_-RBD W€€ORD COUNT_^1_(SAN_!RA-*-1_^1_(INA_!1_^1_(STA- WC,I_^1_(LDQ_!=N$4050 RBD IMG AND 7-9 CODE_^1_(STQ- UB,I_^1_(LDQ- RM,I_^1_(QLS_!12_^1_(STQ- UB+1,I_^1_(LDQ- PC,I_^1_(STQ- UB+2,I_^1RA_%ENQ_!0_^1_(STQ- HX,I_-SET SWITCH FOR SBRTP_^1_(RTJ* RB_^1_(LDQ- XMOD,I_^1_(LDA- W1,I_^1_(STA- UB+1,B_^1_(LDA- WC,I_^1_(INA_!1_^1_(STA- WC,I_^1_(INA_!-44_^1_(SAN_!1_^1_(RTJ* UNCP_^1_(JMP* (€€RBPK)_^1RB_%ADC_!0_0HX=0 NEED LDA- RM,I_^1_(ENQ_!0_0HX NON-ZERO NEED INA 8_^1_(DVI_!=N4_#A CONTAINS WORD COUNT-DIV BY 4_^1_(STQ- RP,I_-SAVE REMAINDER_^1_(MUI_!=N5_^1_(STA- AU,I_-REL BYTE POINTER_^1_(INA_!5_^1_(DVI* *-3_^1_(ADD- WC,I_^1_(STA- XMOD,I_+COMMAND WORD POINTER_^1_(LDQ- RP,I_-REMAINDER_^1_(ENA_!3_^1_(EAQ_!Q_^1_(LDA- HX,I_^1_%SAN UNCP-2_^1_(LDA- RC,I_-RELO BYTE FOR€€ OUTPUT_^1RD_%SQZ_!3_^1_(ALS_!4_^1_(INQ_!-1_^1_(JMP* RD_^1_(LDQ- AU,I_-REL BYTE WORD POINTER_^1_(ADD- UB+1,B_^1_(STA- UB+1,B_^1_(JMP* (RB)_^1_(ENA_!8_^1_(JMP* RD_^1UNCP_#ADC_!0_^1_(LDA- WC,I_^1_(SAN_!1_^1_(JMP* (UNCP)_^1_(INA_!-1_^1_(RAO- HX,I_^1_(RTJ* RB_^1_(LDQ- XMOD,I_+SET WRD CNT_^1_(INQ_!2_0FOR PUNC_^1_(STQ- PER,I_^1_%RTJ+ PUNC_^1_(ENA_!0_^1_(STA- WC,I_-ZERO WORD €€COUNT_^1_(JMP* (UNCP)_^1HEXC_#ADC_!0_^1_(LDQ- I_^1_(STQ- RP,I_^1_(ENQ_!0_^1_(STQ- I_^1_(ENQ_!0_^1_(LLS_!4_^1_(INQ_!-$A_^1_(SQM_!1_^1_(INQ_!7_^1_(INQ_!$3A_^1_(STQ_!CONS+TR,I_^1_(LDQ- I_^1_(INQ_!-3_^1_(SQZ_!2_^1_(RAO- I_^1_(JMP* HEXC+5_^1_(LDA_!CONS+RP_^1_(STA- I_^1_(LDQ- TR,I_^1_(QLS_!8_^1_(ADQ- TR+1,I_^1_(LDA- TR+2,I_^1_(ALS_!8_^1_(ADD- TR+3,I_^1_(JMP* (HEXC)_^1BLN_$AD€€C_!0_^1_(LDA_!=N$2020_^1_(ENQ_%48_^1_(STA- PB,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(JMP* (BLN)_^1PRNT_#ADC_%0_^1_(LDA_%L_^1_(LDQ- ES,I_^1_(SQZ_!1_^1_(JMP* PE_/PASS 2 ERROR_^1_(SAZ_%BLNK-*-1_^1_(LDA- YL,I_^1_(SAN_!BLNK-*-1_^1_(LDQ-_$SL,I_^1_(INQ_%9_3LENGTH OF BUFFER_^1_(STA- SL,I_^1_(LDA-_$MPSW,I_^1_(SAZ_%1_^1_(ENQ_%9_3PRINT BINARY WD ONLY_^1_%LDA* PDA_^1_(RTJ*_$WRIT_^1_(€€JMP*_$BLNK_^1BLNK_#RTJ* BLN_^1_(JMP*_$(PRNT)_^1PD_#ENA 0_Q44*701_^1_%STA- PSW,I_^1_%RTJ- (REQPRO)_$FWRITE REQUEST_^1_(NUM_!$4C00_I**MSOS 4.0_^1_%ADC COP_^1_(ADC_%0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_%ADC 4_Q44*701_^1PDA_"ADC CONS+PB_^1_%LDA- PSW,I_M44*701_^1_%SAN 1_Q44*701_^1_%JMP* *-2_O44*701_^1_(JMP*_$BLNK_^1PE_%SAN_!1_^1_(JMP* PD_$NO LIST-OUTPUT ERR ON TYPE_^1_(LDA_%=X€€PEB_^1_(ENQ_%9_^1_(RTJ*_$WRIT_^1_(JMP*_$(PRNT)_^1WRIT_#ADC_!0_^1_(RAO-_$PAGL,I_^1_(STA* WR4+1_,START ADDR_^1_%INQ_#-1_^1WR5_"LDA*_"(WR4+1),Q_#SQEEZE TRAILING BLANKS_^1_%SUB*_"BLN+2_^1_%SAN 4_P**MSOS 4.0_^1_%INQ_#-1_^1_%SQZ_#1_^1_%JMP*_"WR5_^1_%ENQ_!5_O**MSOS 4.0_^1_%INQ_#1_^1_(STQ* WR1_.NUMB WDS_^1_(LDA_%CARCON_^1_(STA*_$CRCON1_^1WR3_$LDA- PSW,I_^1_(SAN_!1_^1_(JMP* WR3_.WAIT F€€OR COMPLETION_^1_(ENQ_%48_^1WR4_$LDA+ 0,Q_.MOVE IMAGE TO ALTERNATE_^1_(STA* APB,Q_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* WR4_^1WR2_$ENA_!0_^1_(STA- PSW,I_^1_(RAO*_$WR1_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_!COP_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDPRT_^1WR1_$ADC_!0_^1_(ADC_%APB-1_^1_(LDA-_$PAGL,I_^1_(INA_%-57_^1_(SAZ_%1_^1_(JMP*_$(WRIT)_^1_(LDA*_$W€€RIT_^1_%STA*_"ER-1_^1_(RTJ+_$EJECT_^1_(JMP+_$0_^1ER_%ADC_!0_^1_(RAO_%ERC_^1_%LDA- SC,I_NMSOS4.1_^1_%AND- $23,Q_MMSOS4.1_^1_%STA* TEMP_NMSOS4.1_^1_%LDA- SC,I_NMSOS4.1_^1_%EOR- $23,Q_MMSOS4.1_^1_%ADD* TEMP_NMSOS4.1_^1_%STA- SC,I_NMSOS4.1_^1_(LDQ* ERT,Q_,PICK UP ERR MESSAGE_^1_(STQ- ES,I_^1_(LDA_%L_^1_(SAN_%ER2-*-1_^1ER1_$LDA_%=A**_^1_(STA-_$PB+2,I_^1_(STQ-_$PB+3,I_^1_(RTJ_%DECV_^1_€€(STQ-_$PB,I_^1_(STA-_$PB+1,I_^1ER3_$RTJ*_$PRNT_^1_(ENA_%0_^1_(STA-_$RC,I_^1_(STA-_$ES,I_^1_(JMP*_$(ER)_^1ER2_$STQ*_$PEB+3_^1_(JMP*_$ER3_^1CRCON1_!NUM_%$2020_^1_(BZS_%APB(49)_^1CO_#SQP CO1_^1_%ENA 0_^1_%STA+ P_^1CO1_"INQ 1_^1_(STQ_!CONS+CSW_^1_%JMP- (DISP)_'EXIT_^1COP_$INQ_!1_^1_(STQ_!CONS+PSW_^1_%JMP- (DISP) EXIT_^1COWR_!INQ 1_^1_%STQ CONS+DSW_^1_%JMP* COP-1_^1CORD_!INQ 1_^1_€€%STQ CONS+DSWW_^1_%JMP* COP-1_^1ERT_$ALF_!1,DS_^1_(ALF_!1,EX_^1_(ALF_!1,LB_^1_(ALF_%1,PP_^1_(ALF_!1,OP_^1_(ALF_!1,RG_^1_(ALF_!1,RL_^1_(ALF_!1,OV_^1_(ALF_!1,UD_^1_(ALF_%1,MO_^1PEB_$ALF_%9,****** **********_^1TEMP_!BSS TEMP_NMSOS4.1_^1*_'HOLDERS AND SWITCHES FOR PASS 2_^1*_1ST MUST BE FIRST_^1_(EQU_%ST(1),ET(ST+1),PSW(ET+1),PB(PSW+1)_^1_%EQU DSW(PB+49),DSWW(DSW+1)_^1_%EQU TSW(DS€€WW+1),CSW(TSW+1),SECTNO(CSW+1)_^1_%EQU_#PNAM(SECTNO+1)_^1_%EQU_#WMS(PNAM+3),CSYSCT(WMS+1)_^1_(EQU_%SCOUNT(CSYSCT+1),XSYSCT(SCOUNT+1)_^1_(EQU_%CC(XSYSCT+1),DC(CC+1)_^1_(EQU_%PC(DC+1),DX(PC+1),LA(DX+2),W1(LA+4),W2(W1+1)_^1_(EQU_%AD(W2+1),AF(AD+1),AM(AF+1),CL(AM+1),EX(CL+1)_^1_(EQU_%RC(EX+1),AX(RC+1),LC(AX+1),AU(LC+1),AR(AU+1)_^1_(EQU_%TR(AR+1),SY(TR+7),NU(SY+4),SG(NU+1),RP(SG+1)_^1_(€€EQU_%HX(RP+1),XMOD(HX+1),LT(XMOD+1),ES(LT+1),LP(ES+1)_^1_(EQU_%IG(LP+1),NS(IG+1),IS(NS+1),CT(IS+1),CS(CT+1)_^1_(EQU_%IL(CS+1),MD(IL+1),ID(MD+1),SKF(ID+1)_^1_(EQU_%BS(SKF+1)_^1_%EQU AUB(BS+1)_^1_%EQU UB(AUB+57)_^1_(EQU_!LN(UB+57),OR(LN+1),OC(OR+1)_^1_(EQU_!AS(OC+1),SC(AS+1),SS(SC+1)_^1_(EQU_%WC(SS+1),RM(WC+1)_^1_(EQU_%YL(RM+1),SZ(YL+1)_^1_(EQU_%PER(SZ+1)_^1_(EQU_%VBT(PER+1),VMS(VB€€T+1),IFNAM(VMS+1)_^1_(EQU_%MPSW(IFNAM+1)_^1_(EQU_%VCT(MPSW+1),VWD(VCT+1)_^1_(EQU_%AX16(VWD+1)_^1_(EQU_%ETSAVE(AX16+1)_^1_(EQU_%DVFL(ETSAVE+1)_^1_(EQU_%PAGL(DVFL+1)_^1_(EQU_%SL(PAGL+1)_^1_(COM_%CONS(SL+1)_^1_(COM_%FST_^1_%COM L,P,X,C,MM,ILSCST,SRSCST,ILSCND_3MSOS4.1_^1_(COM_%ERC_^1_%COM LGSECT_^1_%COM SYRFTS(96)_"SECT.REF.TBL.SYMBOLS_0MSOS4.1_^1_%COM SYCADM_'ADDR.TO SECT.REF.TBL€€.SYMBOLS_(MSOS4.1_^1_%COM SYEXT_MMSOS4.1_^1_%COM SYINDM_LMSOS4.1_^1_%COM SYTRFM_'ENTRY ADDR.REF.TBL.SYMBOLS_*MSOS4.1_^1_%COM SYTRFD_'1ST ADDR.REF.TBL.SYMBOLS-DISK_'MSOS4.1_^1_%COM APASS1,APASS2,APASS3,ATBLST,AXREF,PAGE_,MSOS4.1_^1_%COM PS1W2,PS2W2,PS3W2,PS4W2,PS5W2_5MSOS4.1_^1_%EXT EJECT,DIN,CHPR,DOUT,MOVE_^1_(EXT_!CHPU,N3,REGP,MAPR,DISKR5,SKPROC,OFJ2_***MSOS 4.0_^1_(ENT_!ER€€,END,OE,LDCP,WDPK,PRNT,NEXT,RBPK,UNCP_^1_(ENT_!PUNC,SYCH,IGNORE,TBLIN,RESTBL,RECV,PJECT_^1_(EXT_"DISKW5_G**MSOS 4.0_^1_(ENT_!CARCON,WRIT,JJ5,CO,STATUS_5**MSOS 4.0_^1_%ENT CORD,COWR_^1LAA_$ADC_!CONS+LA,CONS+SY_^1SYCH_#ADC_!0_^1_(LDQ- SS,I_-SS=0, SYMBOL IN LABEL_^1_(SQN_!5_%SS NOT ZERO,SYMBOL IN SY_^1_(LDQ* LAA_^1_%STQ* S1A+1_^1_(INQ_!3_^1_%STQ* S3A+1_^1_(JMP* *+3_^1_(LDQ* LAA+1€€_^1_(JMP* SYCH+4_^1_(LDQ- I_^1_(STQ- RP,I_-SAVE I_^1_(INA_!-1_^1S4_%ENQ_!0_^1_(STA- I_%ADDRESS-1 OF TBL TO BE SEARCHED_^1_(STA+ CONS+HX_*SAVE ADDR OF 1ST WORD_^1S2_%LDA- 1,I_.PICK UP ENTRY_^1_(SAN_!5_^1_(ENQ -0_)END OF TABLE NOT FOUND_-**MSOS 4.0_^1SX_%LDA_!CONS+RP_^1_(STA- I_0RESTORE I_^1_(JMP* (SYCH)_^1_(SAM_!S3-*-1_^1_(SQP_!2_^1S1_%RAO- I_%SLEWING ENTRY-INCREMENT ADDRE€€SS_^1_(JMP* S2_^1_(LDA_!=N$7FF_+MASK_^1_(SQZ_!1_0PROCESSING 1ST WORD_^1_(SET_!A_^1_(AND- 1,I_^1S1A_"SUB+ 0,Q_*THIS LOC IS MODIFIED_^1_(SAZ_!1_0MATCH_^1_(INQ_!-4_$NO MATCH-SET Q NEG TO SLEW_^1_(INQ_!1_^1_(JMP* S1_/GO BACK FOR MORE_^1S3_%SQM_!S5-*-1_+WERE SLEWING_^1_(INQ_!-1_^1_(TCQ_!Q_%DOES ORDINAL IN SY+3 MATCH Q_^1S3A_"ADQ+ 0_,THIS LOC IS MODIFIED_^1_(SQN_!S5-*-1_+NO-ENTRY DID €€NOT MATCH_^1_(LDQ* (S2-1) CONS+HX ADDR-1 OF 1ST WD TO Q_^1_%RTJ SYTRSB_LMSOS4.1_^1_(JMP* SX_^1S5_%LDA- I_^1_(INA_!1_^1_(JMP* S4_^1TBLIN_"ADC_%0_^1_(LDA-_$CSYSCT,I_^1_%SUB+ ILSCND_^1_(LDQ-_$XSYSCT,I_^1_(SAN_%4_3TABLES ON MS_^1_(SQZ_%1_3NO TABLES ON MS_^1_(RTJ*_$RESTBL_.ALL TABLES SEARCHED_^1_(ENA_%-0_^1_(JMP*_$(TBLIN)_^1_(TRQ_%A_^1_(SUB-_$CSYSCT,I_^1_(SAN_%2_^1_(LDA-_$ET,I_0CUR€€RENT TABLE IN CORE_^1_(STA-_$ETSAVE,I_,WRITE IT OUT_^1_(LDA-_$CSYSCT,I_^1_(SUB-_$SCOUNT,I_^1_(STA-_$CSYSCT,I_^1_(LDA-_$WMS,I_^1TBDISK_!STA+_$DISKR5_^1_(LDA-_$ST,I_^1_(LDQ-_$CSYSCT,I_^1TBDIN_"RTJ+_$DIN_^1_(LDQ_%=XCONS_.GET NEW EXT ADDR_^1_(INQ_%-2_^1_(LDA-_$1,Q_^1_(SAZ_%2_^1_(INQ_%-1_^1_(JMP*_$*-3_^1_(INQ_%2_^1_(STQ-_$ET,I_^1_(ENA_%0_^1_(JMP*_$(TBLIN)_^1RESTBL_!ADC_%0_^1_(LDA-_$XSYS€€CT,I_^1_(SAZ_%2_3NO TABLES ON MS_^1_(SUB-_$CSYSCT,I_^1_(SAN_%1_^1_(JMP*_$(RESTBL)_,CURRENT TABLE IS IN CORE_^1_(LDA-_$ETSAVE,I_,RESTORE EXTERNAL ADDR_^1_(STA-_$ET,I_^1_(LDA-_$WMS,I_/READ CURRENT TABLE_^1_(STA*_$(TBDISK+1)_^1_(LDA-_$ST,I_^1_(LDQ-_$XSYSCT,I_,BACK IN_^1_(STQ-_$CSYSCT,I_,RESET CURRENT TABLE NO._^1_(RTJ*_$(TBDIN+1)_^1_(JMP*_$(RESTBL)_^1LBPK_#RTJ+_$CHPU_^1_(INA_!-$A_.IS €€IT AN ASTERISK_^1_(SAN_!1_0NO_^1_(JMP* LK_/YES_^1_(ENA_!-1_^1_(STA- CT,I_-SET CHAR CTR BACK_^1_(RAO- IS,I_-LEADING SIGN ILLEGAL_^1_(RTJ*_$(OPC2+3)_,GET LABEL_^1_(SAZ_!L3-*-1_+NO ERROR_^1L6_%ENQ_!2_^1_(RTJ+ ER_^1_(ENA_!0_^1_(STA- LA,I_^1_(JMP* L1_^1L3_%SQZ_!L4-*-1_+NUMERIC_^1_(RTJ_!MOVE_^1_(JMP* L5_^1L4_%LDA- SY+1,I_+IS IT NULL FIELD_^1_(SAZ_%3_^1L5_%LDA- CS,I_^1_(SAN_!1_^1€€L1_%JMP* OPCP_^1_(JMP* L6_^1IGNORE_!LDA-_$MPSW,I_^1_(EQU_%LK(IGNORE)_^1_(SAN_%2_3NO MACRO PRINT_^1_(JMP+_$NXTOUT_^1_(JMP*_$OPCNX_^1OPCP_#LDA-_$SKF,I_^1_(SAZ_%2_,-_^1_(JMP+_$SKPROC_^1_(LDQ-_$IL,I_^1_(SQM_%1_^1_(JMP*_$OPC2_0NOT A MACRO_^1_(QLS_%1_^1_(SQP_%OPC1-*-1_,MACRO_^1_(LDA-_$MD,I_0MACRO CONTINUATION_^1_(INA_%-2_^1_(SAP_%2_^1_(ENQ_%0_3NOT IN DEPTH_^1_(STQ-_$MPSW,I_.PRINT THIS €€CONTINUATION CARD_^1_(INA_%1_^1_(STA-_$MD,I_^1OPC1_#LDA-_$MPSW,I_^1_(SAN_%2_^1_(RTJ_%PRNT_0PRINT_^1_(RAO-_$MD,I_0BUMP MACRO DEPTH SWITCH_^1OPC1C_"LDA_%MM_^1_(SAN_%1_^1_(RAO-_$MPSW,I_.RESET NO PRINT SWITCH_^1OPCNX_"JMP_%NEXT_^1OPC2_#RAO-_$IG,I_^1_(RAO- IS,I_-LEADING SIGN ILLEGAL_^1_(RTJ+ CHPR_-GET OPCODE_^1_(SAN_%OE_^1OPC21_"SQZ_%1_^1_(JMP*_$OF_^1_(LDA- NU,I_"NUMERIC OPCODE-MUST €€BE ZERO_^1_(SAZ_!O2-*-1_^1OE_%ENQ_!4_^1_(RTJ* (L6+2) ER_^1_(LDA- CS,I_-PICK UP TERMINATOR_^1_(SAZ_%3_--_^1_(RTJ+_$CHPU_*-_^1_(JMP*_$*-4_+-_^1_(STA- AM,I_^1O2_%ENA_%-1_^1_(STA- CL,I_"SET CLASS CODE FOR ADC_^1_(ENQ_!0_^1_(JMP* O7-3_^1OF_%ENQ_%43_^1_(LDA_!(IM),Q_H**MSOS 4.0_^1_(SAN_%1_^1_(JMP*_$OE_^1O6_%STA-_$CL,I_^1_(SAM_%1_^1_(JMP* O7_/MACHINE OPCODE_^1_(ENQ_%45_^1_(LDQ_!(IM),€€Q_H**MSOS 4.0_^1_(RAO- IS,I_^1_(JMP_!N3_^1O7_%ENQ_%44_^1_(LDQ_!(IM),Q_H**MSOS 4.0_^1_(STQ-_$W1,I_0BINARY OP CODE_^1_(INA_%-6_^1_(SAZ_!1_^1_(JMP* O8_^1_(LDA- CS,I_^1_(SAZ_!1_^1_(JMP* OE_/ERROR-ILL TERM_^1_(JMP_!REGP_"EXIT TO REGISTER PROCESSOR_^1O8_%LDQ-_$CL,I_^1_(INQ_!-3_^1_(LDA- CS,I_-EXAMINE TERMINATOR_^1_(STA- AM,I_^1_%SAZ O8B-1_^1_%SQP O8A_^1_(INA_%-1_^1_%SAZ_"O8A_^1_(I€€NA_%-4_^1_(SAP_%2_^1_(RTJ+_$CHPU_^1_(SAZ_!1_^1O8A_"JMP* OE_^1_(RAO- IG,I_^1O8B_"JMP MAPR_^1SAVEI BSS SAVEI(1)_JMSOS4.1_^1SAVEA BSS SAVEA(1)_JMSOS4.1_^1SAVEQ BSS SAVEQ(1)_JMSOS4.1_^1SYTRSB NUM 0_QMSOS4.1_^1_%STA* SAVEA_MMSOS4.1_^1_%STQ* SAVEQ_MMSOS4.1_^1_%LDA- I_QMSOS4.1_^1_%STA* SAVEI_MMSOS4.1_^1_%LDA =XCONS_LMSOS4.1_^1_%STA- I_QMSOS4.1_^1_%LDA SYINDM_LMSOS4.1_^1_%SUB =€€N96_NMSOS4.1_^1_%SAM 1_QMSOS4.1_^1_%RTJ* SYTOUT_LMSOS4.1_^1_%LDA- LN,I_NMSOS4.1_^1_%TCA A_QMSOS4.1_^1_%LDQ SYINDM_LMSOS4.1_^1_%STA SYRFTS,Q_JMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%STQ SYINDM_LMSOS4.1_^1_%LDA SYINDM_LMSOS4.1_^1_%SUB =N96_NMSOS4.1_^1_%SAM 1_QMSOS4.1_^1_%RTJ* SYTOUT_LMSOS4.1_^1_%LDA* SAVEQ_MMSOS4.1_^1_%LDQ SYINDM_LMSOS4.1_^1_%STA SYRFTS,Q_JMSOS4.1_^1_%INQ 1_QMSOS4€€.1_^1_%STQ SYINDM_LMSOS4.1_^1_%LDA* SAVEI_MMSOS4.1_^1_%STA- I_QMSOS4.1_^1_%LDQ* SAVEQ_MMSOS4.1_^1_%LDA* SAVEA_MMSOS4.1_^1_%JMP* (SYTRSB)_JMSOS4.1_^1SYTOUT NUM 0_QMSOS4.1_^1_%ENA 96_PMSOS4.1_^1_%STA DISKW5_LMSOS4.1_^1SYDTOK LDA- DSW,I_MMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* SYDTOK_LMSOS4.1_^1_%LDA =XSYRFTS_JMSOS4.1_^1_%LDQ SYCADM_LMSOS4.1_^1_%RTJ+ DOUT_NMSOS4.1_^1_%LDA- DSW,I_MM€ÒSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* *-2_OMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA SYINDM_LMSOS4.1_^1_%LDA SYCADM_LMSOS4.1_^1_%INA 1_QMSOS4.1_^1_%STA SYCADM_LMSOS4.1_^1_%JMP* (SYTOUT)_JMSOS4.1_^1_(END_%PASS3_^__ ÒPPA3PR2 CSY/ A07 P€1_%NAM PA3PR2_'DECK-ID A07 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1*_'PROGRAM BASE-MACRO ASSEMBLER 2.0_4**MSOS 4.0_^1*_1ST MUST BE FIRST_^1REQPRO EQU REQPRO($F4)_GMSOS4.1_^1_(EQU_%ST(1),ET(ST+1),PSW(ET+1),PB(PSW+1)_^1_%EQU DSW(PB+49),DSWW(DSW+1)_^€€1_%EQU TSW(DSWW+1),CSW(TSW+1),SECTNO(CSW+1)_^1_%EQU_#PNAM(SECTNO+1)_^1_%EQU_#WMS(PNAM+3),CSYSCT(WMS+1)_^1_(EQU_%SCOUNT(CSYSCT+1),XSYSCT(SCOUNT+1)_^1_(EQU_%CC(XSYSCT+1),DC(CC+1)_^1_(EQU_%PC(DC+1),DX(PC+1),LA(DX+2),W1(LA+4),W2(W1+1)_^1_(EQU_%AD(W2+1),AF(AD+1),AM(AF+1),CL(AM+1),EX(CL+1)_^1_(EQU_%RC(EX+1),AX(RC+1),LC(AX+1),AU(LC+1),AR(AU+1)_^1_(EQU_%TR(AR+1),SY(TR+7),NU(SY+4),SG(NU+1)€€,RP(SG+1)_^1_(EQU_%HX(RP+1),XMOD(HX+1),LT(XMOD+1),ES(LT+1),LP(ES+1)_^1_(EQU_%IG(LP+1),NS(IG+1),IS(NS+1),CT(IS+1),CS(CT+1)_^1_(EQU_%IL(CS+1),MD(IL+1),ID(MD+1),SKF(ID+1)_^1_(EQU_%BS(SKF+1)_^1_%EQU AUB(BS+1)_^1_%EQU UB(AUB+57)_^1_(EQU_!LN(UB+57),OR(LN+1),OC(OR+1)_^1_(EQU_!AS(OC+1),SC(AS+1),SS(SC+1)_^1_(EQU_%WC(SS+1),RM(WC+1)_^1_(EQU_%YL(RM+1),SZ(YL+1)_^1_(EQU_%PER(SZ+1)_^1_(EQU_%VBT€€(PER+1),VMS(VBT+1),IFNAM(VMS+1)_^1_(EQU_%MPSW(IFNAM+1)_^1_(EQU_%VCT(MPSW+1),VWD(VCT+1)_^1_(EQU_%AX16(VWD+1)_^1_(EQU_%ETSAVE(AX16+1)_^1_(EQU_%DVFL(ETSAVE+1)_^1_(EQU_%PAGL(DVFL+1)_^1_(EQU_%SL(PAGL+1)_^1_(COM_%CONS(SL+1)_^1_(COM_%FST_^1_%COM L,P,X,C,MM,ILSCST,SRSCST,ILSCND_3MSOS4.1_^1_(COM_%ERC_^1_%COM LGSECT_^1_%COM SYRFTS(96)_"SECT.REF.TBL.SYMBOLS_0MSOS4.1_^1_%COM SYCADM_'ADDR.T€€O SECT.REF.TBL.SYMBOLS_(MSOS4.1_^1_%COM SYEXT_MMSOS4.1_^1_%COM SYINDM_LMSOS4.1_^1_%COM SYTRFM_'ENTRY ADDR.REF.TBL.SYMBOLS_*MSOS4.1_^1_%COM SYTRFD_'1ST ADDR.REF.TBL.SYMBOLS-DISK_'MSOS4.1_^1_%COM APASS1,APASS2,APASS3,ATBLST,AXREF,PAGE_,MSOS4.1_^1_%COM PS1W2,PS2W2,PS3W2,PS4W2,PS5W2_5MSOS4.1_^1_(EXT_!ER,END,DEC,VFD,LST,NLS,SPC,EJT,OE,LDCP,WDPK_^1_(EXT_!PRNT,NEXT,RBPK,UNCP,PUNC,UP€€1,UP2,MOVE,SYCH_^1_(EXT_!IGNORE,TBLIN,RESTBL,RECV,M1,M2J5_.**MSOS 4.0_^1_(ENT_!EMC1,CHPR,DA1,DA3,DA4,CHPU,ALFSB2,SKPROC,N3_"**MSOS 4.0_^1_(ENT_!OFJ2_J**MSOS 4.0_^1OFJ2_#ADC_!0_M**MSOS 4.0_^1_%EXT_!PCO_^1_(EXT_%AXPR_^1SKPROC_!LDA-_$IL,I_^1_%SAP SKPR1+2_^1_(ALS_%1_3MACRO_^1_(SAM_%1_3CONTINUATION_^1_(RAO-_$ID,I_0MACRO CALL_^1SKPR1_"JMP+_$IGNORE_^1_(ENQ_%43_^1_(LDQ* (OFJ2),Q_F**MSOS €€4.0_^1_(SQM_%1_^1_(JMP*_$SKPR1_^1_(ENQ_%45_^1_(LDA* (OFJ2),Q_F**MSOS 4.0_^1_(INA_%-7_I59*1187_^1_(SAN_%NOEND_F59*1187_^1_(STA-_$SKF,I_F59*1187_^1_(ENQ_%8_J59*1187_^1_(RTJ_%ER_I59*1187_^1_(JMP_%END_H59*1187_^1NOEND_"LDQ-_$ID,I_G59*1187_^1_(INA_%-10_H59*1187_^1_(SAZ_%6_J59*1187_^1_(INA_%1_^1_%SAN CHPU-1_^1_%SQN CHPU-1_'EIF_^1_(RAO-_$IG,I_0IF DEPTH SWITCH NOT SET_^1_(JMP_%EIF_^1_(S€€QN_%5_J59*1187_^1_(STQ-_$SKF,I_F59*1187_^1_(ENQ_%8_J59*1187_^1_(RTJ_%ER_I59*1187_^1_(JMP*_$(*-6)_F59*1187_^1_(INQ_%-1_^1_(STQ-_$ID,I_0DECREMENT IF DEPTH SWITCH_^1_(JMP*_$SKPR1_^1CHPU_#ADC_!0_^1_(RAO- CT,I_-INCREMENT CHAR CTR_^1_(ENA_!0_^1_(LDQ- CT,I_^1_(INQ_!-72_^1_(SQM_!1_^1_(JMP* C1+1_-TOO MANY CHARS_^1_(INQ_!72_^1_(LRS_!1_^1_(LDQ* (OFJ2),Q_F**MSOS 4.0_^1_(SAZ_!1_^1_(QLS_!8_^€€1_(QRS_!8_0Q CONTAINS 7 BIT CHAR_^1_(SQZ_%CHP1-*-1_,ZERO(NULL PARAM IN MAC SKELETON)_^1_(SQM_%CHP1-*-1_,NULL_^1_(LDA- AF,I_^1_(SAZ_%1_^1_(JMP* (CHPU)_^1_(INQ_!-$9_.TAB-IS END OF FIELD_^1_(SQZ_!C3-*-1 YES-A IS ZERO SO WILL EXIT_^1_(LDA- IG,I_^1_(INQ_!-$4_.CARRIAGE RETURN_^1_(SQN_!3_0NO_^1_(ENA_!71_$SET CHAR CTR TO 71 FOR END OF_^1_(STA- CT,I_-IMAGE_^1CHP1_#JMP*_$CHPU+1_^1_(INQ_€€!-$13_-BLANK_^1_(SQM_!C1-*-1_+CHAR ILLEGAL_^1_(SQN_!2_^1C3_%SAZ_!C1+1-*-1_)CHAR BLANK-IG NOT SET_^1_(JMP* CHPU+1_+GO BACK FOR NEXT CHAR_^1_(INQ_!-$40_-UPPER BOUND FOR LEGAL_^1_(SQM_!C2-*-1_+IS LEGAL_^1C1_%ENA_!$3C_^1_(STA- CS,I_^1_(ENQ_!0_^1_(STQ- IG,I_^1_(JMP* (CHPU)_+EXIT_^1C2_%INQ_!$40_.6 BIT CHAR FOR OUTPUT_^1_(TRQ_!A_^1_(JMP* C1+1_^1XC_%NUM_!0,$C,$B CHAR TBL-BLANK,COMMA,P€€LUS_^1_(NUM_!$D,$A,$F,8 MINUS,ASTER,SLASH,LFT PAREN_^1_(NUM_!9,4_.RT PAREN,DOLLAR SIGN_^1_(NUM_%$1D,$3B_^1XI_%ADC_!XB_/BLANK,COMMA_^1_(ADC_!XP_/PLUS_^1_(ADC_!XM_/MINUS_^1_(ADC_!XK_/ASTERISK_^1_(ADC_!XH_/SLASH_^1_(ADC_!XL_/LEFT PAREN_^1_(ADC_!XRP_.RIGHT PAREN_^1_(ADC_!XD_/DOLLAR SIGN_^1_(ADC_!XT_/EQUAL SIGN_^1_(ADC_%XLB_1EQUAL SIGN,LEFT BRACKET_^1CHPR_#ADC_!0_0ENTRY_^1_(ENA_!0_^1_(E€€NQ_%10_2LEFT BRACKET_^1_(STA-_$SY,B_;HX,XMOD,LT,ES_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1XLOP_#RTJ* (XR+1) CHPU_^1_(ENQ_%10_2ZERO INTO SY,NU,SG,RP,_^1X1_%LDA- CS,I_"SEARCH SPECIAL CHARACTERS_^1_(SUB* XC,Q_^1_(SAZ_!XLO1-*-1_)FOUND_^1_(INQ_!-1_^1_(SQM_!X5-*-1_+NOT FOUND_^1_(JMP* X1_^1XLO1_#STQ- CS,I_-SET CS INDICATOR_^1_(SQZ_!1_0BLANK_^1_(INQ_!-1_^1_(LDA* XI,Q_^1_(LDQ- XMOD,I€€_^1_(STA* *+2_^1_(JMP+ 0_0GO TO ROUTINE_^1X5_%LDQ- EX,I_-TERMINATOR NEEDED_^1_%SQZ X5A-*-1_K44*656_^1_%SQM X5A-*-2_K45*656_^1_%ENA_#-1_+DECREMENT ES BECAUSE_^1_%STA-_"ES,I_)ERROR IS ALREADY PRINTED_^1_%JMP*_"XR_^1X5A_"LDQ- XMOD,I_L44*656_^1_(INA_!-$10_^1_(SAM_!XA1_+ERROR, BELOW LOWER BOUND_^1_(INA_!-$A_^1_(SAP_!1_0NOT NUMERIC_^1_(JMP* XN_/Q CONTAINS MODE_^1_(INA_!-7_^1_%SAM €€XA1_*NOT ALPHA-ERROR_^1_(INA_!-$1A_^1_(SAP_$XA1_(ERROR, NOT ALPHA_^1XA_%SQN_!XALF-*-1_)NOT INITIAL MODE-ALPHA_^1_(ENQ_!1_0SET ALPHA MODE_^1_(STQ- XMOD,I_^1_%LDQ+ RP2_^1_(ADQ- SY+2,I_^1_(SQZ_!1_^1XA1_"JMP* XR_+YES-IS ERROR_^1_(INA_!$1B_.CONVERT TO 5 BIT VALUE_^1_(ALS_!6_0XA+6 **_^1_(JMP* XALN-3_^1XALF_#INQ_!-1_^1_(SQZ_!1_^1_(JMP* XALN_-NUMERIC MODE_^1_(LDQ- SY+3,I_+XALF+3 **_^€€1_(INQ_!-6_^1_(SQZ_!XALN-1-*-1_'6 CHARS-EXIT_^1_(INQ_!6_^1_(LRS_!1_^1_(SAM_%3_^1_(LDA- CS,I_^1_(ALS_!8_^1_(JMP* *+2_^1_(LDA- CS,I_^1_(ADD- SY,B_-PUT CHAR IN SY_^1_(STA- SY,B_^1_(RAO- SY+3,I_+INCREMENT CHAR COUNT_^1_(JMP* XLOP_-XALN-1 **_^1XALN_#LDQ- HX,I_^1_(SQZ_!2_0HEX SWITCH NOT SET ERROR_^1_(INA_!$14_^1_(SAM_!1_^1_(JMP* XR_^1_(INA_!$10_.CHANGE TO NUMBER_^1_(JMP* XNUM_^€€1XN_%INA_!$A_/CONVERT TO NUMBER_^1_(SQN_!4_^1_(STA- NU,I_-INITIAL MODE_^1_(ENA_!2_0**_^1_(STA- XMOD,I_+SET NUMERIC MODE_^1_(JMP* XLOP_-XNUM-4 **_^1_(INQ_!-1_^1_(SQN_!1_^1_(JMP* XALF+3_+ALPHA MODE_^1XNUM_#STA- CS,I_^1_(LDA- HX,I_^1_(LDQ- NU,I_^1_(SAZ_!XN1-*-1_*DECIMAL NUMBER_^1_(LDA- CS,I_-HEX NUMBER_^1_(ALS_!12_^1_(LLS_!4_0MULTIPLY BY 16_^1_%SAN_#XN1X+1_'OVERFLOW_^1_(LDA- €€NS,I_-16 BITS LEGAL_^1_(SAN_!1_0YES_^1_%SQM_#XN1X_)NO-OVERFLOW_^1_(STQ- NU,I_^1_(JMP* XLOP_^1XN1_$LDA-_$AX16,I_^1_(QLS_%1_^1_(SAN_%1_^1_(SQM_%XN2-*-1_^1_(ENA_%0_^1_(STQ- NU,I_^1XN1X_!LLS_#2_^1_(SAN_!XO-*-1_^1_(LDA-_$AX16,I_^1_(SAN_%1_^1XN2_$SQM_%XO-*-1_^1_(ADQ- NU,I_^1_(SAN_%1_^1_(SQM_!XO-*-1_^1_(ADQ- CS,I_^1_(SAN_%1_^1_(SQM_!XO-*-1_^1_(SQP_%2_^1_(STQ-_$AX16,I_.NUMBER HAS GONE€€ NEGATIVE_^1_(JMP*_$XN1-2_^1_(SAM_%XO-*-1_.OVERFLOW_^1_(JMP* XN1-2_^1XO_%ENQ_!7_^1_(RTJ_!ER_^1_(ENA_%-1_^1_(STA-_$ES,I_^1XR_%RTJ+ CHPU_^1_(SAZ_!XR1-*-1_*BLANK_^1_(ENQ_!1_^1_(STQ- CS,I_-SET CS FOR COMMA_^1_(INA_!-$C_.CHAR COMMA_^1_(SAZ_!XR1-*-1_*YES_^1_(JMP* XR_^1XR1_$ENA_!0_^1_(STA-_$LP,I_^1_#STA+_!RP2_!RESET RT PAREN COUNTER_^1_(ENQ_%9_^1XR2_%STA-_!SY,B_^1_(INQ_!-1_^1_(SQM_!1_€€^1_)JMP*_!XR2_^1_(RAO- ES,I_^1XX_%ENA_!0_^1_(STA- IS,I_^1_(STA- EX,I_^1_(LDA- ES,I_^1_(LDQ- SY,I_^1_(JMP_!(CHPR)_+EXIT FROM ROUTINE_^1XB_%SQN_!1_^1_(RAO- SY+1,I INIT MODE-NULL FIELD INDICATOR_^1_(LDA- LP,I_^1_%SUB+_!RP2_%COMPARE LEFT AND RT PAREN COUNTERS_^1_!ENQ_!0_]_^1_!STQ+_!RP2_#RESET RT PAREN COUNTER_^1_(SAZ_!1_^1_(JMP* XR1_.NON PAREN MATCH_^1XB2_$LDQ- SY+3,I_^1_(SQZ€€_!3_^1_(INQ_!-1_^1_(QRS_!1_^1_(STQ- SY+3,I_+SET CHAR COUNT FOR SY_^1_(JMP* XX_^1XP_%SQN_!XM-*-1_+PLUS SIGN_^1_(LDA- SG,I_-INITIAL MODE_^1_(SAN_!XM+4-*-1 ERR-CONCATENATED OPERATORS_^1_(RAO- SG,I_-SET SIGN POSITIVE_^1_(LDA- IS,I_-XP+4 **_^1_(SAN_!XM+4-*-1 ERR-LEADING SIGN ILLEGAL_^1_(JMP* XNUM-4 XLOP_%XM-1 **_^1XM_%SQZ_!1_^1_(JMP* XB2_.ALPHA OR NUMERIC MODE_^1_(LDA- SG,I_^1_(€€SAZ_!1_^1_(JMP* XR_$ERR-CONCATENATED OPERATORS_^1_(INA_!-1_^1_(STA- SG,I_"SET SIGN SWITCH FOR MINUS_^1_(JMP* XP+4_^1XK_%SQN_!XH-*-1_+ASTERISK_^1_%LDA- NS,I_^1_%SAZ XK1_^1_%LDA- AX16,I_'O.K. IF VFD WITH X16 FIELD_^1_%SAN XK1_*SKIP IF VFD, OTHERWISE AN ERROR_^1_%JMP* XR_^1XK1_"RAO- SY+2,I_'SET ASTERISK INDICATOR_^1_%ENA -1_P44*656_^1_%STA- EX,I_N44*656_^1_(JMP* XN+3_-SET NUMER€€IC MODE_^1XH_%SQZ_!1_0SLASH_^1_(JMP* XM_^1_(LDA- SG,I_^1_(SAN_!XL+5-*-1 ERR-CONCATENATED OPERATORS_^1_(RAO- SY+1,I_+SET NULL FIELD_^1_(JMP* XX_^1XL_#LDA- LP,I_N45*735_^1_%SAN XL1-*-1_K44*735_^1_%RAO- LP,I_,COUNT LEFT PAREN_144*735_^1_(LDA- CL,I_^1_(SQZ_!3_^1_(INQ_!-1_^1_(SQZ_%XL1A_^1_(JMP* XR_/XL+6 **_^1_(SAZ_!XL1-*-1 ERR-PROCESSING LABEL OR OP_^1_(SAM_!XL1+1-*-1_(PSEUDO OPC€€ODE_^1_(INA_!-3_/MACHINE OPCODE_^1_(SAM_!XL1+3-*-1 XLOP_^1XL1_$JMP* XR_^1_(INA_!1_0PSEUDO OPCODE_^1_(SAN_!1_^1_(JMP* XM-1 XLOP_(CLASS 1 PSEUDO_^1_(INA_!1_^1_(SAN_%XL3_%NOT PSEUDO CLASS2_^1_(JMP* XL-2_^1XL1A_#JMP*_$XL2_^1XL3_$LDA+_$IFRFLG_^1_(SAZ_%XD0_^1_(JMP*_$XM-1_$S_#XLOP_^1XL2_$INA_!2_0MUST BE CLASS 2 PSEUDO_^1_%SAN XD0-*-1_K46*802_^1_(JMP* XB2_^1XRP_"RAO+_!RP2_%BUMP THE RT€€ PAREN COUNTER_^1_%EXT_!RP2_^1_%ENA -1_+SET TERMINATOR NEEDED SWITCH_^1_%STA- EX,I_^1_(JMP* XL1+3 XLOP_^1XD_#SQZ 1_,PROCESS DOLLAR SIGN - SKIP IF INITIAL MODE_^1XD0_$JMP*_$XR_^1_%RAO- HX,I_)SET HEX INDICATOR_^1_%RTJ CHPU_$GET NEXT CHAR_;46*802_^1_%INA -$10_N46*802_^1_%SAM_!XD1-*-1_J46*802_^1_%INA -$A_O64*802_^1_%SAM_!XD1-*_L46*802_^1_%INA -7_P46*802_^1_%SAM_!XD1-*-1_J46*802_€€^1_%INA -6_P46*802_^1_%SAM_!1_P46*802_^1XD1_"JMP* XR_"NOT A-F_D46*802_^1_%ENA 2_Q46*802_^1_%STA- XMOD,I_)SET NUMERIC MODE_146*802_^1_%JMP_!XLOP+1_K46*802_^1XT_#SQN_!XT1-*-1_(ERROR IF NOT INITIAL MODE_^1_(LDA- CL,I_^1_(INA_!-1_^1_%SAZ_!XT1+2-*-1_%OK IF CLASS 1_^1_%INA_!2_^1_%SAN_!XT1-*-1_^1_(LDA-_$MD,I_$MUST BE IN MACRO_^1_(SAN_%2_(OTHERWISE AN ERROR_^1XT1_"JMP_!XR_-ERR, NOT CL€€ASS 1 OR CLASS-1 (PSEUDO)_^1_%RTJ CHPU_)GET CHAR FOLLOWING EQUAL_^1_(RAO- LT,I_-SET LITERAL SWITCH_^1_(JMP* XX_^1XLB_"SQN XLBA_)LEFT BRACKET NOT INITIAL MODE_^1_(LDA-_$MD,I_^1_%SAZ XLBA_^1_(ENA_%0_^1_(JMP_%XA_^1XLBA_$JMP*_!XT1_^1OP4_$ADC_%ADC,VFD,ORG,EQU,COM,DAT,BSS,BZS_^1_(ADC_%END,ENT,EXT,ALF,NUM,DEC,IFA_^1_%ADC_#IFC,EIF,EMC,LST,PCO,IFR_^1_%ADC_"NLS,SPC,EJT_^1N3_%LDA* OP4,Q€€_,PICK UP TRANSFER VECTOR_^1_(STA* DAT-1_^1_(LDA- CS,I_^1_(STA- AM,I_^1_%SAZ N3A+2_(TERMINATOR BLANK_^1_%INQ -8_+IS IT AN END CARD_^1_%SQZ N3A1_)YES_^1_(INA_!-4_/TERMINATOR ASTERISK_^1_%SAN N3A_*NO-ERROR_^1_%INQ 8_,ASTERISK O.K. IF ADC, ORG, OR EXT_^1_%SQZ 4_^1_%INQ -2_+ORG_^1_%SQZ 2_^1_%INQ -8_+EXT_^1_%SQN N3A_*NO-ERROR_^1_(RTJ_!CHPU_^1_(SAZ_!2_0BLANK_^1N3A_"JMP OE_^€€1N3A1_!RAO- IG,I_^1_(JMP+ 0_0GO TO PSEUDO ROUTINE_^1*_5PSEUDO OP CHECKOUT_^1DAT_$RAO-_$DX+1,I_.SET DATA FLAG_^1COM_$RAO- DX,I_"SUPPRESS LOC PRINT_^1_(RTJ*_$D4_^1_(JMP* EQU+2 D1A_^1_(JMP* D4C_#NO LEFT PAREN PRES_^1_(JMP* D4D_#NON ZERO RELOCATION_^1_(LDQ-_$DX+1,I_.NORMAL RETURN_^1_(LDA-_$CC,B_0COMMON OR DATA CTR_^1_(STA- W1,I_"INTO COMMAND WORD_^1_(ADD-_$AX,I_0ADD ADDRESS_^1_(S€€AP_!2_^1_(SUB* D7+7_-SUBTRACT $8000_^1_(INA_!1_0WRAP AROUND_^1_(STA-_$CC,B_0ADJUST CTR_^1_(LDA- W1,I_"SET A FOR SYMBOL TBL PUT_^1_(INQ_!2_%COMMON OR DATA RELOC_^1_(STQ- RC,I_-FOR LISTING_^1_(JMP*_$EQU+7_/TO SYM TABLE_^1EQU_$RAO- DX,I_"INHIBIT LOCATION PRINT_^1_(RTJ*_$D4_^1_(JMP* DF_/NO SYMBOL PRESENT_^1_(JMP*_$DF+2_^1_(JMP*_$*+1_1NON ZERO RELOCATION_^1_(LDQ-_$RC,I_0RELOCATION €€CODE_^1_(STA-_$W1,I_^1_(JMP*_$D1B_^1D4_%SLS_^1_(RTJ*_$D1_^1_(SQN_%2_^1_(STQ-_$LA,I_^1_(JMP*_$(D4)_0NO SYMBOL PRESENT_^1_(RTJ*_$(D+13)_.MOVE SYM TO LA_^1_(LDA-_$LP,I_^1_%SAN D4B_^1_(ENA_%1_^1_(STA-_$AX,I_^1_(ENQ_%1_^1_(JMP*_$(D4),Q_^1D4B_$RTJ*_$(D+4)_/CALL AXPR_^1_(SQZ_%2_^1_(ENQ_!2_%NON-ZERO RELOCATION_^1_(JMP*_$(D4),Q_^1D4C_$LDQ-_$CS,I_^1_(INQ_%-2_^1_(SQM_%1_^1_(JMP* D1A_#NO BLA€€NK OR COMMA NEXT_^1_(ENQ_%3_^1_(JMP*_$(D4),Q_.NORMAL RETURN_^1D4D_$ENQ_%6_^1_(JMP*_$D1A+1_/RELOCATION ERROR_^1BZS_$RAO-_$DX+1,I_.SET BZS FLAG_^1BSS_$RTJ*_$D4_^1_(JMP*_$BSZ1_0NO SYMBOL PRESENT_^1_(JMP*_$D4C_1NO LEFT PAREN_^1_(JMP* D4D_#NON-ZERO RELOCATION_^1*_1NORMAL RETURN ADDRESS TO COMD WORD_^1_(STA-_$W1,I_^1_(SAN_%1_^1_(JMP*_$D1B_^1_(RTJ*_$(D+2)_/PRINT_^1_(LDA-_$DX+1,I_^1_(SAN€€_%4_3BZS_^1_(RTJ* (D+9)_!EMPTY PUNCH BUFFER_^1D6_%LDQ-_$AX,I_^1_(RTJ* (D+12) BUMP COUNTER BY ADDRESS_^1_(JMP*_$D1D_^1_(ENA_%0_^1_(STA-_$W1,I_0ZERO COMD WORD_^1D6A_"LDA- WC,I_^1_%SAZ D6B_^1_(RTJ*_$(D+8)_/PACK AND PUNCH WHEN BUFFER FULL_^1_(RTJ* (D+11) BUMP COUNTER BY ONE_^1_(LDA-_$AX,I_^1_(INA_%-1_^1_(STA-_$AX,I_^1_%SAZ D7-2_^1_%JMP* D6A_^1D6B_"LDA- PC,I_^1_(LDQ-_$SZ,I_^1_(SQ€€N_%1_^1_(STA- PER,I_,SAVE BLOCK START_^1_(LDA-_$AX,I_^1_(AAQ_%A_3INCREASE BLOCK_^1_(STA-_$SZ,I_0SIZE BY AX_^1_(JMP*_$D6_^1D7_%STA- UB+3,I BLOCK SIZE INTO BUFF_^1_(LDA_%=N$6050_^1_(STA- UB,I_"CARD TYPE INTO BUFF_^1_(LDA-_$RM,I_^1_(ALS_%12_^1_(EOR_%=N$8000_^1_(STA- UB+1,I RELOC BYTE INTO BUFF_^1_(LDA- PER,I_^1_(STA- UB+2,I START ADDR INTO BUFF_^1_(ENQ_!4_^1_(STQ- PER,I_^1_(€€RTJ*_$(D+10)_.PUNCH BZS CARD_^1_(ENA_%0_^1_(STA-_$SZ,I_0ZERO BLOCK SUM_^1_(JMP*_$(D+7)_/EXIT TO NEXT_^1BSZ1_#LDA-_$SY+1,I_^1_(SAN_%1_3NULL FIELD_^1_(JMP*_$D1A_^1_(LDA-_$LP,I_^1_(SAZ_%1_^1_(JMP*_$D4B_1LEFT PAREN PRESENT_^1_(ENA_%0_^1_(JMP*_$D4C_^1DF_%LDA- SY+1,I_^1_(SAZ_%3_^1_(LDA-_$CS,I_^1_(INA_%-2_^1_(SAM_%1_^1_(JMP* D1A_.ERROR NOT NULL_^1_(ENA_!0_^1_(STA- AX,I_^1_(STA- RC,I_^€€1_(JMP* EQU+5_^1D_'ADC_!CHPR,ER,LDCP,WDPK,AXPR,CHPU,PRNT,NEXT_^1_(ADC_%RBPK,UNCP,PUNC_^1_(ADC_%UP1,UP2,MOVE,SYCH_^1D1_%SLS_^1_(RAO-_$IS,I_0LEAD SGN ILLEGAL_^1_(RTJ* (D)_#TO CHARACTER PROCESSOR_^1_(SAN_!1_%ERROR FOUND BY CHPR_^1_(JMP* (D1)_"NO ERROR - RETURN_^1D1A_$ENQ_%1_^1_(ENA_%0_^1_(STA-_$AX,I_0ZERO ADDRESS_^1_(STA-_$RC,I_0AND RELOCATION_^1_(RTJ*_$(D+1)_/TO ERROR PROCESSOR_^1€€D1B_$LDA-_$DX,I_^1_(SAN_%2_^1_(RTJ* (D+2)_!PRINT LOCATION,BINARY_^1_(JMP* *+2_#AND CARD IMAGE (IF PRESENT)_^1_(RTJ*_$(D+3)_/PRINT BINARY AND CARD IMAGE_^1D1D_$LDA-_$CS,I_0IS THE NEXT_^1_(INA_!-1_$CHARACTER A COMMA_^1_(SAN_%1_3NO_^1_(JMP*_$D1+1_0YES_^1_(LDA-_$SZ,I_^1_(SAZ_%1_^1_(JMP* D7_$GO OUTPUT BZS CARD_^1D1C_$JMP*_$(D+7)_^1EXT_$JMP_%IGNORE_^1ENT_$RTJ*_$(D)_1TO CHPR_^1_(SAN_%E€€NT2C-1_-ERR FROM CHPR_^1_(SQN_%ENT1C-2_^1_(LDA-_$SY+1,I_.NO SYMBOL PRESENT_^1_(SAZ_%1_3ERROR_^1_(JMP*_$ENT4C_/OK, NULL FIELD_^1_(ENQ_%1_3ERR, NO SYMBOL PRESENT_^1ENT2C_"RTJ*_$(D+1)_^1_(JMP*_$ENT4C_^1_(RTJ*_$(D+13)_.MOVE SYM TO LA_^1_(LDA- ST,I_"SYMBOL TABLE ADDR_^1ENT1C_"RTJ*_$(D+14)_^1_(INQ 0_^1_(SQN 1_*IF Q = ZERO SYMBOL NOT FOUND_'**MSOS 4.0_^1_(JMP*_$DH_^1_(LDA-_$1,Q_^1_(ARS€€_%12_^1_(INA_%-2_^1_(SAM_%5_^1_(ENQ_%8_3UNDEFINED ENTRY POINT_^1_(INA_%-2_^1_(SAZ_%1_^1_(ENQ_%6_3RELOCATION ERROR_^1_(JMP*_$ENT2C_^1_(JMP*_$ENT4C_^1DH_%RTJ_%TBLIN_^1_(SAM_%1_^1_(JMP*_$ENT1C-1_^1ENT4C_"RTJ+_$RESTBL_.RESTORE SYMBOL TABLE_^1_(LDA-_$CS,I_^1_(SAZ_%ENT4_0BLANK HERE_^1_(INA_%-1_^1_(SAN_%1_3NO COMMA NEXT_^1_(JMP*_$ENT_1COMMA HERE, CHECK NEXT FIELD_^1_(ENQ_%1_3ILLEGAL TERMI€€NATOR_^1_(RTJ*_$(D+1)_^1ENT4_#JMP*_$EXT_1EXIT TO IGNORE_^1ORG_$RAO- DX,I_"SUPPRESS LOC PRINT_^1_(LDA- AM,I_^1_(SAZ_%ORG1-*-1_^1_(ENQ_%0_^1_(LDA-_$OC,I_^1_(SAN_%1_^1ORG2_#JMP*_$EXT_1EXIT TO IGNORE_^1_(INA_%0_^1_(STA- W1,I_"CTR INTO CMD WD_^1_(STA-_$PC,I_0RESTORE COUNTER_^1_(LDA-_$OR,I_0RESTORE RELOCATION_^1_(STA-_$RM,I_^1_(STA- RC,I_^1_(STQ-_$OR,I_0ZERO INTO SAVE_^1_(STQ-_$OC,I_€€0STORAGES_^1_(JMP*_$DG-3_^1ORG1_#STA-_$IS,I_^1_(RTJ*_$(DD+10)_-TO AXPR_^1_(INQ_%-2_^1_(SQZ_!2_%ERROR COMMON RELOC_^1_(INQ_%-2_^1_(SQM_%4_3POSITIVE RELOCATION_^1_(ENA_%0_^1_(STA-_$CS,I_0FORCE EXIT_^1_(ENQ_%6_3ILLEGAL RELOCATION_^1_(JMP*_$D1A+1_^1_(LDQ-_$OC,I_^1_(SQN_%6_^1_(LDQ- PC,I_"SAVE PROGRAM CTR_^1_(SQN_%1_^1_(TCQ_%Q_^1_(STQ-_$OC,I_^1_(LDQ-_$RM,I_0SAVE RELOCATION_^1_(STQ-_$OR€€,I_^1_(STA- PC,I_"ADDR INTO PROG CTR_^1_(STA- W1,I_"ADDR INTO COMD WD_^1_(LDA-_$RC,I_^1_(STA-_$RM,I_^1_(RTJ*_$(DD+13)_^1_(LDA-_$CS,I_^1_(SAZ_%3_^1DG_%ENA_!0_%ERR NO BLANK NEXT_^1_(STA-_$CS,I_^1_(JMP*_$D1A_^1_(JMP*_$D1B_^1DD_%ADC_!D1C,PRNT,ER,CHPU,RECV,PUNC,CHPR,LDCP_^1_(ADC_%RBPK,UP1,AXPR,M2J5,M1,UNCP_^1ALF_$RTJ*_$(DD+3)_^1_(INA_%$20_^1_(TRA_%Q_^1_(STQ-_$TR+6,I_^1_(INQ_%-$30_^1_(€€SQM_%2_3NOT A NUMBER_^1_(INQ_%-$A_^1_(SQM_%1_3THIS IS A NUMBER_^1_(JMP*_$ALF1_0NON-NUMERIC CHARACTER_^1_(LDA-_$CT,I_^1_(INA_%-1_^1_(STA-_$CT,I_^1_(RTJ*_$(DD+6)_.TO CHPR_^1_(SAN_%3_3ERR FROM CHPR_^1_(LDA-_$CS,I_^1_(INA_%-1_^1_(SAZ_%1_^1_(JMP*_$ALF1C_/ERR,NO COMMA NEXT_^1_%ENA_#72_+MAX.ADDRESS FIELD_^1_%SUB-_"CT,I_)CURRENT CHAR. COUNT_^1_%ARS_#1_^1_%SUB-_"NU,I_)NUMBER WORDS REQUESTE€€D_^1_%SAP_#1_^1_%JMP*_"ALF1C_(ILLEGAL NO. WORDS REQ._^1_(LDA-_$NU,I_^1_(SAN_%1_^1_(JMP*_$ALF1C+2_-COUNTER IS ZERO ***_^1DA1_$ENA_%0_3COME HERE WITH LITERAL_^1_(STA-_$TR+6,I_.SET COMPARE CHARACTER ZERO_^1_(JMP*_$ALF2C_^1ALF1_#RAO-_$AF,I_^1_(RTJ*_$(DD+3)_^1_(INQ_%-$2C_^1_(SQZ_%3_^1ALF1C_"ENQ_%1_3ERROR_^1_(RTJ*_$(DD+2)_.TO ERROR PROCESSOR_^1_(JMP*_$ORG2_0EXIT TO IGNORE_^1ALF2C ENA 0€€_** SET FLAG TO ZERO_549*878_^1_%STA* MFOFC_M49*878_^1_%RTJ* ALFSB_M49*878_^1_(SAP_%2_^1_(SQN_%DA2+1-*_^1_(JMP*_$DAALF_^1_(LDQ-_$DX+1,I_^1_(SQZ_%DA2+1-*_^1_(ENQ_%0_3LITERAL FROM MAPR_^1_(STQ-_$AF,I_^1_(RTJ*_$(DD+3)_.GET NEXT CHARACTER_^1_(SAZ_%1_3SET CODE FOR MAPR_^1_(INA_%-$B_^1_(SAZ_%1_^1_(STA-_$CS,I_^1DA2_$LDA-_$TR,I_^1_(JMP*_$(DD+11)_-RETURN TO MAPR_^1_(LDA-_$TR,I_^1_(STA-_$W1,€€I_^1_(RTJ*_$(DD+7)_.PRINT_^1_(RTJ*_$(DD+8)_.PUNCH_^1_(RTJ*_$(DD+9)_.BUMP COUNT_^1_(LDA-_$TR+6,I_^1_(SAZ_%2_3COUNTING CHARACTERS_^1_%SAM DAALF_(MATCH FOUND_^1_%JMP* ALF2C+2_M62*1304_^1_(LDA-_$NU,I_^1_(INA_%-1_^1_(STA-_$NU,I_^1_(SAZ_%1_^1_(JMP*_$ALF2C_/NOT FINISHED GET NEXT CHAR_^1DAALF_"JMP*_$(DD)_^1ALFSB_"ADC_%0_^1_(ENA_%1_^1_(STA-_$TR,I_^1_(RTJ*_$ALFSB2_.GET NEXT CHARACTER AND CH€€ECK IT_^1_(LDA-_$TR,I_^1_(QLS_%8_^1_(LLS_%8_^1_(STA-_$TR,I_^1_(LDA-_$TR+6,I_^1_(SAM_%2_3MATCH FOUND ON CHARACTER_^1_(SQN_%1_^1_(JMP*_$ALFSB+3_-GET RIGHT HAND CHARACTER_^1_(JMP*_$(ALFSB)_-RETURN_^1*_2R_!T_!L_!B_!F_!V_"PASS 2 AND 3_^1ALFTB2_!NUM_%$52,$54,$4C,$42,$46,$56_^1*_2CR HT LF BEL FF VT_!PASS 3 ONLY_^1ALFTB1_!NUM_%$0D,$09,$0A,$07,$0C,$0B_^1MFOFC NUM 0_,* FLAG-MATCH FOUND€€ ON FIRST CHAR_#49*878_^1ALFSB2_!ADC_%0_^1_(RAO-_$AF,I_^1_%RAO* MFOFC_M49*878_^1_(RTJ*_$(DD+3)_.TO CHPU_^1_(SQM_%5_3END OF IMAGE_^1_(INQ_%-$D_^1_(SQZ_%3_3CR_^1_(LDA-_$CT,I_^1_(INA_%-72_^1_(SAM_%AB21-*-1_^1_(ENQ_%71_^1_(STQ-_$CT,I_^1AB20_#LDA-_$TR+6,I_^1_(SAZ_%2_^1_(TCA_%A_3USING CHARACTER MATCH_^1_(STA-_$TR+6,I_^1_(ENQ_%$20_^1_(JMP*_$AB25C_^1AB21_#INQ_%$D_2RESTORE CHARACTER_^1_(TRQ€€_%A_^1_(EOR-_$TR+6,I_^1_%SAN 5_,* IF MFOFC = 1 ZERO WORDS_+49*878_^1_%LDA* MFOFC_(* ARE REQUESTED_549*878_^1_%INA -1_+* THE ALF STATEMENT IS_.49*878_^1_%SAN 1_,* LISTED ALONG WITH THE CARD N_%49*878_^1_%JMP* ALF1C+2_%* NO CODE GENERATED_149*878_^1_(JMP*_$AB20_0MATCH ON SAVED CHARACTER_^1_(INQ_%-$3A_^1_(SQZ_%4_3COLON_^1_(INQ_%$3A_^1AB25C_"ENA_%0_^1_(STA-_$AF,I_^1_(JMP*_$(ALFSB2)_€€,RETURN_^1_(RTJ+_$CHPU_^1_(STQ-_$CS,I_^1_(ENQ_%5_^1_(LDA-_$CS,I_^1_(EOR*_$ALFTB2,Q_^1_(SAZ_%3_3SPECIAL CHARACTER FOUND_^1_(SQZ_%4_3NOT A SPECIAL CHARACTER_^1_(INQ_%-1_^1_(JMP*_$*-5_^1_(LDQ*_$ALFTB1,Q_^1_(JMP*_$AB25C_^1_(ENQ_%$3A_^1_(LDA-_$CT,I_0BACK UP CHARACTER COUNT_^1_(INA_%-1_^1_(STA-_$CT,I_^1_(JMP*_$AB25C_^1ADC_$RAO-_$AD,I_0SET ADC FLAG_^1_(ENA_!0_^1_(STA- IS,I_-LEADING SIGN €€LEGAL_^1DA4_$RTJ+_$AXPR_^1_(LDQ-_$LP,I_^1_(LDA-_$EX,I_^1_(INA_%-2_^1_(SAN_%4_^1_(SQZ_%ADC2-*-1_,RELATIVE EXTERNAL_^1ADC1C_"RTJ+_$ER_^1_(JMP*_$ADC1_^1_(LDA-_$AM,I_^1_(SAM_%1_^1_(SAN_%1_^1ADC2_#JMP*_$ADC1_^1_(SQZ_%1_3RELATIVE ADC_^1_(JMP*_$ADC1C_/ERR,PAREN WITH RELATIVE ADC_^1_(LDQ-_$EX,I_^1_(SQN_%4_^1_(LDA-_$RM,I_^1_(SUB-_$RC,I_^1_(SAZ_%2_^1_(ENQ_%6_^1_(JMP*_$ADC1C_/ERR,EXPRESSION I€€S NOT ABSOLUTE_^1_(STA-_$RC,I_^1_(LDA-_$AX,I_^1_(SUB-_$PC,I_^1_(STA-_$AX,I_^1_(JMP*_$ADC3_^1ADC1_#LDQ-_$LP,I_^1_(LDA-_$AX,I_^1_(ALS_%1_3IF LEFT PAREN_^1_(LLS_%31_2PRESENT_^1_(STQ-_$LP,I_^1_(LDQ-_$DX+1,I_^1_(SQZ_%2_^1_(JMP+_$M2J5_^1ADC3_#STA-_$W1,I_^1_(RTJ+_$M1_2PRINT AND PUNCH_^1_(JMP*_$DA4_^1NUM_$ENA_%0_^1_(EQU_%DA3(NUM)_^1_(STA- IS,I_"LEADING SIGN LEGAL_^1_(RAO-_$NS,I_0SET NUM F€€LAG_^1_(RTJ*_$(IFA5+1)_,TO CHPR_^1_(SAN_%3_^1_(SQN_%NUM1-*-1_^1_(LDA-_$CS,I_^1_(INA_%-2_^1_(SAP_%NUM1-*-1_^1_(LDA-_$NU,I_0LOAD NUMBER_^1_(LDQ-_$SG,I_^1_(SQP_%1_^1_(TCA_%A_3- SIGN COMPLEMENT_^1NUM2_#ENQ_%0_^1_(STQ-_$NS,I_^1_(LDQ-_$DX+1,I_^1_(SQZ_%1_^1_(JMP*_$ADC3-2_.LITERAL TO MAPR ***_^1_(STA-_$W1,I_^1_(RTJ*_$(ADC3+2)_,PRINT AND PUNCH_^1_(JMP*_$DA3+2_^1NUM1_#ENQ_%1_^1_(RTJ*_$(ADC1€€C+1)_^1_(ENA_%0_^1_(JMP*_$NUM2_^1IFR_"ENA_"1_^1_%STA*_"IFRFLG_^1_%STA-_"AX16,I_^1_%JMP*_!IFA_(IFR FLG INDICATES AN IFR PSEUDO_^1IFRFLG_!NUM_!0_^1IFA_$ENA_%0_^1_(STA-_$VBT,I_/USE FOR SUBFIELD COUNT_^1_(STA-_$IS,I_0SET LEADING SIGN LEGAL_^1IFA1_#RTJ*_$(DA4+1)_-TO AXPR_^1_%SQZ_!IFA6_^1_(ENQ_%6_3EXPRESSION NOT ABSOLUTE_^1_(JMP*_$IFIGM1_^1IFA2_#ENQ_%1_^1_%ENA_"0_^1_%STA-_"AX16,I_^1_%STA€€* IFRFLG_^1IFIGM1_!RTJ*_$(ADC1C+1)_^1IFIG_$ENA_"0_^1_)STA*_!IFRFLG_^1_)JMP_"IGNORE_^1IFA6_$LDQ-_!VBT,I_%SAVE EXPRESSION_^1_(STA-_$VMS,B_^1_(LDA-_$CS,I_^1_(AAQ_%A_^1_(SAZ_%2_3ILLEGAL FIELD TERMINATOR_^1_(SQZ_%2_^1_(JMP*_$IFA3_0ALL FIELDS PROCESSED_^1_(JMP*_$IFA2_^1_(RAO-_$IS,I_0SET LEADING SIGN ILLEGAL_^1IFA5_#RTJ+_$CHPR_0GET COMPARE CODE_^1_(LDA-_$CS,I_^1_(STA-_$VBT,I_^1_(ADQ-_$SY€€+1,I_^1_(STQ-_$VCT,I_^1_(INA_%-1_^1_(SAZ_%1_^1_(JMP*_$IFA2_0ERR,NO COMMA NEXT_^1_(JMP*_$IFA+2_/GO GET NEXT FIELD ***_^1IFA3_#ENQ_%3_^1_(LDA-_$VCT,I_^1_(SUB*_$IFTAB,Q_^1_(SAZ_%4_3FOUND_^1_(SQZ_%2_3ILLEGAL_^1_(INQ_%-1_^1_%JMP* IFA3+1_^1_(JMP*_$IFA2_^1_(LDA-_$VMS,I_^1_(SUB-_$VMS+1,I_^1_(QLS_%1_^1_(JMP*_$*+1,Q_^1_%SAN IFA3A_(CONDITION NOT MET_^1_(JMP*_$IFIG_$IGNORE_^1_%SAZ IFA3A_^1_€€(JMP*_$IFIG_$IGNORE_^1_%SAP IFA3A_^1_(JMP*_$IFIG_$IGNORE_^1_%SAZ IFA3A_^1_%SAM 1_^1_(JMP*_$IFIG_$IGNORE_^1IFA3A_#LDA*_!IFRFLG_^1_)SAZ_"IFA3AA_^1_)ENA_"0_^1_)STA*_!IFRFLG_^1_(ENQ_"1_^1_(JMP*_"IFIGM1_^1IFA3AA_"RAO-_!SKF,I_^1_(LDA-_$LA,I_0SAVE IF NAM_^1_(STA-_$IFNAM,I_^1_(JMP*_!IFIG_^1*_2EQ_!NE_!LT_!GT_^1IFTAB_"NUM_%$171,$3A5,$334,$1F4_^1IFC_$LDA-_$MD,I_^1_(ENQ_%0_^1_(SAN_%4_^1_(EN€€Q_%4_^1IFC2_#ENA_%0_^1_(STA-_$AF,I_^1_(JMP*_$IFA2+1_^1_(STQ-_$VBT,I_/USE FOR COUNTING SUBRIELDS_^1_(STQ-_$VMS,I_/USE FOR CHARACTER CTR_^1_(ENQ_%5_^1_(ENA_%0_^1_(STA-_$TR,B_^1_(SQZ_%2_^1_(INQ_%-1_^1_(JMP*_$*-3_^1IFC10_"RTJ+_$CHPU_0SLEW OVER LEADING BLANKS_^1_(SAN_%2_^1IFC15_"ENQ_%1_^1_(JMP*_$IFC2_0TO ERR AND EXIT_^1_(LDA-_$CT,I_0SET COL CTR BACK ONE_^1_(INA_%-1_^1_(STA-_$CT,I_0GET C€€HAR WITH AF_^1IF3C_#RAO-_$AF,I_0SWITCH SET_^1_(RTJ*_$(IFC10+1)_^1_(STQ-_$TR+6,I_^1_(LDA-_$VBT,I_^1_(INQ_%-9_^1_(SQZ_%4_3TAB_^1_(INQ_%-4_^1_(SQZ_%2_3CR_^1_(INQ_%-$13_^1_(SQN_%1_^1_(JMP*_$IF5C_0BLANK_^1_(INQ_%-$C_^1_(SQN_%1_^1_(JMP*_$IF4C_0COMMA_^1_(RAO-_$VMS,I_^1_(LDA-_$VMS,I_^1_(INA_%-7_^1_(SAM_%1_^1_(JMP*_$IF3C_06 CHAR STORED_^1_(LDQ-_$VMS,I_^1_(INQ_%-1_^1_(LRS_%1_^1_(ADQ-_$VBT,I_€€^1_(SAM_%3_3RIGHT CHARACTER_^1_(LDA-_$TR+6,I_.LEFT CHARACTER_^1_(ALS_%8_^1_(JMP*_$*+2_^1_(LDA-_$TR+6,I_^1_(ADD-_$TR,B_^1_(STA-_$TR,B_^1_(JMP*_$IF3C_^1IF4C_#SAZ_%1_^1_(JMP*_$IFC15_/ERR,COMMA WITH VBT NON ZERO_^1_(ENA_%0_^1_(STA-_$AF,I_^1_(RTJ*_$(IFA5+1)_,GET COMPARE CODE_^1_(ENA_%3_^1_(STA-_$VBT,I_^1_(LDA-_$CS,I_^1_(INA_%-1_^1_(SAZ_%1_^1_(JMP*_$IFC15_/ERR,NO COMMA HERE_^1_(STA-_$VMS€€,I_^1_(JMP*_$IF3C_0GO GET NEXT FIELD_^1IF5C_#SAN_%1_^1_(JMP*_$IFC15_/ERR,BLANK WITH VBT EQU ZERO_^1_(ENQ_%2_^1IF5CA LDA- TR,B_^1_(INQ_%3_^1_(EOR-_$TR,B_^1_(SAN_%3_3NO MATCH_^1_(INQ_%-4_^1_(SQM_%2_3MATCH_^1_%JMP* IF5CA_^1_(TRA_%Q_^1_(LDA-_$SY,I_^1_(ADD-_$SY+1,I_^1_(SUB_%=N$171_^1_(SAZ_%4_3COMPARE IS ON EQ_^1_(SUB_%=N$234_^1_(SAZ_%3_3COMPARE IS ON NE_^1_(JMP*_$IFC15_/ILLEGAL COMPARE€€ CODE_^1_(SQP_%2_^1_(SQM_%4_^1_(SQP_%3_^1_(RAO-_$SKF,I_^1_(LDA-_$LA,I_^1_(STA-_$IFNAM,I_^1_(ENA_%0_^1_(STA-_$AF,I_^1IF7C_#JMP_%IGNORE_^1EMC_$LDA-_$MD,I_0END MACRO_^1_(SAN_%1_^1_%JMP* (IF7C+1)_^1_(INA_%-1_^1_(STA-_$MD,I_^1_(SAN_%1_^1_(STA-_$MPSW,I_.ZERO INHIBIT MACRO PRINT SWITCH_^1EMC1_#JMP_%NEXT_^1EIF_$LDA-_$SKF,I_/END IF_^1_(SAN_%1_^1_(JMP*_$EIF1_^1_(RTJ+_$CHPR_0GET ADDRESS FIELD€&_^1_(SAN_%1_^1_(LDA-_$CS,I_^1_(SAN_%EIF1+1_^1_(RAO-_$IG,I_^1_(RTJ*_$(EIF+4)_^1_(SAN_%1_^1_(LDA-_$CS,I_^1_(SAN_%EIF1+1_^1_(TRQ_%A_3ADDRESS SYMBOL IN Q_^1_(EOR-_$IFNAM,I_^1_(SAN_%1_3NO MATCH_^1_(STA-_$SKF,I_/MATCH,STOP SKIPPING_^1EIF1_!JMP* (IF7C+1)_^1_(JMP*_$IFC15_/TO ERR AND IGNORE_^1_(END_^__&PPA3PR3 CSY/ A08 P€1_%NAM PA3PR3_'DECK-ID A08 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1*_'PROGRAM BASE-MACRO ASSEMBLER 2.0_4**MSOS 4.0_^1STDSCR EQU STDSCR($B3)_^1REQPRO EQU REQPRO($F4)_^1*_1ST MUST BE FIRST_^1_(EQU_%ST(1),ET(ST+1),PSW(ET+1),PB(PSW+1)_^1_%EQU DSW(PB+€€49),DSWW(DSW+1)_^1_%EQU TSW(DSWW+1),CSW(TSW+1),SECTNO(CSW+1)_^1_%EQU_#PNAM(SECTNO+1)_^1_%EQU_#WMS(PNAM+3),CSYSCT(WMS+1)_^1_(EQU_%SCOUNT(CSYSCT+1),XSYSCT(SCOUNT+1)_^1_(EQU_%CC(XSYSCT+1),DC(CC+1)_^1_(EQU_%PC(DC+1),DX(PC+1),LA(DX+2),W1(LA+4),W2(W1+1)_^1_(EQU_%AD(W2+1),AF(AD+1),AM(AF+1),CL(AM+1),EX(CL+1)_^1_(EQU_%RC(EX+1),AX(RC+1),LC(AX+1),AU(LC+1),AR(AU+1)_^1_(EQU_%TR(AR+1),SY(TR+7),€€NU(SY+4),SG(NU+1),RP(SG+1)_^1_(EQU_%HX(RP+1),XMOD(HX+1),LT(XMOD+1),ES(LT+1),LP(ES+1)_^1_(EQU_%IG(LP+1),NS(IG+1),IS(NS+1),CT(IS+1),CS(CT+1)_^1_(EQU_%IL(CS+1),MD(IL+1),ID(MD+1),SKF(ID+1)_^1_(EQU_%BS(SKF+1)_^1_%EQU AUB(BS+1)_^1_%EQU UB(AUB+57)_^1_(EQU_!LN(UB+57),OR(LN+1),OC(OR+1)_^1_(EQU_!AS(OC+1),SC(AS+1),SS(SC+1)_^1_(EQU_%WC(SS+1),RM(WC+1)_^1_(EQU_%YL(RM+1),SZ(YL+1)_^1_(EQU_%PER(S€€Z+1)_^1_(EQU_%VBT(PER+1),VMS(VBT+1),IFNAM(VMS+1)_^1_(EQU_%MPSW(IFNAM+1)_^1_(EQU_%VCT(MPSW+1),VWD(VCT+1)_^1_(EQU_%AX16(VWD+1)_^1_(EQU_%ETSAVE(AX16+1)_^1_(EQU_%DVFL(ETSAVE+1)_^1_(EQU_%PAGL(DVFL+1)_^1_(EQU_%SL(PAGL+1)_^1_(COM_%CONS(SL+1)_^1_(COM_%FST_^1_%COM L,P,X,C,MM,ILSCST,SRSCST,ILSCND_3MSOS4.1_^1_(COM_%ERC_^1_%COM LGSECT_^1_%COM SYRFTS(96)_"SECT.REF.TBL.SYMBOLS_0MSOS4.1_^1_%CO€€M SYCADM_'ADDR.TO SECT.REF.TBL.SYMBOLS_(MSOS4.1_^1_%COM SYEXT_MMSOS4.1_^1_%COM SYINDM_LMSOS4.1_^1_%COM SYTRFM_'ENTRY ADDR.REF.TBL.SYMBOLS_*MSOS4.1_^1_%COM SYTRFD_'1ST ADDR.REF.TBL.SYMBOLS-DISK_'MSOS4.1_^1_%COM APASS1,APASS2,APASS3,ATBLST,AXREF,PAGE_,MSOS4.1_^1_%COM PS1W2,PS2W2,PS3W2,PS4W2,PS5W2_5MSOS4.1_^1_(EXT_!EMC1,PJECT,CARCON,WRIT,JJ5,ER,PRNT,CHPR_^1_(EXT_!TBLIN,RESTBL,S€€YCH,DA1,DA3,DA4,LDCP,RBPK_^1_(EXT_!ALFSB2,CHPU,STATUS,NEXT,CO,IGNORE_^1_%EXT CORD,COWR_^1_(ENT_!M2J5,DEC,VFD,LST,NLS,SPC,EJT,AXPR,MOVE,MAPR_^1_%ENT UP1,UP2,M1,EJECT,DIN_^1_(ENT DOUT,REGP,DISKR5,DISKW5_^1EJT_$ENA_%0_^1_(STA-_$SL,I_^1_%LDA- PAGL,I_'HAS A PAGE EJECT JUST HAPPENED_%71*1632_^1_%INA -3_P71*1632_^1_%SAZ NOEJT_(YES, SKIP EJECT_571*1632_^1_(RTJ*_$EJECT_^1NOEJT JMP LS€€T+2_M71*1632_^1EJECT_"ADC_%0_^1_(LDA_%L_^1_(SAN_%1_,SKIP IF PRINTING_^1_(JMP*_$(EJECT)_^1_%LDA- YL,I_(CHECK TO SEE IF UNDER NLS OR LST_"**MSOS 4.0_^1_%SAZ_!1_^1_%JMP* (EJECT)_^1_%RAO PAGE_NMSOS4.1_^1_(ENA_%0_^1_(STA-_$PAGL,I_'SET TO TOP OF PAGE_^1_(LDA-_$PSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1_(LDA_%PJECT_^1_(STA_%CARCON_'SET CARRIAGE CONTROL TO TOP-OF-FORM_^1_%ENQ_#2_^1_(EXT_%PRNFLG_€€^1EJT1_!LDA-_"PNAM,B_'TRANSFER PROGRAM NAME_^1_(STA*_$PRONAM,Q TO OUTPUT AREA_2**MSOS 4.0_^1_(SQZ_%2_^1_(INQ_%-1_^1_%JMP*_"EJT1_^1_%LDA PAGE_NMSOS4.1_^1_%CLR_#Q_^1EJT1A DVI_#=N10_^1_%INQ_#$30_^1_(STQ*_$PAGNUM+3_B**MSOS 4.0_^1_%CLR_#Q_^1_%SAZ_#EJT1B_^1_%DVI*_"EJT1A+1_^1_%INQ_#$10_^1EJT1B INQ_#$20_^1_%QLS_#8_^1_(ADQ*_$PAGNUM+3_B**MSOS 4.0_^1_(STQ*_$PAGNUM+3_B**MSOS 4.0_^1_%SAN_!1€€_^1_%JMP*_"EJT2_^1_%INA_#$30_^1_%LDQ*_"EJT3_^1_%LLS_#8_^1_%ALS_#8_^1_(STA*_$PAGNUM+2_B**MSOS 4.0_^1EJT2_#ENQ_%12_'PICK UP YEAR_4**MSOS 4.0_^1_(LDA-_$($E9),Q_!FROM EXTENDED CORE_.**MSOS 4.0_^1_(TRA_%Q_(TABLE ADDRESS_3**MSOS 4.0_^1_(LDA-_$($22),Q_C**MSOS 4.0_^1_(STA*_$MONTH+3_C**MSOS 4.0_^1_(ENQ_%13_H**MSOS 4.0_^1_(LDA-_$($E9),Q_!PICK UP MONTH FROM EXTENDED_$**MSOS 4.0_^1_(TRA_%Q_(CO€€RE TABLE ADDRESS_.**MSOS 4.0_^1_(LDA-_$($22),Q_C**MSOS 4.0_^1_(STA*_$MONTH_E**MSOS 4.0_^1_(ENQ_%14_H**MSOS 4.0_^1_(LDA-_$($E9),Q_!+ICK UP DAY FROM EXTENDED CORE_!**MSOS 4.0_^1_(TRA_%Q_(TABLE ADDRESS_3**MSOS 4.0_^1_(LDA-_$($22),Q_C**MSOS 4.0_^1_(CLR_%Q_I**MSOS 4.0_^1_(LLS_%8_I**MSOS 4.0_^1_(INA_%$2F_%SLASH_;**MSOS 4.0_^1_(STA*_$MONTH+2_C**MSOS 4.0_^1_(QLS_%8_I**MSOS 4.0_^1_(INQ_%$2F€€_%SLASH_;**MSOS 4.0_^1_(QLS_%8_I**MSOS 4.0_^1_(STQ*_$MONTH+1_C**MSOS 4.0_^1EJT2ED_!LDA_%=XEJT3_"PRINT HEADING_3**MSOS 4.0_^1_(ENQ_!EJTLEN_H**MSOS 4.0_^1JPWT_!RTJ+_"WRIT_^1_(LDA_%JJ5_*RESTORE CARRIAGE CONTROL_^1_(STA_%CARCON_'*_^1_%RTJ*_"EJT4_^1_(LDA*_$EJT2ED+1 PRINT LINE OF SPACES_,**MSOS 4.0_^1_%ENQ_!2_O**MSOS 4.0_^1_%RTJ*_"(JPWT+1)_^1_%RTJ*_"EJT4_^1_(LDA*_$EJT2ED+1 PRINT LINE O€€F SPACES_,**MSOS 4.0_^1_%ENQ_!2_O**MSOS 4.0_^1_%RTJ*_"(JPWT+1)_^1_%RTJ*_"EJT4_^1_%JMP*_"(EJECT)_^1EJT4_!NOP_#0_^1_(LDA-_$PSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1_%JMP*_"(EJT4)_^1*_81 CARD DELETED_6MSOS4.1_^1EJT3_#ALF_%7,_H**MSOS 4.0_^1PRONAM_!ALF_%3,_H**MSOS 4.0_^1_(ALF_%7,_H**MSOS 4.0_^1PAGNUM_!ALF_%*,PAGE_!0*_?**MSOS 4.0_^1_(ALF_%7,_H**MSOS 4.0_^1_(ALF_%*,DATE*_C**MSOS 4.0_^1_(NUM_%$3A2€€0_E**MSOS 4.0_^1MONTH_"ALF_%*,MO/DA/YR*_?**MSOS 4.0_^1_(EQU_"EJTLEN(*-EJT3)_?**MSOS 4.0_^1LST_$ENA_!0_^1_(STA- YL,I_^1_(JMP+_$EMC1_$EXIT_^1NLS_$RAO-_$YL,I_^1_(JMP+_$EMC1_^1SPC_$RTJ*_$AXPR_^1_(SAZ_#6_^1_(SQZ_%7_+-_^1_(ENQ_!1_^1SPC1_#RTJ+_$ER_^1SPC2_#RTJ+_$PRNT_^1_(JMP+_$EMC1_^1_(STQ- SL,I_^1_(LDA_!=N$2020_^1_(STA- PB,I_^1_(STA- PB+1,I_^1_%LDA- AX,I_)IF THE SPACE COUNT EXCEEDS 60€€_^1_%INA -61_*THERE IS PROBABLY SOMETHING WRONG._^1_%SAM DOSPC_^1_%ENA 1_,SINGLE SPACE ONLY AND CONTINUE._^1_%STA- AX,I_^1DOSPC RTJ* (SPC2+1)_^1_(LDA- AX,I_^1_(INA_!-1_^1_(STA- AX,I_^1_(SAZ_!1_^1_(JMP* *-5_^1_(JMP+_$EMC1_^1AXPR_#SLS_^1_(ENA_%0_^1_%STA_!RP2_^1_(ENQ_!12_^1_(STA- EX,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$*-3_^1_(ENQ_%-0_2SET ADDRESS_^1_(STQ-_$AX,I_0SUMMATION STORA€€GE_^1AX1_$RTJ+_$CHPR_^1_(SAN_!AA-*-1 ERR FOUND IN CHPR_^1_(STA-_$RC,I_^1_(LDA-_$LT,I_^1_(SAZ_!3_^1_(LDA- LC,I_-FIRST TERM_^1_(SAN_!AA-*-1_+NO ERROR_^1_(JMP* (AXPR) LITERAL - RETURN_^1_(LDA-_$CS,I_^1_(INA_!-6_$TEST FOR LEFT PAREN_^1_(SAN_%AA1-*-1_^1AA_%ENQ_%1_^1_%RTJ* (SPC1+1)_J41*598_^1_(LDA-_$CS,I_^1_(INA_%-2_^1_(SAM_!2_%BL OR COMMA NEXT_^1_(RTJ*_$(AX1+1)_^1_(JMP*_$*-4_^1_(ENA€€_%0_^1_(STA-_$RC,I_^1_(STA-_$AX,I_^1_(STA-_$AS,I_^1_(JMP*_$A12_^1AA1_$SQZ_%1_^1_(JMP*_$AB_2SYMVOL PRESENT_^1_(LDQ-_$SY+1,I_^1_%SQZ AA1A_^1_(INA_%4_3NULL FIELD_^1_(SAM_%3_^1_(LDA-_$LC,I_^1_(SAZ_%1_^1_(JMP*_$AA_^1_%JMP*_!AB-1_^1AA1A_!LDQ- SY+2,I_^1_(SQN_%1_^1_%JMP* AB-1_^1_(LDA- PC,I_"PROGRAM COUNTER =_^1_$EXT_#PCOSET_^1_'ADD+_"PCOSET_^1_(STA- NU,I_"VALUE OF THIS TERM_^1_(LDA- R€€M,I_"RELOCATION = PROGRAM_^1_(STA-_$RC,I_0RELOCATION MODE_^1_%SAN 1_Q41*598_^1_%RAO- TR+3,I_'BUMP ABS. SYS. CTR._141*598_^1_(JMP*_$A2_^1AB_%RAO-_$SS,I_0SET SEARCH FLAG_^1_(LDA-_$ST,I_^1_(RTJ*_$(A+3)_/SEARCH SYM TABLE_^1_(INQ 0_N**MSOS 4.0_^1_(SQN AB2-*-1_#IF Q = ZERO SYMBOL NOT FOUND_'**MSOS 4.0_^1_(LDA-_$ET,I_^1_(RTJ*_$(A+3)_/SEARCH EXT TABLE_^1_(INQ 0_N**MSOS 4.0_^1_(SQZ 1_*€€IF Q = ZERO SYMBOL NOT FOUND_'**MSOS 4.0_^1_(JMP*_$AW_^1_(RTJ+_$TBLIN_^1_(SAM_%AB1+1-*-1_^1_(JMP*_$AB+1_0GO SEARCH NEXT SYMTAB_^1AB1_$RTJ*_$(A13+1)_^1_(ENQ_%8_^1_(JMP*_$AA+1_^1AB2_$LDA-_$1,Q_1PICK UP SYMBOL_^1_(ARS_%12_^1_(INA_%-4_^1_(SAN_%1_^1_(JMP*_$AB1_1UNIDENTIFIED ENTRY PT_^1_(INA_%4_^1_(STA-_$RC,I_0STORE RELOCATION_^1_(ADQ-_$SY+3,I_^1_%SAN 1_Q41*598_^1_%RAO- TR+3,I_'BUMP ABS€€. SYS. CTR._141*598_^1_(LDA-_$2,Q_^1_(TCA_%A_^1_(LDQ-_$AX16,I_^1_(SQZ_%2_^1_(ALS_%1_316-BIT ARITH_^1_(ARS_%1_3EXTEND SIGN OF SYMBOL ADDRESS_^1_(STA-_$NU,I_0STORE ADDR VALUE_^1_(RTJ*_$(A13+1)_^1_(JMP*_$A2_^1AW_%RAO-_$EX,I_/SET EXTERNAL FLAG_^1_(LDA-_$CS,I_^1_(INA_%-2_^1_(SAP_%AY1-*-1_^1_(LDA-_$LC,I_^1_(INA_%-2_2LEADING TERMINATOR_^1_(SAP_%AY1-*-1_^1_(LDA-_$SG,I_^1_(SAN_%AY1-*-1_^1_(€€LDA-_$AM,I_^1_(SAM_%2_^1_(LDA-_$AD,I_0ONE WORD COMMAND_^1_(SAZ_%AY1-*-1_^1_(LDA-_$RM,I_0CHECK RELOCATION_^1_(INA_%-2_^1_(SAM_%3_^1AY_%ENQ_%6_3RELOCATION ERROR_^1_(JMP*_$AA+1_^1AY1_$JMP*_$AA_^1_(LDA-_$1,Q_^1_(ARS_%12_^1_(STA-_$RC,I_0SET RELOCATION_^1_(ALS_%12_^1_(EOR-_$1,Q_^1_(STA-_$1,Q_^1_(ARS_%11_^1_%SAZ AY1A_^1_(LDA-_$AM,I_0RELATIVE EXT_^1_(INA_%1_^1_(SAN_%1_^1_(JMP* AA_$ERROR €€PLUS TERMINATOR_^1_(RAO-_$EX,I_0EX FLAG = 2_^1AY1A_!LDA- RM,I_^1_(ALS_%12_2TABLE_^1_(ADD-_$1,Q_^1_(STA-_$1,Q_^1_(ADQ-_$SY+3,I_^1_(LDA-_$2,Q_1ADDRESS FROM_^1_(TCA_%A_^1_(STA-_$AX,I_^1_(LDA-_$PC,I_0PROGRAM COUNTER OR_^1_(SUB-_$AD,I_0PROGRAM COUNTER_^1_(INA_%1_3PLUS ONE INTO_^1_(TCA_%A_3EXTERNAL TABLE_^1_(STA-_$2,Q_^1A12_$ENA_%0_^1_(LDQ-_$AD,I_^1_(SQN_!3_%ENTERED FROM ADC_^1_(LDQ-_$CL€€,I_^1_(SQP_%1_^1_(STA-_$LP,I_0ZERO LEFT PAREN_^1_(STA-_$SS,I_^1_%LDA- XSYSCT,I_J44*702_^1_%SAZ A13_O44*702_^1_%LDA- WMS,I_M44*702_^1_%STA DISKW5_L44*702_^1_%LDA- ST,I_N44*702_^1_%LDQ- CSYSCT,I_J44*702_^1_%RTJ DOUT_N44*702_^1A13_$RTJ+_$RESTBL_.RESTORE SYMTAB_^1_(LDA-_$AX,I_^1_(LDQ-_$AX16,I_^1_(SQN_%1_^1_(AND* A_%MASK ADDRESS TO_^1_(STA-_$AX,I_015 BITS_^1_(LDQ-_$RC,I_^1_%JMP AA-€€4_(RETURN_?41*598_^1A_'ADC_%$7FFF,ER,MOVE,SYCH_^1_(BZS_%RP2(1)_^1_%ENT_!RP2_^1A2_%LDQ- LC,I_"LEADING OPERATOR_^1_(LDA-_$SG,I_^1_(SAZ_%4_3NO LEADING SIGN_^1_(SQZ_%1_^1_(JMP*_$AY1_^1_(SAP_!1_%LEADING SIGN PLUS_^1_(INQ_!3_%SET LC CODE MINUS_^1_(INQ_%-4_^1_(STQ- RP,I_"SAVE FOR NEXT TEST_^1_(INQ_%1_^1_(SQN_%2_^1_(ENA_%-0_^1_(STA- AS,I_"SET ADDRESS MASK NEGATIVE_^1_(LDA-_$RC,I_^1_(SAZ€€_%A21-*-1_^1_(SQZ_!4_/LC IS MINUS_^1_(INQ_!-1_^1_(SQN_!4_^1_(LDQ- AS,I_^1_(SQZ_!2_^1_(ENQ_!4_^1_(JMP* *+2_^1_(ENQ_!0_^1_(EAQ_%Q_3OF RC_^1_(LDA-_$TR-1,B_.RECORD RELOCATION_^1_(INA_%1_3OF THIS TERM_^1_(STA-_$TR-1,B_^1A21_$LDA-_$RP,I_0LEADING CHARACTER_^1_(LDQ-_$CS,I_0TRAILING CHARACTER_^1_(INQ_%-4_^1_(STQ-_$RP,I_^1_(SAM_!1_%LC = +,-,BL OR COMMA_^1_(JMP*_$AG_2LC = * OR /_^1_(SQM_%1_€€^1_(JMP*_$AE_2CS = * OR /_^1_(LDA- NU,I_"LC,CS = +,-,BL OR COMMA_^1AZ_%LDQ-_$AX16,I_^1_(SQN_%2_316-BIT ARITH_^1_(ALS_%1_^1_(ARS_!1_%EXTEND SIGN OF NU_^1_(EOR- AS,I_"COMPLEMENT IF SIGN MINUS_^1_(ADD-_$AX,I_^1_(STA-_$AX,I_^1_(ENA_%0_^1_(STA-_$AS,I_^1_(STA-_$RC,I_^1AV_%LDQ-_$CS,I_^1_%INQ_!-7_^1_%SQN_!AV0-*-1_(IF CS WAS NOT ')'_^1_%STQ- LC,I_^1_%JMP_!AX1_$GO BACK FOR NEXT TERM_^1AV0€€_"INQ_!5_^1_(SQM_!4_%CS = BLANK OR COMMA_^1_(INQ_!2_%CS INTO LC GO PICK_^1_(STQ-_$LC,I_0UP NEXT TERM_^1_(JMP_%AX1_^1_(ENA_%0_^1_(STA-_$RC,I_^1_(ENQ_%3_3CHECK RELOCATION_^1_(LDA-_$TR-1,B_^1_(INQ_%4_^1_(SUB-_$TR-1,B_^1_(SAN_%4_3RELOCATION HERE_^1AV2_$INQ_%-5_^1_(SQN_%1_^1_(JMP*_$A12_^1_(JMP*_$*-7_^1_(STQ-_$RP,I_^1_(INA_!1_%RELOC HERE CHECK IT_^1_%SAN AV1B_^1AV1_$LDA-_$RC,I_^1_%SAZ€€ 2_Q44*702_^1AV1A_!JMP AY_P44*702_^1_(STQ-_$RC,I_^1_(LDQ-_$RP,I_^1_(JMP*_$AV2_^1AV1B_!INA -2_^1_(SAZ_%1_^1_%JMP* AV1A AY_%RELOC ERROR_^1_(INQ_%-4_^1_(JMP*_$AV1_^1AE_%LDA- RC,I_"LC = +,-,BL OR COMMA_^1_(STA-_$AR,I_0CS =* OR /_^1_(LDA-_$NU,I_0SAVE RC AND NU_^1_(STA-_$AU,I_^1_(JMP*_$AV_^1AG_%LDQ-_$RC,I_0LC = * OR /_^1_%SQZ AGA_*RC = 0_^1_(SAZ_%1_3LC = *_^1_(JMP* AE-3_"ERR DIVISO€€R RELOC_^1_(LDA-_$AR,I_^1_(SAZ_%1_^1_(JMP* AE-3_"ERR TOO MANY RELOCS_^1_(STQ-_$AR,I_0SAVE THIS RELOC_^1_(JMP*_$*+3_^1AGA_"SAZ 1_^1_(JMP*_$AH_^1_(LDA-_$NU,I_0LC= *_^1_(MUI-_$AU,I_^1_(STA-_$VWD,I_^1_(LDA-_$AX16,I_^1_(SAN_%AG1-*-1_-16-BIT ARITH_^1_(LDA-_$VWD,I_^1_(SAP_%2_^1AGB_"AND* A_,PRODUCT WRAP AROUND_^1_(INA_%1_^1_(QLS_%1_^1_(AAQ_%A_^1_(SAP_%AG1-*_^1_(CLR_%Q_^1_%JMP* AGB_^1AG1_€€$LDA-_$VWD,I_^1_(LDQ-_$RP,I_^1_(SQP_%1_^1_(JMP* AZ_$CS = +,-,BL OR COMMA_^1_(JMP*_$AE+3_0CS = * OR SLASH_^1AH_%LDA-_$NU,I_0LC = /_^1_(SAN_%1_^1_(JMP* A2+4_"ERR DIV BY ZERO_^1_(LDA-_$AU,I_^1_%CLR Q_^1_%SAP 1_^1_%SET Q_,SET THE SIGN IF NEG_^1_(DVI-_$NU,I_0AU/NU_^1_(JMP*_$AH-4_^1UP2_$SLS_^1_(SQN_%1_^1_(JMP*_$(UP2)_^1_(RTJ*_$UP1_^1_(INQ_%-1_^1_%JMP* UP2+1_^1UP1_$SLS_%0_3BUMP PROGR€€AM_^1_(LDA-_$PC,I_0COUNTER BY ONE_^1_%SUB* UP1A_^1_(SAZ_%2_^1_%ADD* UP1A_^1_(INA_%1_^1_(STA-_$PC,I_^1_(JMP*_$(UP1)_^1UP1A_!NUM $7FFE_^1MOVE_#SLS_!0_/MOVE SYMBOL_^1_(ENQ_%3_3TO LABEL_^1_(LDA-_$SY,B_^1_(STA-_$LA,B_^1_(INQ_%-1_^1_(SQM_%1_^1_(JMP*_$*-4_^1_(JMP*_$(MOVE)_^1MAPR_#LDA- AM,I_"AM NEG = 2 WD COMD_^1_(SAN_%3_^1_(LDQ-_$CL,I_^1_(INQ_%-3_^1_(SQP_%2_3CL 3,4 OR 5_^1_(INA_!-3_$AM €€ZERO= 1 WD DIRECT_^1_(STA- AM,I_"AM ONE = 1 WD REL_^1_(RTJ*_$(M)_^1_(LDQ-_$LT,I_^1_(SQN_%1_^1_(JMP*_$MA_^1M4_%RAO-_$DX+1,I_"SET SW FOR RETURN TO MAPR (OR VFD)_^1_(LDA-_$AM,I_0LITERAL_^1_(SAM_%2_^1_(ENQ_%9_3ERR LITERAL IN_^1_(JMP*_$M2B+3_/1 WD COMMAND_^1_(LDA-_$CS,I_^1_(INA_%-$21_^1_(SAN_%1_^1_(JMP* (M+1)_!LITERAL IS ALPHA_^1_(INA_%-$D_^1_(SAN_%1_^1_(JMP* (M+2)_!LITERAL IS NUMERI€€C_^1_(INA_!-$A_#LITERAL IS ADDR EXP_^1_(SAN_%1_3ILLEGAL_^1_(JMP*_$(M+3)_^1_(JMP*_$*-12_^1MA_%LDQ-_$CL,I_^1_(INQ_%-3_^1_(SQM_'2_^1_(JMP_%MK_^1_(LDQ-_$AM,I_0CLASS 1 OR 2_^1_(SQN_%1_^1_%JMP* MCB_*ONE WORD DIRECT_^1_(INQ_%1_^1_%SQZ MAA_^1_(LDA-_$EX,I_^1_(SAZ_%3_^1_(INA_%-1_^1_%SAZ MAA_^1_%JMP* MCA_^1_(LDA-_$RC,I_^1_(SUB-_$RM,I_^1_(SAZ_%MC-*-1_.1 OR 2 WD RELATIVE_^1_(SQM_%1_^1_(JMP*_$€€M3+2_^1MAA_"LDA- LP,I_^1_(ALS_%15_^1_(EOR- AX,I_"SET SIGN BIT IN AX_^1_(STA-_$AX,I_^1_(JMP*_$MF_^1MC_%STA-_$RC,I_0SET RELOCATION_^1_(LDA-_$AX,I_^1_(SUB- PC,I_"SUBTRACT PROG CTR_^1_(SQP_%3_^1_(INA_%-1_22 WD COMMAND_^1_(STA-_$AX,I_^1_%JMP* MCA_^1_(STA-_$AX,I_^1_(SAP_%1_^1_(TCA_%A_^1_(SUB*_$M5+2_^1_(SAM_%1_^1_(JMP*_$M3+4_0ADDRESS ERROR_^1MCA_"LDA* M5+1_^1_(EOR-_$W1,I_^1_(STA-_$W1,I_€€^1_(JMP*_$MF-2_^1MCB_"SUB* M5+3_^1_(SAM_%1_^1_(JMP*_$M3+4_^1_(LDA-_$LP,I_^1_(SAZ_%3_^1MF_%LDA* M5+4_"SET INDIRECT BIT_^1_(EOR-_$W1,I_^1_(STA-_$W1,I_^1_(LDQ-_$AM,I_^1_(LDA-_$AX,I_^1_(SQM_%1_3TWO WD COMMAND_^1_(JMP*_$M3_^1M2J5_#LDQ+_$VFDLIT_"TEST FOR A RETURN TO VFD LOGIC_^1_(SQZ_%4_(NO, CONTINUE IN MAPR_^1_(ENQ_%0_(CLEAR VFD LITERAL FLAG_^1_(STQ*_$(M2J5+1)_^1_(JMP_%VF4C-1_"RETURN T€€O VFD LOGIC_^1_(STA-_$W2,I_$SAVE LITERAL VALUE_^1_(LDQ-_$RC,I_0SAVE RC FOR_^1_(STQ-_$AR,I_02ND WD OF_^1_(ENQ_%0_3TWO WD OUTPUT_^1_(STQ-_$RC,I_^1M2_%LDA-_$CS,I_^1_(SAN_%1_^1_(JMP*_$M1+1_^1_(INA_%-1_^1_(SAZ_%1_^1_(JMP*_$M2B+2_/ERROR NO COMMA_^1_(RTJ* (M+7)_!PICK UP NEXT CHAR_^1_(SAN_%1_^1_(JMP*_$M1+1_^1_(ENQ_%1_^1_(INA_%-$22_^1_%SAZ M2A_*INDEX IS B_^1_(INA_%-$7_^1_%SAZ M2BA_)INDEX€€ IS I_^1_(INA_%-$8_^1_(SAZ_%2_3INDEX IS Q_^1_(JMP*_$M2B+2_/ERROR_^1M2A_"INQ 1_^1_(INQ_%1_^1M2BA_!QLS 8_^1_(TRQ_%A_^1_(EOR-_$W1,I_0INDEX BITS_^1_(STA-_$W1,I_0INTO W1_^1M2B_$RTJ* (M+7)_!PICK UP NEXT CHAR_^1_%SAZ 4_,IF BLANK, SKIP CALL TO ERROR ROUTINE_^1_(ENQ_%1_^1_(ENA_%0_^1_(STA-_$CS,I_^1_(RTJ*_$(M+4)_/TO ERROR PROCESSOR_^1_(JMP*_$M1+1_^1M_'ADC_!AXPR,DA1,DA3,DA4,ER,LDCP,RBPK,CH€€PU,UP1_^1_(ADC_%NEXT_^1M5_%NUM_%$8000,$800,$80,$100,$400,$FF,$FF80_^1M1_%SLS_^1_(RTJ*_$(M+5)_/PRINT_^1_(RTJ*_$(M+6)_/PUNCH_^1_(RTJ*_$(M+8)_/BUMP COUNTER_^1_(LDA-_$CS,I_^1_(INA_%-1_^1_%SAZ M3-2_)COMMA NEXT_^1_(LDA-_$AM,I_^1_%SAP M3-1_)ONE WORD_^1_(LDA-_$W2,I_0TWO WORDS_^1_(STA-_$W1,I_^1_(LDA-_$AR,I_^1_(STA-_$RC,I_02ND WD RELOCATION_^1_(STA-_$AM,I_^1_(JMP*_$M1+1_0GO AGAIN_^1_(JMP*_€€$(M1)_^1_(JMP*_$(M+9)_^1M3_%LDQ-_$RC,I_^1_(SQZ_%4_^1_(ENQ_%6_3RELOCATION ERROR_^1_(JMP*_$*+2_^1_(ENQ_%1_^1_(RTJ*_$(M+4)_^1_(LDA*_$M5+5_^1_(AND-_$AX,I_^1_(EOR-_$W1,I_^1_(STA-_$W1,I_^1_(JMP*_$M2_^1MK_#SQN MKB_^1_(LDA-_$CS,I_^1_%SAN MKA_^1_(LDA-_$AX,I_^1_(ALS_%1_^1_(ARS_%1_^1_(SAP_%1_^1_(TCA_%A_^1_(LDQ*_$M5+6_^1_(LAQ_%A_^1_(STA-_$CS,I_^1MKA_"LDQ* M5+5_)CLASS 3 COMMAND_^1_(JMP*_$*+4_€€^1MKB_"INQ -1_^1_(SQN_%2_^1_(ENQ_%$1F_1CLASS 4 COMMAND_^1_(JMP*_$MK1_^1_%LDQ- TR+3,I_L41*598_^1_%INQ -1_P41*598_^1_%SQZ 3_,ONE ABS. SYMB. FOUND_041*598_^1_%LDQ- RC,I_N41*598_^1_%SQZ MK2-*-1_%ABSOLUTE RELOCATION_141*598_^1_%JMP* *+3_O41*598_^1_%LDQ- RC,I_N41*598_^1_%SQN MK2-*-1_%BAD RELOCATION_641*598_^1_(SUB-_$PC,I_0CALCULATED SKIP_^1_(INA_%-1_^1_(STA-_$AX,I_^1_(SAP_%1_^1_(JMP€€*_$M2B+2_^1_(LDA-_$RC,I_^1_(SUB-_$RM,I_^1_(STA-_$RC,I_^1_(LDA-_$AX,I_^1MK2_$INA_%-$10_0SKIP CPMMAND_^1_(SAM_%2_^1_(ENQ_%1_^1_(RTJ*_$(M+4)_/ADDRESS ERROR_^1_(ENQ_%$F_^1MK1_$LDA-_$AX,I_^1_(LAQ_%A_3MASK ADDRESS_^1_(EOR-_$W1,I_^1_(STA-_$W1,I_^1_(LDA-_$RC,I_^1_(ADD- CS,I_^1_(SAZ_!1_^1_(JMP* M2B+2_,ERROR_^1_(JMP*_$M1+1_^1REGP_#RAO-_$IG,I_0IGNORE BLANKS_^1_(RTJ* (M+7)_!PICK UP NEXT CHA€€R_^1_(SAN_%1_^1_(JMP*_$M1+1_0BLANK FIELD_^1_(INA_!-$10_^1_(SAN_%4_^1_(RTJ*_$(M+7)_/ZERO FIELD_^1_(SAZ_%1_^1_(JMP* M2B+2_!ERR NO BLANK NEXT_^1_(JMP*_$M1+1_^1_(ENQ_%0_^1_(STQ-_$TR+1,I_^1_(STQ-_$TR+2,I_^1_(STQ-_$TR+4,I_^1REGPAA INA -$11_^1_(SAN_%2_^1_(ENQ_!4_%A IS DESTINATION REGISTER_^1_%JMP* REGPA_^1_(INA_%-$C_^1_(SAN_%2_^1_(ENQ_!1_%M IS DESTINATION REGISTER_^1_%JMP* REGPA_^1_(INA€€_%-$4_^1_(SAZ_!1_%Q IS DESTINATION REGISTER_^1_(JMP*_$M2B+2_/ADDRESS ERROR_^1_(ENQ_%2_^1REGPA LDA- TR,B_^1_(SAZ_%1_^1_(JMP*_$M2B+2_/REG DEFINED TWICE_^1_(STQ-_$TR,B_^1_(ADQ-_$W1,I_^1_(STQ-_$W1,I_^1_(RTJ*_$(M+7)_/PICK UP NEXT CHAR_^1_(SAZ_%3_3BLANK NEXT_^1_(INA_%-$C_^1_(SAZ_%2_3COMMA NEXT_^1_%JMP* REGPA+2_^1_(JMP*_$M1+1_^1_(RTJ*_$(M+7)_/PICK UP NEXT CHAR_^1_(INA_%-$10_^1_%JMP* REGP€€AA_'GO AGAIN_^1DOUT_#ADC_%0_^1_(STA*_$DISKWR+6_^1_(STQ*_$DISKWR+8_^1_(ENA_%0_^1_%STA- DSW,I_^1DISKWR RTJ- (REQPRO)_$FWRITE REQUEST._^1_(ADC_!$4C00_I**MSOS 4.0_^1_%ADC COWR_^1_(ADC_%0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1DISKW5_!ADC_!0_M**MSOS 4.0_^1_(ADC_%0_^1_(ADC_%0_^1_(ADC_%0_^1_(JMP*_$(DOUT)_^1DIN_$ADC_%0_^1_(STA*_$DISKRD+6_^1_(STQ*_$DISKRD+8_^1_(ENA_%0_^1_%STA- DSWW,I_^1DISKR€€D RTJ- (REQPRO)_$FREAD REQUEST._^1_(ADC_!$4800_I**MSOS 4.0_^1_%ADC CORD_^1_(ADC_%0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1DISKR5_!NUM_%96_^1_(ADC_%0_^1_(ADC_%0_^1_(ADC_%0_^1DSTAT2 LDA- DSWW,I_^1_%SAN 1_^1_%JMP* DSTAT2_^1_(ENA_%96_2RESTORE RECORD LENGTH_^1_(STA*_$DISKRD+5_^1_(JMP*_$(DIN)_^1VFD_"ENA 0_^1_(STA-_$VCT,I_/NUMBER OF BITS IN CURRENY BYTE_^1_(STA-_$W1,I_0OUTPUT WORD_^1_(EN€€A_%-0_^1_(STA-_$VBT,I_/NUMBER OF BITS NOW IN OUTPUT WOR_^1_(RAO-_$AD,I_0ONE WORD TO BE GENERATED (AXPR)_^1VF3C_#ENA_%0_^1_(STA-_$VMS,I_/MODE SWITCH_^1_(STA-_$EX,I_0RXTERNAL SWITCH_^1_(STA-_$RC,I_0RELOCATION_^1_(STA-_$AX16,I_^1_(STA-_$NS,I_^1_(STA-_$LP,I_0LEFT PARENTHESIS COUNTER_^1VF8C_#RTJ+_$CHPU_^1_(SAN_%1_^1_(JMP*_$VF2C_0BLANK HERE_^1_(INA_%-$C_^1_(SAN_%1_^1_(JMP*_$VF8C_^1_(INA_€€%-$15_^1_(SAZ_%2_3MODE IS A_^1_(RAO-_$VMS,I_^1_(INA_%-$D_^1_(SAZ_%2_3MODE IS N_^1_(RAO-_$VMS,I_^1_(INA_%-$A_^1_(SAZ_%VF1CA-*-1_+MODE IS X_^1VF1C_#ENQ_%1_3ILLEGAL MODE_^1_(RTJ+_$ER_^1_(ENA_%0_3FORCE_^1_(STA-_$VWD,I_/THIS_^1_(STA-_$VCT,I_/WORD_^1_(STA-_$EX,I_^1_(ENA_%16_2OUT_^1_(STA-_$VBT,I_^1_(RTJ*_$VFSB1_/FORM OUTPUT WORD_^1VF1CB_"ENA_%0_^1_(STA-_$NS,I_^1_(STA-_$AX16,I_^1_(JMP_%NEX€€T_0EXIT_^1VF1CA_"RTJ+_$CHPR_^1_(SAN_%5_3ERR FROM CHPR_^1_(LDA-_$CS,I_^1_(INA_%-5_^1_(SAN_%2_3ERR, NO SLASH NEXT_^1_(LDA-_$NU,I_^1_(SAN_%1_^1_(JMP*_$VF1C_0ERR, NO BIT COUNT_^1_(STA-_$VCT,I_/SAVE NO. OF BITS_^1_(LDQ-_$VMS,I_^1_(JMP*_$*+1,Q_^1_(JMP*_$VFA_^1_(JMP*_$VFN_^1VFX_$INA_%-16_^1_(SAZ_%2_^1_(SAM_%3_^1_(JMP*_$VF1C_0ERR, BIT COUNT GREATER TNAN 16_^1_(RAO-_$AX16,I_.FLAG 16-BIT ARI€€THMETIC_^1_%RAO- NS,I_^1_(ENA_%-3_^1_(STA-_$AM,I_^1_(RTJ+_$AXPR_0EVALUATE EXPRESSION_^1_(STA-_$VWD,I_^1_(LDA-_$MD,I_$ARE WE IN A MACRO..._^1_(SAZ_%VF4A_'NO, CONTINUE ON_^1_(LDA-_$LT,I_'YES, TEST FOR LITERAL EXPRESSION_^1_(SAZ_%VF4C_$NO LITERAL, SKIP SYNTAX, RELOCATION CHECKS_^1_(RAO*_$VFDLIT_"SET SW FOR RETURN FROM MAPR_^1_(JMP_%M4_'LET MAPR HANDLE LITERAL, THEN RETURN_^1_(BZS_%VFD€€LIT(1)_+VFD LITERAL FLAG_^1VF4A_#LDA-_$LP,I_$CHECK FOR BAD SYNTAX IN EXPRESSION_^1_(SAZ_%1_^1_(JMP*_$VF1C_$ERROR IN EXPRESSION_^1_(LDA-_$AX16,I_"TEST RELOCATION_^1_%SQZ VF4C_^1_%SAZ VF4C_^1_(ENQ_%6_(RELOCATION ERROR_^1VF4B_#RTJ*_$(VF1C+2) CALL ERROR ROUTINE_^1_(ENA_%0_^1_(STA-_$VWD,I_^1VF4C_#LDQ-_$VCT,I_/FORM MASK_^1_(INQ_%-16_^1_(SQP_%VF2CA-*-1_^1_(INQ_%16_^1_(ENA_%1_3FOR BYTE_€€^1_(INQ_%-1_^1_(SQZ_%3_^1_(ALS_%1_^1_(INA_%1_^1_(JMP*_$*-4_^1_(AND-_$VWD,I_^1_(STA-_$VWD,I_^1VF2CA_"RTJ*_$VFSB1_^1VF2C_#LDA-_$CS,I_^1_(SAZ_%4_3BLANK TERMINATOR_^1_(INA_%-1_^1_(SAN_%1_^1_(JMP*_$VF3C_0TERMINATOR COMMA_^1_(JMP*_$VF1C_0ILLEGAL TERMINATOR_^1_(LDA-_$VBT,I_^1_(SAZ_%2_^1_(SAM_%2_^1_(JMP*_$VF1C+3_.FORCE LAST WORD OUT_^1_(JMP*_$VF1CB_/EXIT_^1_(JMP_%IGNORE_^1VFN_$INA_%-17_^1_€€(SAM_%1_^1_(JMP*_$VF1C_0ERR, N GT 16_^1_(RAO-_$NS,I_^1_(RTJ*_$(VF1CA+1)_+TO CHPR_^1_(SAN_%1_3ERR FROM CHPR_^1_%SQZ VF5CA_^1VF5C_#ENQ_%1_3ERR, V IS SY8BOLIC_^1_(RTJ*_$(VF1C+2)_,ERR, V IS SYMBOLIC_^1_(ENA_%0_^1_(STA-_$VWD,I_^1_(JMP*_$VF4C_^1VF5CA LDA- NU,I_^1_(LDQ-_$SG,I_0CIMPLEMENT IF_^1_(SQP_%1_3LEADING MINUS_^1_(TCA_%A_^1_%JMP* VF5CA-2_^1VFA_$STA-_$NS,I_^1_(TRA_%Q_^1_(ENA_%0_^1_€€(LRS_%3_3Q REG IS ZERO HERE_^1_(SAZ_%1_^1_(JMP*_$VF1C_0BIT CT NOT DIVISIBLE BY 8_^1_(ENA_%8_^1_(STA-_$VCT,I_/SET BIT COUNT FOR THIS BYTE_^1_(RTJ+_$ALFSB2_.GET CHARACTER_^1_(STQ-_$VWD,I_^1_(RTJ*_$VFSB1_/FORM OUTPUT WORD_^1_(LDA-_$NS,I_^1_(INA_%-8_^1_(SAZ_%1_^1_(JMP*_$VFA_1NOT FINISHED GO AGAIN_^1_(RTJ+_$CHPU_^1_(SAZ_%2_^1_(INA_%-$B_^1_(STA-_$CS,I_^1_(JMP*_$VF2C_^1VFSB1_"ADC_%0_^1_(L€€DQ-_$VBT,I_#LOAD TOTAL BIT COUNT_^1_%INQ 0_,CLEAR INITIALIZED VALUE OF -0_^1_(LDA-_$EX,I_^1_(SAZ_%3_^1_(INA_%-1_2EXTERNAL_^1_(SAZ_%VFSB2-*-1_+NON-RELATIVE_^1_(JMP*_$VFSB3_^1_(LDA-_$RC,I_^1_(SAN_%1_3RELOCATABLE_^1_(JMP*_$VFS1_0ABSOLUTE_^1VFSB2_"LDA-_$VCT,I_#LOAD CURRENT BIT COUNT_^1_(INA_%-15_^1_(SAN_%3_^1_(INQ_%-1_^1_%SQN VF6C_^1_(JMP*_$VFS1_^1VFSB3_"LDA-_$VCT,I_^1_(INA_%-16_^1_(€€SAN_%1_^1_(SQZ_%VFS1-*-1_^1VF6C_#ENQ_%1_^1_(RTJ+_$ER_^1VFS1_#ENA_%16_^1_(SUB-_$VCT,I_^1_(SUB-_$VBT,I_^1_(TRA_%Q_^1_(SQM_%1_^1_(JMP*_$VFS2A_/VWD WILL FIT IN W1_^1_(TCQ_%Q_^1_(STQ-_$VCT,I_^1_(ENA_%1_3FORM MASK FOR_^1_(INQ_%-1_2BITS NOT WANTED_^1_(SQZ_%3_3IN TNIS WORD_^1_(ALS_%1_^1_(INA_%1_^1_(JMP*_$*-4_^1_(TCA_%Q_^1_(STQ-_$TR,I_0SAVE COMPLEMENT OF MASK_^1_(AND-_$VWD,I_^1_(LDQ-_$VWD,I€€_^1_(STA-_$VWD,I_/SAVE REMAINDER OF WORD_^1_(TRQ_%A_^1_(LDQ-_$TR,I_^1_(LAQ_%A_3MASK OFF BITS FOR THIS BYTE_^1_(TCQ_%Q_3COUNT BITS TO BE SHIFTED OUT_^1_(QRS_%1_^1_(ALS_%15_^1_(SQZ_%1_^1_(JMP*_$*-3_^1_(ENQ_%16_^1_(STQ-_$VBT,I_/OUTPUT WORD IS FULL_^1_(JMP*_$VFS2B_^1VFS2A_"LDA-_$VBT,I_^1_(ADD-_$VCT,I_^1_(STA-_$VBT,I_^1_(LDA-_$VWD,I_^1_(SQZ_%3_^1_(ALS_%1_^1_(INQ_%-1_^1_(JMP*_$*-3_^1_(ST€€Q-_$VCT,I_^1VFS2B_"EOR-_$W1,I_^1_(STA-_$W1,I_^1_(LDA-_$VBT,I_^1_(INA_%-16_^1_(SAZ_%1_3WORD IS FULL_^1_(JMP*_$(VFSB1)_^1_(STA-_$VBT,I_^1_(RTJ+_$LDCP_0PRINT AND PUNCH_^1_(RTJ+_$RBPK_^1_(RTJ+_$UP1_^1_(ENA_%0_^1_(STA-_$W1,I_^1_(LDA-_$VCT,I_^1_(SAN_%1_^1_(JMP*_$(VFSB1)_-FINISHED WITH THIS BYTE_^1ENDVFD_!JMP*_$VFS1_^1*FIXED POINT DECIMAL CONVERSION ROUTINE_^1*TEMPORARY STORAGES USED ARE €€AS FOLLOWS_^1*_'NU=HOLD FOR CONSTANT VALUE_^1*_'SG=HOLD FOR SIGN OF CONSTANT_^1*_'TR= USED FOR TEMPORARY STORAGE WITHIN THE RTN_^1*_'TR+6=EXPONENT SWITCH IN DTERM AREA_^1*_'TR+1=BINARY EXPONENT VALUE_^1*_'TR+2=DECIMAL EXPONENT VALUE_^1*_'TR+3=DIVIDEND SCALE FACTOR_^1*_'TR+4=DIVISOR SCALE FACTOR_^1DEC_"ENA 0_^1_(ENQ_!6_^1_(STA- TR,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(RTJ* AN€€UMBS_'GET LEADING SIGN IF ANY_^1_(STA- SG,I_^1_(JMP* DEC3_^1DEC1_#ENQ_!1_,ERROR INX_^1DEC1A_"RAO- ES,I_)SET ERROR SWITCH_^1_(RTJ+ ER_^1DECSLW_!LDA- CS,I_)SLEW TO COMMA OR BLANK_^1_(SAZ_!4_,BLANK_^1_(INA_!-$C_^1_(SAZ_!2_,COMMA_^1_(RTJ* (ANUMBS+2) CHPU_^1_(JMP* DECSLW_^1_(STA- NU,I_^1_(STA- SG,I_^1_(JMP* DEC3A_(EXIT TO OUTPUT_^1DEC3_#RTJ* ANUMBC_'GET CONVERTED VALUE_^1_(ST€€A- NU,I_)OF NUMBER_^1_(LDQ- CS,I_^1_(SQZ_!2_,BLANK_^1_(INQ_!-$C_*COMMA_^1_(SQN_!2_,NO_^1DEC3A_"JMP_!FXT5_)EXIT TO OUTPUT_^1_(INQ_!-$16_^1_(SQZ_!DTERM+1-*-1_!B IS TERMINATOR_^1_(INQ_!-2_^1_(SQN_!DTRM1-*-1_#ERROR_^1DTERM_"ENQ_!1_^1_(STQ- TR+6,I_'SW FOR B OR D TERM_^1_(RTJ* ANUMBS_'GET SIGN OF EXPONENT_^1_(STA- TR,I_)SAVE SIGN_^1_(RTJ* ANUMBC_'GET EXP VALUE_^1_(LDQ- TR+6,I_^1_%€€SQN DTRM1+1_^1_(TRA_!Q_,PROCESSING B_^1_(INQ_!-100_^1_(SQM_!1_^1DTRM1_"JMP* DEC1_^1_(LDQ- TR,I_^1_(SQP_!1_^1_(TCA_!A_^1_(LDQ- TR+6,I_^1_(STA- TR+1,B_^1_(LDA- CS,I_^1_(SAZ_!2_,TERMIN BLANK_^1_(INA_!-$C_^1_(SAN_!1_,COMMA_^1_(JMP* ENDTRM_'YES_^1_(INA_!-$16_^1_(SAN_!3_,ERROR_^1_(SQZ_!2_,ERROR_^1_(TRA_!Q_,B IS TERMIN_^1_(JMP* DTERM+1_%GO BACK_^1_(JMP* DEC1_^1ANUMBS_!ADC_!0_^1_(€€RTJ+ CHPU_^1_(INA_!-$B_*PLUS_^1_(SAZ_!ANUMA-*-1_#YES_^1_(INA_!-2_+MINUS_^1_(SAN_!2_,NO_^1_(ENA_!-1_^1_(JMP* (ANUMBS)_^1_(LDA- CT,I_^1_(INA_!-1_^1_(STA- CT,I_^1ANUMA_"ENA_!0_^1_(JMP* (ANUMBS)_^1ANUMBC_!ADC_!0_^1_(ENA_!0_^1_(STA- SY,I_^1_(STA- XMOD,I_^1AXLOP_"RTJ* (ANUMBS+2) CHPU_^1_(LDQ- XMOD,I_^1_(INA_!-$10_^1_(SAM_!2_,NOT NUMERIC_^1_(INA_!-$A_^1_(SAM_!2_,IS NUMERIC_^1AXT_€€$LDA- SY,I_^1_(JMP* (ANUMBC)_^1_(INA_!$A_+CONVERT TO NUMBER_^1_(SQN_!3_^1_(STA- SY,I_)INITIAL MODE_^1_(RAO- XMOD,I_'SET NUMERIC MODE_^1_(JMP* AXLOP_^1_(STA- CS,I_^1_(ENA_!0_^1_(LDQ- SY,I_^1_(QLS_!1_^1_(SQM_!AXO-*-1_%OVERFLOW_^1_(STQ- SY,I_^1_(LLS_!2_^1_(SAN_!AXO-*-1_%OVERFLOW_^1_(SQM_!AXO-*-1_%OVERFLOW_^1_(ADQ- SY,I_^1_(SQM_!AXO-*-1_%OVERFLOW_^1_(ADQ- CS,I_^1_(SQM_!AXO-*-€€1_^1_(STQ- SY,I_^1_(JMP* AXLOP_^1AXO_$ENQ_!7_,ERR CODE FOR OVERFLOW_^1_(JMP* DEC1A_^1ENDTRM_!LDA- NU,I_)IS THIS ZERO_^1_(SAN_!1_,NO_^1_(JMP* FXT5_)EXIT TO OUTPUT_^1_(LDA- TR+2,I_'ANY D VALUE_^1_(SAN_!1_^1_(JMP* FXT13_(NO_^1_(SAP_!1_^1_(JMP* FXT1_)NEG D EXPONENT_^1_(ENQ_!1_^1_(STQ- XMOD,I_^1FX1A_#INA_!-5_^1_(SAP_!1_^1_(JMP* FX1B_^1_(ENQ_!4_^1_(STQ- TR+6,I_^1_(LDA* P10,Q_€€^1_(LDQ- XMOD,I_^1_(SQN_!1_^1_(JMP* FXT1A_^1_(MUI- NU,I_^1_(SQN_!1_^1_(SAP_!1_^1_(JMP* AXO_*ERR-OVERFLOW_^1FX1C_#STA- NU,I_^1_(LDA- TR+2,I_^1_(SUB- TR+6,I_^1_(STA- TR+2,I_^1_(SAZ_!FXT13-*-1_^1_(JMP* FX1A_^1FX1B_#LDQ- TR+2,I_^1_(JMP* FX1A+4_^1FXT13_"LDA- TR+1,I_'B VALUE_^1_(TCA_!A_^1_(ADD- TR+3,I_^1_(SUB- TR+4,I_^1_(SAP_!1_^1_(JMP* FXT4_^1_(STA- TR,I_)SHIFT COUNT_^1_€€(INA_!-15_^1_(SAM_"2_^1_(ENA_!0_,UNDERFLOW_^1_(JMP*_$FXT5-1_^1_(LDA- NU,I_^1_(LDQ- TR,I_^1_(SQZ_!3_^1_(ARS_!1_^1_(INQ_!-1_^1_(JMP* *-3_^1_(STA- NU,I_^1FXT5_#LDQ- SG,I_^1_(LDA- NU,I_^1_(SQP_!1_^1_(TCA_!A_^1_(STA- W1,I_^1_(LDA- CS,I_^1_(SAZ_!2_^1_(ENA_!1_^1_(STA- CS,I_^1_(RTJ+ M1_^1_%JMP DEC_^1FXT4_#TCA_!A_^1_(STA- TR,I_^1_(INA_!-15_^1_%SAP_#5_^1_(LDA- NU,I_^1_(LDQ- TR,€€I_^1FXT4A SQZ P10-1_^1_(ALS_!1_^1_(SAP_!1_^1_(JMP* AXO_^1_(INQ_!-1_^1_%JMP* FXT4A_^1_(JMP* FXT5-1_^1P10_$NUM_!1_,1D0_^1_(NUM_!10_+1D1_^1_(NUM_!100_*1D2_^1_(NUM_!1000_)1D3_^1_(NUM_!10000_(1D4_^1FXT1_#TCA_!A_^1_(STA- TR+2,I_^1_(ENQ_!0_^1_(STQ- XMOD,I_^1_(JMP* FX1A_^1FXT1A_"ALS_!1_^1_(SAM_!2_^1_(RAO- TR+4,I_'DIVISOR SCALE FACTOR_^1_(JMP* *-3_^1_(ALS_!15_+NUMBER SCALED TO BIT €POS 14_^1_(STA- TR,I_)SAVE DIVISOR_^1_(LDA- NU,I_^1_(ALS_!1_^1_(SAM_!2_^1_(RAO- TR+3,I_'DIVIDEND SCALE FACTOR_^1_(JMP* *-3_^1_(LDQ- TR+3,I_^1_(INQ_!14_^1_(STQ- TR+3,I_^1_(ENQ_!0_^1_(LLS_!13_^1_(DVI- TR,I_^1JJ69_#JMP*_$FX1C_^1_%BZS JJ68(220-JJ69+DEC)_^1_(END_^__ PTABLST CSY/ A09 P€1_%NAM TABLST_'DECK-ID A09 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1*_'PROGRAM BASE-MACRO ASSEMBLER 2.0_4**MSOS 4.0_^1_(ENT_%PASS4_^1PS_#EQU PS(4)_(READ FOR XREF_7MSOS4.1_^1STDSCR EQU STDSCR($B3)_^1STDLGO EQU STDLGO($E4)_^1REQPRO EQU REQPRO($F4)_€€^1STDOUT EQU STDOUT($FA)_^1STDPRT EQU STDPRT($FB)_^1STDOCD EQU STDOCD($FC)_^1DISP_!EQU DISP($EA)_^1_(EQU_%ST(1),ET(ST+1),PSW(ET+1),PB(PSW+1)_^1_%EQU DSW(PB+49),DSWW(DSW+1)_^1_%EQU TSW(DSWW+1),CSW(TSW+1),SECTNO(CSW+1)_^1_%EQU_#PNAM(SECTNO+1)_^1_%EQU_#WMS(PNAM+3),CSYSCT(WMS+1)_^1_(EQU_%SCOUNT(CSYSCT+1),XSYSCT(SCOUNT+1)_^1_(EQU_%CC(XSYSCT+1),DC(CC+1)_^1_(EQU_%PC(DC+1),DX(PC+1),L€€A(DX+2),W1(LA+4),W2(W1+1)_^1_(EQU_%AD(W2+1),AF(AD+1),AM(AF+1),CL(AM+1),EX(CL+1)_^1_(EQU_%RC(EX+1),AX(RC+1),LC(AX+1),AU(LC+1),AR(AU+1)_^1_(EQU_%TR(AR+1),SY(TR+7),NU(SY+4),SG(NU+1),RP(SG+1)_^1_(EQU_%HX(RP+1),XMOD(HX+1),LT(XMOD+1),ES(LT+1),LP(ES+1)_^1_(EQU_%IG(LP+1),NS(IG+1),IS(NS+1),CT(IS+1),CS(CT+1)_^1_(EQU_%IL(CS+1),MD(IL+1),ID(MD+1),SKF(ID+1)_^1_(EQU_%BS(SKF+1)_^1_%EQU AUB(BS+1)_€€^1_%EQU UB(AUB+57)_^1_(EQU_!LN(UB+57),OR(LN+1),OC(OR+1)_^1_(EQU_!AS(OC+1),SC(AS+1),SS(SC+1)_^1_(EQU_%WC(SS+1),RM(WC+1)_^1_(EQU_%YL(RM+1),SZ(YL+1)_^1_(EQU_%PER(SZ+1)_^1_(EQU_%VBT(PER+1),VMS(VBT+1),IFNAM(VMS+1)_^1_(EQU_%MPSW(IFNAM+1)_^1_(EQU_%VCT(MPSW+1),VWD(VCT+1)_^1_(EQU_%AX16(VWD+1)_^1_(EQU_%ETSAVE(AX16+1)_^1_(EQU_%DVFL(ETSAVE+1)_^1_(EQU_%PAGL(DVFL+1)_^1_(EQU_%SL(PAGL+1)_^1_(COM_€€%CONS(SL+1)_^1_(COM_%FST_^1_%COM L,P,X,C,MM,ILSCST,SRSCST,ILSCND_3MSOS4.1_^1_(COM_%ERC_^1_%COM LGSECT_^1_%COM SYRFTS(96)_"SECT.REF.TBL.SYMBOLS_0MSOS4.1_^1_%COM SYCADM_'ADDR.TO SECT.REF.TBL.SYMBOLS_(MSOS4.1_^1_%COM SYEXT_MMSOS4.1_^1_%COM SYINDM_LMSOS4.1_^1_%COM SYTRFM_'ENTRY ADDR.REF.TBL.SYMBOLS_*MSOS4.1_^1_%COM SYTRFD_'1ST ADDR.REF.TBL.SYMBOLS-DISK_'MSOS4.1_^1_%COM APASS1,€€APASS2,APASS3,ATBLST,AXREF,PAGE_,MSOS4.1_^1_%COM PS1W2,PS2W2,PS3W2,PS4W2,PS5W2_5MSOS4.1_^1ASSEM_"ENQ_!PS_^1_(SQP_!MA1-*-1_^1_(ENA_!0_^1_(STA_!FST_^1_%ENQ 4_QMSOS4.1_^1_%STA APASS1,Q_JMSOS4.1_^1_%STA PS1W2,Q_KMSOS4.1_^1_%SQZ 2_QMSOS4.1_^1_%INQ -1_PMSOS4.1_^1_%JMP* *-6_OMSOS4.1_^1MA1_$LDA_!=XPS1ALF-FILE-1_@**MSOS 4._^1_(JMP* *+1,Q_^1_(INA_!-3_^1_(INA_!-3_^1_(INA_!-3_^1_%INA -€€3_PMSOS4.1_^1_%INA 12_PMSOS4.1_^1GETFIL_!STA* FILE+8_^1_(ENA_!0_^1_(STA* FILE1_^1*_81 CARD DELETED_6MSOS4.1_^1_(STA* CSWW_^1ICIT_!ENQ PS_PMSOS4.1_^1_%LDA APASS1,Q_JMSOS4.1_^1_%STA* FILE2_MMSOS4.1_^1_%LDA PS1W2,Q_KMSOS4.1_^1_%STA* FILE+7_LMSOS4.1_^1FILE_!RTJ- (REQPRO)_$GTFILE REQUEST._^1_(NUM_!$5A00_I**MSOS 4.0_^1_(ADC_!COO_^1_(ADC_!0_^1_(ADC_!$8C2_^1_(ADC_!0_^1_(ADC_!ASSEM_^1€€_(ADC_!0_^1_(ADC_!0_^1FILE1_"ADC_!0_^1FILE2_"ADC_!0_^1_(LDA* CSWW_^1_(SAN_!1_^1_(JMP* *-2_^1_%ENQ PS_PMSOS4.1_^1_%LDA* FILE2_MMSOS4.1_^1_%STA APASS1-1,Q_HMSOS4.1_^1_%LDA* FILE+7_LMSOS4.1_^1_%STA PS1W2-1,Q_IMSOS4.1_^1_(RTJ* *+1_^1ASSEM1_!ADC_!0_^1_(LDA* ASSEM1_^1_(SUB* ASMADC_^1_(SAN_!1_^1_(JMP* ENDASB_^1_%LDA* ASSEM1_'SET STARTING ADDRESS IN REQUEST_'68*1500_^1_%INA APUNT€€1_'ABSOLUTE ADDRESS OF PUNT1_-68*1500_^1_%STA* APUNT_O68*1500_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(ADC_!$4C00_I**MSOS 4.0_^1_(ADC_!0_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_%6_^1APUNT ADC_#0_P68*1500_^1_%JMP- (DISP)_'EXIT_^1PUNT1_"ALF_%6,ABS BASE ERR_^1APUNT1 EQU APUNT1(PUNT1-ASSEM1)_@68*1500_^1ASMADC_!ADC_!ASSEM1_^1_(BZS_!CSWW_^1COO_$ENA_!1_^1_(STA* CSWW_^1_%JMP€€- (DISP)_'EXIT_^1PS1ALF_!ALF_!3,PASS1_^1PS2ALF_!ALF_!3,PASS2_^1PS3ALF_!ALF_!3,PASS3_^1PS4ALF_!ALF 3,TABLST_G**MSOS 4.0_^1PS5ALF ALF 3,XREF_LMSOS4.1_^1MA5_$ADC_%0_^1_(EQU_%ENDASB(MA5+1)_^1PASS4_"LDA-_$I_/SAVE VALUE OF I-REG_^1_(STA*_$JJJ_-*_^1_%ENA 1_^1_(STA- CSW,I_^1_%STA- DSW,I_^1_%STA- DSWW,I_^1_%STA- PSW,I_^1_%ENA 0_QMSOS4.1_^1_%STA* TOPFLG_LMSOS4.1_^1_(LDA_%P_^1_(SAN_%1_/SK€€IP IF PUNCHING RELO OUTPUT_^1_(JMP*_$TESTPR_^1_%RTJ- (REQPRO)_$STATUS REQUEST._^1_%NUM $4600_^1_%VFD N3/0,N1/0,N2/2,X10/STDOUT_^1_%NUM 0_^1_(SQP_%1_^1_(JMP*_$*-5_^1_(TRQ_%A_^1_(AND*_$JJ3_-MASK TO LEAVE ONLY EQUIP CODE_^1_(ALS_%5_^1_%INA -1_+IS STD. PUNCH MAG TAPE_^1_%SAZ MAGTAP_'YES_^1_%INA -3_+NO, IS STD. PUNCH PAPER TAPE_^1_%SAN TESTPR_'NO, PUNFLG IS SET FOR OTHER_^1_%ENA €€ -1_+YES, SET PUNFLG FOR PAPER TAPE_^1_%JMP* STAPUN_^1MAGTAP ENA 1_,SET PUNFLG FOR MAG TAPE_^1STAPUN STA* PUNFLG_^1TESTPR LDA L_,IS LIST OPTION SET_^1_%SAN TESPRA_'YES_^1_%JMP* TESTDN_'NO, CONTINUE_^1*_'STATUS_"$FB,,I_**STATUS ON STANDARD PRINT DEVICE_^1TESPRA RTJ- ($F4)_(*_^1_%NUM $4600_^1_(NUM_%$8FB_,*_^1_(NUM_%0_/*_^1_(SQP_%1_^1_%JMP* TESPRA_^1_(TRQ_%A_^1_(AND*_$JJ3_-MASK TO€€ LEAVE ONLY EQUIP CODE_^1_(ALS_%5_^1_%INA_!-1_^1_%SAN ISNOMT_'IS STD. PRINTER MAG TAPE_^1_%JMP* JPRNMT_'YES_^1ISNOMT INA -5_+NO, IS STD. PRINTER TTY_^1_%SAZ SETLNS_'YES, SET TTY LINE SIZE_^1_%ENA 0_,NORMAL CARRIAGE CONTROL_^1_%STA* JJ5_^1_%JMP* TESTDN_^1JPRNMT LDA =N$3120_%SET PJECT FOR MAG TAPE_^1_%STA* PJECT_^1_%ENA -1_+SET PRNFLG FOR MAG TAPE_^1_%STA* PRNFLG_^1SETLNS ENA €€36_+SET PRINT LINE FOR TTY MODE_^1_%STA CRXX_^1_%STA_!LNLGTH_^1TESTDN LDA* JJJ_*RESTORE I-REG_^1_%STA- I_^1_%RTJ* EJECT_(PAGE EJECT BETWEEN LIST AND SYM TAB_^1_%JMP PASS41_LMSOS4.1_^1JJJ_$NUM_%0_^1JJ3_"NUM $3800_^1PJECT_"NUM_%$000C_"CHAR FOR PAGE EJECT CARR CONTROL_^1JJ5_$NUM_%$2020_"CHAR FOR NORMAL CARRIAGE CONTROL_^1PRNFLG_!NUM_%0_'FLAG WHICH TELLS WHAT EQUIP ST PRINT IS_^1* V€€ALUES OF PRNFLG -1 OUTPUT IS MAG TAPE, 0 IS OTHER_^1PUNFLG_!NUM_%0_'FLAG WHICH TELLS WHAT EQUIP ST PUNCH IS_^1* VALUES OF PUNFLG -1 PUNCH IS PAPER TAPE, 1 IS MAG TAPE, 0 IS OTHER_^1CARCON_!NUM_%0_^1TOPFLG NUM 0_QMSOS4.1_^1PAGEJ_"NUM_%56_^1EJECT_"ADC_%0_^1_(LDA_%L_^1_(SAN_%1_,SKIP IF PRINTING_^1_(JMP*_$(EJECT)_^1_%LDA- PAGL,I_LMSOS4.1_^1_%SAN DONEXT_LMSOS4.1_^1_%RTJ TITLE_(TOP-€€OF-FORM HREDING_1MSOS4.1_^1DONEXT LDA* JJ5_OMSOS4.1_^1_%STA* CARCON_LMSOS4.1_^1_(LDA-_$PSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1*_88 CARDS DELETED_4MSOS4.1_^1EJT2_!LDA_#=XCONS+PB_^1_%ENQ_#20_^1JPWT_!RTJ+_"WRIT_^1_%RAO- PAGL,I_LMSOS4.1_^1_(LDA*_$JJ5_*RESTORE CARRIAGE CONTROL_^1_(STA*_$CARCON_^1_(ENQ_%20_^1_(LDA_%=N$2020_%SET BUFFER TO BLANKS_^1_(STA-_$PB,B_)*_^1_(SQZ_%2_^1_(INQ_$-1_^1_(JMP€€*_$*-3_^1_%RTJ*_"EJT3_^1_%LDA*_"EJT2+1_^1_%ENQ_#1_^1_%RTJ*_"(JPWT+1)_^1_%RAO- PAGL,I_LMSOS4.1_^1_%RTJ*_"EJT3_^1_%LDA* TOPFLG_LMSOS4.1_^1_%SAZ PGMHDR_LMSOS4.1_^1_%JMP* (EJECT)_KMSOS4.1_^1PGMHDR LDA- PC,I_NMSOS4.1_^1AHEXC RTJ+ HEXC_NMSOS4.1_^1_%STQ* PGMHX_MMSOS4.1_^1_%STA* PGMHX+1_KMSOS4.1_^1_%LDA- PC,I_NMSOS4.1_^1_%LDQ =XPGMDC_KMSOS4.1_^1ADECVT RTJ+ DECVT_MMSOS4.1_^1_%LDA- CC,I_N€€MSOS4.1_^1_%RTJ* (AHEXC+1)_IMSOS4.1_^1_%STQ* COMHX_MMSOS4.1_^1_%STA* COMHX+1_KMSOS4.1_^1_%LDA- CC,I_NMSOS4.1_^1_%LDQ =XCOMDC_KMSOS4.1_^1_%RTJ* (ADECVT+1)_HMSOS4.1_^1_%LDA- DC,I_NMSOS4.1_^1_%RTJ* (AHEXC+1)_IMSOS4.1_^1_%STQ* DATHX_MMSOS4.1_^1_%STA* DATHX+1_KMSOS4.1_^1_%LDA- DC,I_NMSOS4.1_^1_%LDQ =XDATDC_KMSOS4.1_^1_%RTJ* (ADECVT+1)_HMSOS4.1_^1_%ENA 1_QMSOS4.1_^1_%STA* TOPFLG_LMSOS€€4.1_^1_%LDA =XPLINE_KMSOS4.1_^1_%ENQ 33_PMSOS4.1_^1_%RTJ* (JPWT+1)_JMSOS4.1_^1_%RAO- PAGL,I_LMSOS4.1_^1_%RTJ* EJT3_NMSOS4.1_^1_%LDA* EJT2+1_LMSOS4.1_^1EJT4_!RAO- PAGL,I_LMSOS4.1_^1_%ENQ_#1_^1_%RTJ*_"(JPWT+1)_^1_%RTJ*_"EJT3_^1_%LDA C_QMSOS4.1_^1_%SAZ EJTCN1_K*MSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA L_QMSOS4.1_^1_%ENA 1_QMSOS4.1_^1_%STA LPASS4_LMSOS4.1_^1EJTCN1 JMP* (EJECT)_J*MSOS€€4.1_^1EJT3_!NUM_#0_^1_(LDA-_$PSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1_%JMP*_"(EJT3)_^1DECVT ADC 0_QMSOS4.1_^1_%STQ* STOADR_LMSOS4.1_^1_%SAZ SENDD_MMSOS4.1_^1_%RTJ* SENDF_MMSOS4.1_^1_%STQ* NMBR+2_LMSOS4.1_^1_%SAZ SENDD1_LMSOS4.1_^1_%RTJ* SENDF_MMSOS4.1_^1_%STQ* NMBR+1_LMSOS4.1_^1_%SAZ SENDD2_LMSOS4.1_^1_%RTJ* SENDF_MMSOS4.1_^1_%STQ* NMBR_NMSOS4.1_^1_%ENQ 2_QMSOS4.1_^1LOOPD LDA* NMBR€€,Q_LMSOS4.1_^1_%STA* (STOADR),Q_HMSOS4.1_^1_%SQZ ENDECV_LMSOS4.1_^1_%INQ -1_PMSOS4.1_^1_%JMP* LOOPD_MMSOS4.1_^1ENDECV JMP* (DECVT)_KMSOS4.1_^1SENDD LDA* SNDBLK_LMSOS4.1_^1_%INA $10_OMSOS4.1_^1_%STA* NMBR+2_LMSOS4.1_^1SENDD1 LDQ* SNDBLK_LMSOS4.1_^1_%STQ* NMBR+1_LMSOS4.1_^1SENDD2 LDQ* SNDBLK_LMSOS4.1_^1_%STQ* NMBR_NMSOS4.1_^1_%JMP* LOOPD-1_KMSOS4.1_^1_%EQU TEN($46)_JMSOS4.1_^1SN€€DBLK NUM $2020_MMSOS4.1_^1NMBR_!NUM 0,0,0_MMSOS4.1_^1STOADR NUM 0_QMSOS4.1_^1SENDT NUM 0_QMSOS4.1_^1SENDF ADC 0_QMSOS4.1_^1_%ENQ 0_QMSOS4.1_^1_%DVI- TEN_OMSOS4.1_^1_%INQ $30_OMSOS4.1_^1_%STQ* SENDT_MMSOS4.1_^1_%SAZ SENDF1_LMSOS4.1_^1_%ENQ 0_QMSOS4.1_^1_%DVI- TEN_OMSOS4.1_^1_%INQ $30_OMSOS4.1_^1_%QLS 8_QMSOS4.1_^1SENDF0 ADQ* SENDT_MMSOS4.1_^1_%JMP* (SENDF)_KMSOS4.1_^1SE€€NDF1 LDQ =N$2000_KMSOS4.1_^1_%JMP* SENDF0_LMSOS4.1_^1PLINE ALF 4, PGM=_JMSOS4.1_^1PGMHX NUM 0,0_OMSOS4.1_^1_%ALF 1, (_NMSOS4.1_^1PGMDC NUM 0,0,0_MMSOS4.1_^1_%ALF 5,)_!COM =_GMSOS4.1_^1COMHX NUM 0,0_OMSOS4.1_^1_%ALF 1, (_NMSOS4.1_^1COMDC NUM 0,0,0_MMSOS4.1_^1_%ALF 5,)_!DAT =_GMSOS4.1_^1DATHX NUM 0,0_OMSOS4.1_^1_%ALF 1, (_NMSOS4.1_^1DATDC NUM 0,0,0_MMSOS4.1_^1_%A€€LF 1,)_OMSOS4.1_^1PASS41_!LDQ-_$ST,I_^1_(INQ_!-1_^1END6_#LDA_%=N$8050_^1_(STA- UB,I_^1EY_%LDA- 1,Q_-GET ENTRY_^1_(SAN_!1_^1_(JMP* EE_.DONE WITH ENTRY PTS_^1_(ALS_!4_^1_%SAM EE-3_)IS ENTRY POINT_^1_(LDA- 1,Q_-NOT ENTRY-SLEW IT_^1_(INQ_!1_^1_(SAM_!1_^1_(JMP* *-3_^1_(JMP* EY_.GO BACK FOR NEXT_^1_(RTJ_%ESB_^1_(JMP*_$END6_0GO BACK FOR MORE_^1EE_%RTJ+_$TBLIN_/LOOK FOR SYMTAB ON M€€S_^1_(SAM_%1_3ALL TABLES SEARCHED_^1_(JMP*_$END6-2_^1END1_#RTJ+_$RESTBL_.RESTORE SYMBOL TABLE_^1_(ENA_%0_^1_(LDQ-_$WC,I_^1_(STA- WC,I_,ZERO WORD COUNT_^1_%SQZ END2_)IMAGE OUT_^1_(INQ_!1_0SET WD CNT_^1_(STQ- PER,I_,FOR PUNC_^1END5_#RTJ+_$PUNC_^1END2_#LDQ-_$ET,I_0EXTERNA9 ADDRESS_^1_(INQ_!-1_^1EF_%ENA_!0_^1_(STA- NU,I_^1_(LDA_!=N$A050_)EXTERNAL IMAGE TYPE_^1_(STA- UB,I_^1_(LDA- €€ 1,Q_^1_(SAN_!1_^1_(JMP*_$END3_0DONE WITH THIS TABLE_^1_(ALS_!4_^1_(SAP_!1_/NOT RELATIVE EXTERNAL_^1_(RAO- NU,I_,REL EXT,SET FLAG_^1_(RTJ_%ESB_^1_(JMP* EF_^1END3_#RTJ*_$(EE+1)_^1_(SAM_%1_3ALL TABLES SEARCHED_^1_(JMP*_$END2_^1_(RTJ*_$(END1+1)_,RESTORE SYMBOL TABLE_^1_(LDQ- WC,I_^1_(SQZ_!3_^1_(INQ_!1_0SET WD CNT_^1_(STQ- PER,I_,FOR PUNC_^1_(RTJ*_$(END5+1)_^1XFRP_#LDA_!=N$C050 XFR€€ TYPE TO PUNCH BUFFER_^1_(STA- UB,I_^1_(LDA- SY,I_^1_(SAN_!1_^1_(STA- SY+1,I_^1_(LDQ_!=XCONS+SY_^1_(RTJ_%RECV_^1_(LDA- LA,I_^1_(STA- UB+1,I_^1_(LDA- LA+1,I_^1_(STA- UB+2,I_^1_(LDA- LA+2,I_^1_(STA- UB+3,I_^1_(ENQ_!4_0SET WD CNT_^1_(STQ- PER,I_,FOR PUNC_^1_(RTJ*_$(END5+1)_^1*_!PUT LOAD AND GO AND SYMTAB OUTPUT HERE_^1_(LDA_%X_^1_%SAZ XFFRPA_^1_%RTJ DSTAT_^1_(LDA_%=XEOL_/P€€UT EOL RECORD_^1_%LDQ- STDLGO_'AFTER LOAD AND GO._^1_(RTJ+_$DOUT_^1XFFRPA LDA L_^1_(SAN_%1_^1_(JMP*_$SYOUT_^1_%JMP SRTCHK_'CHECK IF TBLS CAN BE SORTED_(*MSOS4.1_^1JSTOUT RTJ TITLE_L*MSOS4.1_^1_%ENA 28_+NO,NOT ENOUGH CORE AVAILABLE_'*MSOS4.1_^1*_8JUST OUTPUT THE TABLES UNSORTED_#*MSOS4.1_^1_(STA-_$SL,I_0SET LENGTH OF PRINT LINE_^1_(ENA_%0_^1_(STA-_$NU,I_0BUFFER INDEX_^1ESY1_#LDA€€-_$ST,I_0TEMP STORAGE_^1_(INA_%-1_2FOR SYMTAB_^1_(STA-_$AU,I_0ADDRESS_^1ESY2_#LDA-_$PAGL,I_^1_(SUB_%PAGEJ_^1_%SAM 3_QMSOS4.1_^1_%STA- PAGL,I_LMSOS4.1_^1_%RTJ TITLE_L*MSOS4.1_^1_(LDQ-_$AU,I_^1_(LDQ-_$1,Q_^1_(SQZ_%1_3END OF TABLE_^1_(JMP*_$ESY5_^1_(LDA-_$ET,I_^1_%SAZ ESY2A_^1_(INA_%-1_^1_(STA-_$AU,I_^1_(ENA_%0_^1_(STA-_$ET,I_^1_(JMP*_$ESY2_^1ESY2A RTJ TBLIN_^1_(SAM_%1_3ALL TABLE€€S SEARCHED_^1_(JMP*_$ESY1_^1ESY4_#RTJ+_$PRNT_^1ERCCHK LDA ERC_N*MSOS4.1_^1_(SAN_%1_^1_(JMP*_$SYOUT_^1_(STA-_$LN,I_^1_(RTJ*_$(ESY4+1)_^1_(RTJ_%DECV_0CONVERT ERROR NUMBER_^1_(STQ-_$PB,I_^1_(STA-_$PB+1,I_^1_(LDA_%ERMS_^1_(STA-_$PB+2,I_^1_(LDA_%ERMS+1_^1_(STA-_$PB+3,I_^1_(LDA_%ERMS+2_^1_(STA-_$PB+4,I_^1_(RTJ*_$(ESY4+1)_^1ESY3_#JMP*_$SYOUT_^1ESY5_#QRS_%12_^1_(LDA-_$ET,I_^1_(SAN_%1_^1_(€€ENQ_%4_3EXTERNAL_^1_(LDA_%WV,Q_^1_(LDQ-_$NU,I_^1_(ALS_%8_^1_(STA-_$PB+6,B_^1_(LDQ-_$AU,I_^1_(INQ_%1_3CONVERT SYMBOL FROM_^1_(RTJ_%RECV_^1_(LDQ-_$NU,I_^1_(LDA-_$LA,I_^1_(STA-_$PB,B_0SYMBOL_^1_(LDA-_$LA+1,I_^1_(STA-_$PB+1,B_^1_(LDA-_$LA+2,I_^1_(STA-_$PB+2,B_^1_(LDQ-_$AU,I_^1_(LDA-_$1,Q_^1_(INQ_%1_^1_(SAM_%1_^1_(JMP*_$*-3_^1_(STQ-_$AU,I_^1_(TCA_%A_^1_(RTJ+_$HEXC_0CONVERT LOCATION TO H€€EX_^1_(STQ-_$TR,I_^1_(LDQ-_$NU,I_^1_(STA-_$PB+5,B_.LOCATION INTO_^1_(LDA-_$TR,I_0PRINT BUFFER_^1_(STA-_$PB+4,B_^1_(INQ_%-28_^1_(SQZ_%3_^1_(INQ_%35_^1_(STQ-_$NU,I_^1_(JMP*_$ESY2_^1_(STQ-_$NU,I_^1_(RTJ*_$(ESY4+1)_^1_(RAO-_$PAGL,I_^1_(JMP*_$ESY2_^1SYOUT_"LDA-_$PSW,I_^1_(SAN_%1_^1_%JMP* SYOUT_^1_%LDA* SRTFLG_K*MSOS4.1_^1_%SAZ 2_P*MSOS4.1_^1_(RTJ_%EJECT_^1_(LDA_%PUNFLG_^1_(SAM_%PTLEAD_€€'BINARY OUT IS PAPER TAPE_^1_(SAN_%1_,BINARY OUT IS MAG TAPE_^1_(JMP*_$PRHAND_'NO SPECIAL HANDLEING OF BINARY OUTPUT_^1_(JMP*_$MTEOLW_^1PTLEAD_!ENA_%0_^1_(ENQ_%56_+PUNCH A TRAILER ON THE_^1_(STA-_$UB,B_)BINARY OUTPUT_^1_(INQ_%-1_+*_^1_(SQM_%1_,*_^1_(JMP*_$*-3_**_^1_(RTJ*_$PTBINU_'*_^1_(RTJ*_$PTBINU_'*_^1_(JMP*_$PRHAND_^1MTEOLW_!LDA_%EOL_^1_(STA-_$UB,I_)WRITE AN END-OF-LOAD_^1_(ENQ_€€%9_,RECORD_^1_(ENA_%-0_^1_(STA-_$UB,B_^1_(INQ_%-1_^1_(SQZ_%1_^1_(JMP*_$*-3_^1_(LDA_%=XCONS+UB_^1_(ENQ_%10_^1_(RTJ_%BW_^1_%RTJ STATUS_^1_(ENA_%0_^1_(STA-_$CSW,I_^1*_*BACKSPACE OVER EOL RECORD ON BINARY OUT - MAG. TAPES._^1*_]_^1_%RTJ- (REQPRO)_^1_(NUM_"$5C00_H**MSOS 4.0_^1_%ADC CO_^1_%ADC 0_^1_%VFD N3/0,N1/0,N2/2,X10/STDOUT_^1_%NUM $1000_^1_(LDA-_$CSW,I_^1_(SAN_%1_^1_(JMP*_$*-2€€_^1PRHAND_!LDA-_$PSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1_(LDA_%PRNFLG_^1_%SAM PR1_^1_%RTJ STATUS_^1_%JMP ASSEMM_LMSOS4.1_^1PR1_"LDA C_,IS THE XREF OPTION SELECTED_^1_%SAZ WEFBKP_'NO, WRITE AN EOF AND BACKSPACE_^1_%JMP ASSEMM_'YES, GO CHECK FOR REQUIREMENTS_^1WEFBKP ENA 0_^1_(STA-_$PSW,I_^1****************************************************************MSOS 4.0_^1*_'WRITE AN END OF€€ FILE AND BACKSPACE_2**MSOS 4.0_^1****************************************************************MSOS 4.0_^1_%RTJ- (REQPRO)_$FUNCTION REQUEST._^1_(NUM_"$5C00_^1_(ADC_%COP_^1_(ADC_%0_^1_%VFD N3/0,N1/1,N2/2,X10/STDPRT_^1_(NUM_%$2100_E**MSOS 4.0_^1_(LDA-_$PSW,I_^1_(SAN_%1_^1_(JMP*_$*-2_^1_%RTJ STATUS_^1_%JMP ASSEMM_LMSOS4.1_^1SRTFLG NUM 0_P*MSOS4.1_^1PTBINU_!ADC_%0_^1_%RTJ STATU€€S_^1_%ENA 0_^1_%STA- CSW,I_^1_%RTJ- (REQPRO)_$FUNCTION REQUEST._^1_(NUM_"$4400_^1_(ADC_%CO_^1_(NUM_%0_^1_%VFD N3/0,N1/0,N2/2,X10/STDOUT_^1_(NUM_%56_^1_(ADC_%CONS+UB_^1_(JMP*_$(PTBINU)_^1ERMS_#ALF_%3,ERRORS_^1EOL_"ALF 1,*T_^1_(NUM_%-0_^1ESB_$ADC_!0_^1_(ALS_!15_^1_(STA- LP,I_,RELO SWITCH_^1_(INQ_!1_^1_(STQ* EZ+1_,SAVE Q_^1_(RTJ+ RECV_"CONVERT SYMB BACK TO 7 BITS_^1_(LDA- NU,I_€€,IS THIS REL EXT_^1_%SAZ EZ_+NO_^1_(LDA- LA,I_,SET BIT FOR REL EXT_^1_(EOR_!=N$8000_^1_(STA- LA,I_^1EZ_%LDA+ 0_^1_(SAM_!2_^1_(RAO* EZ+1_^1_%JMP* EZ_^1_(LDQ- LP,I_^1_(SQP_!1_^1_(TCA_!A_^1_(STA- LP,I_,VALUE ENTRY_^1_(LDQ- WC,I_^1_(LDA- LA,I_^1_(STA- UB+1,B_^1_(INQ_!1_^1_(LDA- LA+1,I_^1_(STA- UB+1,B_^1_(INQ_!1_^1_(LDA- LA+2,I_^1_(STA- UB+1,B_^1_(INQ_!1_^1_(LDA- LP,I_^1_€€(STA- UB+1,B_^1_(INQ_!-55_.FILLED_^1_%SQZ EZAA+2_'YES_^1_(INQ_!56_^1_(STQ- WC,I_^1EZAA_!LDQ* EZ+1_^1_(JMP* (ESB)_^1_(STQ- WC,I_^1_(ENQ_!57_^1_(STQ- PER,I_^1_(RTJ_%PUNC_^1_%JMP* EZAA_^1TBLIN_"ADC_%0_^1_(LDA-_$CSYSCT,I_^1_%SUB+ ILSCND_^1_(LDQ-_$XSYSCT,I_^1_(SAN_%4_3TABLES ON MS_^1_(SQZ_%1_3NO TABLES ON MS_^1_(RTJ*_$RESTBL_.ALL TABLES SEARCHED_^1_(ENA_%-0_^1_(JMP*_$(TBLIN)_^1_(T€€RQ_%A_^1_(SUB-_$CSYSCT,I_^1_(SAN_%2_^1_(LDA-_$ET,I_0CURRENT TABLE IN CORE_^1_(STA-_$ETSAVE,I_,WRITE IT OUT_^1_(LDA-_$CSYSCT,I_^1_(SUB-_$SCOUNT,I_^1_(STA-_$CSYSCT,I_^1_(LDA-_$WMS,I_^1_(STA_%DISKRD+5_^1_(LDA-_$ST,I_^1_(LDQ-_$CSYSCT,I_^1TBDIN_"RTJ+_$DIN_^1_(LDQ_%=XCONS_.GET NEW EXT ADDR_^1_(INQ_%-2_^1_(LDA-_$1,Q_^1_(SAZ_%2_^1_(INQ_%-1_^1_(JMP*_$*-3_^1_(INQ_%2_^1_(STQ-_$ET,I_^1_(ENA_%0€€_^1_(JMP*_$(TBLIN)_^1RESTBL_!ADC_%0_^1_(LDA-_$XSYSCT,I_^1_(SAZ_%2_3NO TABLES ON MS_^1_(SUB-_$CSYSCT,I_^1_(SAN_%1_^1_(JMP*_$(RESTBL)_,CURRENT TABLE IS IN CORE_^1_(LDA-_$ETSAVE,I_,RESTORE EXTERNAL ADDR_^1_(STA-_$ET,I_^1_(LDA-_$WMS,I_/READ CURRENT TABLE_^1_(STA_%DISKRD+5_^1_(LDA-_$ST,I_^1_(LDQ-_$XSYSCT,I_,BACK IN_^1_(STQ-_$CSYSCT,I_,RESET CURRENT TABLE NO._^1_(RTJ+_$DIN_^1_(JMP*_$(RES€€TBL)_^1PRNT_#ADC_%0_^1_(LDA_%L_^1_(LDQ- ES,I_^1_(SQZ_!1_^1_(JMP* PE_/PASS 2 ERROR_^1_(SAZ_%BLNK-*-1_^1_(LDA- YL,I_^1_(SAN_!BLNK-*-1_^1_(LDQ-_$SL,I_^1_(INQ_%9_3LENGTH OF BUFFER_^1_(LDA-_$MPSW,I_^1_(SAZ_%1_^1_(ENQ_%9_3PRINT BINARY WD ONLY_^1_%LDA* PDA_^1_(RTJ*_$WRIT_^1_(JMP*_$BLNK_^1BLNK_#RTJ* BLN_^1_(JMP*_$(PRNT)_^1PD_#ENA 0_Q44*701_^1_%STA- PSW,I_^1_%RTJ- (REQPRO)_$FWRITE REQU€€EST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_%ADC COP_^1_%ADC 0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_%9_^1PDA_"ADC CONS+PB_^1_%LDA- PSW,I_M44*701_^1_%SAN 1_Q44*701_^1_%JMP* *-2_O44*701_^1_(JMP*_$BLNK_^1PE_%SAN_!1_^1_(JMP* PD_$NO LIST-OUTPUT ERR ON TYPE_^1_(LDA_%=XPEB_^1_(ENQ_%9_^1_(RTJ*_$WRIT_^1_(JMP*_$(PRNT)_^1WRIT_#ADC_!0_^1_(STA* WR4+1_,START ADDR_^1WR5_"INQ_#-1_^1_%LDA*_"(WR4€€+1),Q_^1_%SUB*_"BLN+2_^1_%SAN_!3_O**MSOS 4.0_^1_%SQZ_#1_^1_%JMP*_"WR5_^1_%ENQ_!5_O**MSOS 4.0_^1_%INQ_#1_^1_(STQ* WR1_.NUMB WDS_^1_(LDA_%CARCON_^1_(STA*_$CRCON1_^1WR3_$LDA- PSW,I_^1_(SAN_!1_^1_(JMP* WR3_.WAIT FOR COMPLETION_^1_(ENQ_%48_^1WR4_$LDA+ 0,Q_.MOVE IMAGE TO ALTERNATE_^1_(STA* APB,Q_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* WR4_^1WR2_$ENA_!0_^1_(STA- PSW,I_^1_(RAO*_$WR1_^1_%RTJ€€- (REQPRO)_$FWRITE REQUEST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_!COP_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDPRT_^1WR1_$ADC_!0_^1_(ADC_%APB-1_^1_(JMP* (WRIT)_^1HEXC_#ADC_!0_^1_(LDQ- I_^1_(STQ- RP,I_^1_(ENQ_!0_^1_(STQ- I_^1_(ENQ_!0_^1_(LLS_!4_^1_(INQ_!-$A_^1_(SQM_!1_^1_(INQ_!7_^1_(INQ_!$3A_^1_(STQ_!CONS+TR,I_^1_(LDQ- I_^1_(INQ_!-3_^1_(SQZ_!2_^1_(RAO- I_^1_(JMP* HEXC+5_^1_(LD€€A_!CONS+RP_^1_(STA- I_^1_(LDQ- TR,I_^1_(QLS_!8_^1_(ADQ- TR+1,I_^1_(LDA- TR+2,I_^1_(ALS_!8_^1_(ADD- TR+3,I_^1_(JMP* (HEXC)_^1BLN_$ADC_!0_^1_(LDA_!=N$2020_^1_(ENQ_%48_^1_(STA- PB,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(JMP* (BLN)_^1CRCON1_!ADC_%0_^1_(BZS_%APB(49)_^1CO_#SQP COA_^1_%ENA 0_^1_%STA+ P_^1COA_"INQ 1_^1_(STQ_!CONS+CSW_^1_%JMP- (DISP)_'EXIT_^1COP_$INQ_!1_^1_(ST€€Q_!CONS+PSW_^1_%JMP- (DISP) EXIT_^1CORD_!INQ 1_^1_%STQ CONS+DSWW_^1_%JMP- (DISP)_^1COWR_!INQ 1_^1_%STQ CONS+DSW_^1_%JMP- (DISP)_^1PEB_$ALF_%9,****** **********_^1WV_%NUM_!$2020,$2050,$2043,$2044,$2058_^1_(NUM_!$2D50,$2D43,$2D44_^1RECV_#ADC_!0_%THIS ROUTINE CONVERTS SYMBOLS_^1_(INQ_!-1_$BACK TO 7 BIT CHARS-ADDR OF_^1_(LDA* WV_^1_(STA- LA+1,I SYMBOL TO BE CONVERTED IN Q AT_^1€€_(STA- LA+2,I_^1_(LDA_!=N$7C0_+ENTRY_^1_(AND- 1,Q_^1_(ARS_!6_0OUTPUT IS IN LA AND FF_^1_(SAZ_!1_^1_(INA_!$20_#CONVERT 5 BIT CHAR BACK TO 7_^1_(INA_!$20_^1_(ALS_!8_^1_(STA- LA,I_^1_(ENA_!$3F_^1_(AND- 1,Q_^1_(INA_!$20_^1_(ADD- LA,I_^1_(STA- LA,I_^1_(INQ_!1_^1_(STQ* RR+1_^1_(ENQ_!1_^1RR_%LDA+ 0,Q_^1_%SAM DECV-1_^1_(ADD* WV_^1_(STA- LA,B_^1_(INQ_!-2_^1_(SQZ_!2_^1_(INQ_!3_^1_€€(JMP* RR_^1_(JMP* (RECV)_^1DECV_#ADC_!0_0NUMBER TO CONVERT IN A_^1_(ENA_!0_%THIS ROUTINE CONVERTS THE_^1_(STA- TR,I_"BINARY LINE NUMBER TO ASCII_^1_(ENQ_!3_0DECIMAL_^1_(LDA- LN,I_"OUTPUT IS 3 DIGITS IN QA WITH_^1DECVAA INA -10_*A TRAILING BLANK_^1_(SAM_!2_^1_(RAO- TR,I_^1_(JMP* *-3_^1_(INA_!58_$ADD BACK 10 PLUS HEX 30 TO_^1_(STA- TR,B_-MAKE ASCII CHAR_^1_(LDA- TR,I_^1_(STA€€- TR+4,I_^1_(ENA_!0_^1_(STA- TR,I_^1_(LDA- TR+4,I_^1_(INQ_!-1_^1_(SQZ_!1_^1_%JMP* DECVAA_^1_(LDQ- TR+1,I_^1_(QLS_!8_^1_(ADQ- TR+2,I_^1_(LDA- TR+3,I_^1_(ALS_!8_^1_(INA_!$20_^1_(JMP* (DECV)_^1STATUS_!ADC_%0_^1_(LDA- CSW,I_!WAIT FOR COMPLETION_^1_(SAN_%1_^1_(JMP*_$*-2_^1_(JMP*_$(STATUS)_,MARK FOR ERROR_^1DSTAT ADC 0_^1_%LDA- DSW,I_^1_%SAN 1_^1_%JMP* DSTAT+1_^1_%JMP* (DSTAT)€€_^1MOVEIT ADC 0_^1_%LDQ- PER,I_^1_%INQ -1_^1MOV_"LDA- UB,B_^1_%STA- AUB,B_^1_%INQ -1_^1_%SQM 1_^1_%JMP* MOV_^1_%JMP* (MOVEIT)_^1MVFLG NUM 0_^1DOUT_#ADC_%0_^1_(STA*_$DISKWR+6_^1_(STQ*_$DISKWR+8_^1_(LDQ_%=XCONS+PER_@**MSOS 4.0_^1_(LDA-_$($22),Q_^1_(STA*_$DISKWR+5 SET_!NUMBER OF WORDS_^1_(ENA_%0_^1_%STA- DSW,I_^1DISKWR RTJ- (REQPRO)_$FWRITE REQUEST._^1_(ADC_!$4C00_I**MSOS 4.0_^€€1_%ADC COWR_^1_(ADC_%0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1_(ADC_%0_I**MSOS 4.0_^1_(ADC_%0_^1_(ADC_%0_^1_(ADC_%0_^1_(JMP*_$(DOUT)_^1DIN_$ADC_%0_^1_(STA*_$DISKRD+6_^1_(STQ*_$DISKRD+8_^1_(ENA_%0_^1_%STA- DSWW,I_^1DISKRD RTJ- (REQPRO)_$FREAD REQUEST._^1_(ADC_!$4800_I**MSOS 4.0_^1_%ADC CORD_^1_(ADC_%0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1_(NUM_%96_^1_(ADC_%0_^1_(ADC_%0_^1_(ADC_%0_^1€€DSTAT2 LDA- DSWW,I_^1_%SAN 1_^1_%JMP* DSTAT2_^1_(ENA_%96_2RESTORE RECORD LENGTH_^1_(STA*_$DISKRD+5_^1_(JMP*_$(DIN)_^1PUNC_#ADC_%0_^1_%ENA 0_^1_%STA* MVFLG_^1_(LDQ_%X_^1_(SQN_%1_^1_(JMP*_$PC2_1NO LOAD AND GO_^1_%LDA- STDLGO_'LOAD AND GO SECTOR NUMBER._^1_(SUB_%=N750_^1_(SAM_%PC1-*-1_^1_(ENA_%0_^1_(STA_%X_^1_(ENQ_%9_3LOAD AND GO OVERFLOW_^1_(RTJ+_$ER_^1_(JMP*_$PC2_^1PC1_"RTJ* STATU€€S_^1_%RTJ* DSTAT_^1_%RTJ* MOVEIT_^1_%ENA -0_^1_%STA* MVFLG_^1_%LDQ- STDLGO_^1_(LDA*_$PC3+1_^1_(RTJ+_$DOUT_^1_%RAO- STDLGO_^1PC2_$LDQ_%P_^1_(SQZ_!PO-*-1_^1PC3_"LDA =XCONS+AUB_^1_(LDQ- PER,I_,NO WDS TO OUTPUT_^1_(RTJ*_$BW_2BINARY WRITE_^1PO_%ENA_!0_^1_(ENQ_!56_^1_(STA- UB,B_-*********************_^1_(INQ_!-1_/*********************_^1_(SQM_!1_0*********************_^1_(JMP* *-3_.*€€********************_^1_(JMP*_$(PUNC)_^1BW_%ADC_%0_^1_%STA* BWA+1_^1_%STQ* BWA_^1_%RTJ* STATUS_^1_%LDA* MVFLG_^1_%SAM 1_^1_%RTJ* MOVEIT_^1_(ENA_%0_^1_(STA-_$CSW,I_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_%ADC CO_^1_%ADC 0_^1_%VFD N3/0,N1/0,N2/2,X10/STDOUT_^1BWA_"ADC 0_^1_(ADC_%0_^1_(JMP*_$(BW)_^1ER_%ADC_!0_^1_(RAO_%ERC_^1_(LDQ* ERT,Q_,PICK UP ERR MESSA€€GE_^1_(STQ- ES,I_^1_(LDA_%L_^1_(SAN_%ER2-*-1_^1ER1_$LDA_%=A**_^1_(STA-_$PB+2,I_^1_(STQ-_$PB+3,I_^1_(RTJ_%DECV_^1_(STQ-_$PB,I_^1_(STA-_$PB+1,I_^1ER3_$RTJ_%PRNT_^1_(ENA_%0_^1_(STA-_$RC,I_^1_(STA-_$ES,I_^1_(JMP*_$(ER)_^1ER2_$STQ_%PEB+3_^1_(JMP*_$ER3_^1ERT_$ALF_!1,DS_^1_(ALF_!1,EX_^1_(ALF_!1,LB_^1_(ALF_%1,PP_^1_(ALF_!1,OP_^1_(ALF_!1,RG_^1_(ALF_!1,RL_^1_(ALF_!1,OV_^1_(ALF_!1,UD_^1_(ALF€€_%1,MO_^1SAVEC BZS SAVEC_^1LPASS4 BZS LPASS4_LMSOS4.1_^1ASSEMM LDA* LPASS4_LMSOS4.1_^1_%SAZ LEVIT3_^1_%JMP SRTCHK_^1LEVIT3 LDA C_,CROSS REFERENCE LISTING ONLY_^1_%SAZ LEVIT1_^1_%JMP SRTCHK_'WILL ALL THE TBLS FIT FOR XREF_%MSOS4.1_^1LEVIT1 LDA ASSEM_(NO LISTIN NO XREF_3MSOS4.1_^1_%INA -4_PMSOS4.1_^1_%STA ASSEM_MMSOS4.1_^1_%STA ICIT_NMSOS4.1_^1_%LDA L_,ARE WE LISTING_6MS€€OS4.1_^1_%SAZ LEVIT2_'NO, NO NEED FOR PAGE EJECT_*MSOS4.1_^1_%RTJ RABL_)BLANK OUT BUFFER_4MSOS4.1_^1_%LDA PJECT_(TOP-OF-FORM_9MSOS4.1_^1_%STA SYRFTS_LMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA- PAGL,I_'CLEAR OUT PAGE-LINE_1MSOS4.1_^1_%ENQ 40_PMSOS4.1_^1_%LDA =XSYRFTS_JMSOS4.1_^1_%RTJ* SYWRT_(EJECT A PAGE BETWEEN PROGRAMS_'MSOS4.1_^1_%LDA* SAVEC_(RESTORE PREVIOUS 'C' VALUE_^1_%STA C€€_^1LEVIT2 JMP ASSEM_(EXIT,NO LISTING_5MSOS4.1_^1SYWRT ADC 0_QMSOS4.1_^1_%STA* ADSY_NMSOS4.1_^1_%STQ* LG_PMSOS4.1_^1_%LDA- PSW,I_MMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* *-2_OMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA- PSW,I_MMSOS4.1_^1_%RAO- PAGL,I_K*MSOS4.1_^1_%RTJ- (REQPRO)_JMSOS4.1_^1_%NUM $4C00_L* MSOS4.1_^1_%ADC COP_OMSOS4.1_^1_%ADC 0_QMSOS4.1_^1_%VFD N3/0,N1/1,N2/2,X10/STDPRT_9M€€SOS4.1_^1LG_#NUM 0_QMSOS4.1_^1ADSY_!NUM 0_QMSOS4.1_^1_%LDA- PSW,I_MMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* *-2_OMSOS4.1_^1_%LDA- PAGL,I_K*MSOS4.1_^1_%INA -56_OMSOS4.1_^1_%SAM PRNTIT_K*MSOS4.1_^1_%LDA* SYWRT_L*MSOS4.1_^1_%STA* SAVRTN_K*MSOS4.1_^1_%RTJ* TITLE_L*MSOS4.1_^1_%LDA* SAVRTN_K*MSOS4.1_^1_%STA* SYWRT_L*MSOS4.1_^1PRNTIT JMP* (SYWRT)_KMSOS4.1_^1SAVRTN ADC 0_P*MSOS4.1_^1TITLE€€ ADC 0_QMSOS4.1_^1_%RAO PAGE_NMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA- PAGL,I_LMSOS4.1_^1_%LDA- PSW,I_MMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* *-2_OMSOS4.1_^1_%ENQ 2_QMSOS4.1_^1EJT1_!LDA- PNAM,B_LMSOS4.1_^1_%STA* PRONAM,Q_JMSOS4.1_^1_%SQZ 2_QMSOS4.1_^1_%INQ -1_PMSOS4.1_^1_%JMP* EJT1_NMSOS4.1_^1_%LDA PAGE_NMSOS4.1_^1_%CLR Q_QMSOS4.1_^1EJT1A DVI =N10_NMSOS4.1_^1_%INQ $30_OMSOS4.1€€_^1_%STQ PAGNUM+3_JMSOS4.1_^1_%CLR Q_QMSOS4.1_^1_%SAZ EJT1B_MMSOS4.1_^1_%DVI* EJT1A+1_KMSOS4.1_^1_%INQ $10_OMSOS4.1_^1EJT1B INQ $20_OMSOS4.1_^1_%QLS 8_QMSOS4.1_^1_%ADQ* PAGNUM+3_JMSOS4.1_^1_%STQ* PAGNUM+3_JMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* EJT21_MMSOS4.1_^1_%INA $30_OMSOS4.1_^1_%LDQ* SPACES_^1_%LLS 8_QMSOS4.1_^1_%ALS 8_QMSOS4.1_^1_%STA* PAGNUM+2_JMSOS4.1_^1EJT21 ENQ €€12_PMSOS4.1_^1_%LDA- ($E9),Q_KMSOS4.1_^1_%TRA Q_QMSOS4.1_^1_%LDA- ($22),Q_KMSOS4.1_^1_%STA* MONTH+3_KMSOS4.1_^1_%ENQ 13_PMSOS4.1_^1_%LDA- ($E9),Q_KMSOS4.1_^1_%TRA Q_QMSOS4.1_^1_%LDA- ($22),Q_KMSOS4.1_^1_%STA* MONTH_MMSOS4.1_^1_%ENQ 14_PMSOS4.1_^1_%LDA- ($E9),Q_KMSOS4.1_^1_%TRA Q_QMSOS4.1_^1_%LDA- ($22),Q_KMSOS4.1_^1_%CLR Q_QMSOS4.1_^1_%LLS 8_QMSOS4.1_^1_%INA $2F_OMSOS4.1_^1€€_%STA* MONTH+2_KMSOS4.1_^1_%QLS 8_QMSOS4.1_^1_%INQ $2F_OMSOS4.1_^1_%QLS 8_QMSOS4.1_^1_%STQ* MONTH+1_KMSOS4.1_^1_%LDA PJECT_^1_%STA* EJT31_LMSOS4.1_^1EJT2ED LDA =XEJT31_KMSOS4.1_^1_%ENQ EJTLEN_LMSOS4.1_^1_%RTJ SYWRT_MMSOS4.1_^1_%ENQ 3_P*MSOS4.1_^1EIEIE LDA =XSPACES_I*MSOS4.1_^1_%RTJ SYWRT_L*MSOS4.1_^1_%ENQ 3_P*MSOS4.1_^1_%LDA* EIEIE+1_J*MSOS4.1_^1_%RTJ SYWRT_L*MSOS4.1_€€^1_%LDA =XPHL1_'ADDRESS OF PAGE HEADING LINE_^1_%ENQ 17_+LENGTH OF PAGE HEADING_^1_%RTJ SYWRT_(WRITE LINE_^1_%JMP* (TITLE)_KMSOS4.1_^1EJT31 ALF 8,_O*MSOS4.1_^1PRONAM ALF 3,_PMSOS4.1_^1_%ALF 7,_PMSOS4.1_^1PAGNUM ALF +,PAGE_!0+_GMSOS4.1_^1_%ALF 7,_PMSOS4.1_^1_%ALF +,DATE+_KMSOS4.1_^1_%NUM $3A20_MMSOS4.1_^1MONTH ALF +,MO/DA/YR+_GMSOS4.1_^1EJTLEN EQU EJTLEN(*-EJT31)_CMSOS€€4.1_^1SPACES NUM $2020_L*MSOS4.1_^1_%NUM $2020_L*MSOS4.1_^1_%NUM $2020_L*MSOS4.1_^1PHL1_!ALF +, *** S Y M B O L_!T A B L E *** +_^1STOKQ BSS STOKQ_MMSOS4.1_^1STOKA BSS STOKA_MMSOS4.1_^1SAVEI BSS SAVEI_MMSOS4.1_^1SAVEA BSS SAVEA_MMSOS4.1_^1SAVEQ BSS SAVEQ_MMSOS4.1_^1ENDTSR BSS ENDTSR_'END SYM.TBL.REF.ADDR._/MSOS4.1_^1ENDTSD BSS ENDTSD_'END SYM.TBL.DEF.ADDR._/MSOS4.1_€€^1SRTCHK LDA C_,SAVE 'C' FOR LATER RESTORATION_^1_%STA SAVEC_^1_%ENA 0_^1_%STA- PAGL,I_K*MSOS4.1_^1_%RAO SRTFLG_K*MSOS4.1_^1_%RAO L_QMSOS4.1_^1_%LDA- I_QMSOS4.1_^1_%STA* SAVEI_MMSOS4.1_^1_%LDA SYTRFM_'END ADDR.OF SYM.TBL.IN PASS2_(MSOS4.1_^1_%AND- $A_PMSOS4.1_^1_%MUI =N96_NMSOS4.1_^1_%STA* ENDTSD_'NO.OF WRS.ON THE DISK_/MSOS4.1_^1_%LDA SYTRFM_LMSOS4.1_^1_%AND- $1A_OMSOS4.1_€€^1_%ARS 8_QMSOS4.1_^1_%ADD* ENDTSD_LMSOS4.1_^1_%STA* ENDTSD_LMSOS4.1_^1_%ENQ 1_QMSOS4.1_^1_%LDA- ST,I_)START ADDR.SYM.TBL._1MSOS4.1_^1_%INA -1_PMSOS4.1_^1_%STA- I_QMSOS4.1_^1SYLGTB LDA- 1,I_*1ST WRD.OF SYM.TBL._1MSOS4.1_^1_%SAZ SY1_*CHECK IF END OF TBL._0MSOS4.1_^1_%RAO- I_QMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%JMP* SYLGTB_LMSOS4.1_^1SY1_"STQ* STOKQ_(LENGTH OF THE SYM.TBL._.MSOS4.1_^€€1_%LDA SYCADM_'CURRENT SECT.ADDR._2MSOS4.1_^1_%SUB SYTRFD_LMSOS4.1_^1_%MUI =N96_NMSOS4.1_^1_%ADD SYINDM_LMSOS4.1_^1_%STA* ENDTSR_LMSOS4.1_^1_%ADD* STOKQ_(NO.WRDS IN SYM.TBL AND SYM.REF.TBL. MSOS4.1_^1_%LDQ SAVEI_MMSOS4.1_^1_%STQ- I_QMSOS4.1_^1_%ADD- ST,I_NMSOS4.1_^1_%SUB SYEXT_(CAN EXT,SYM.TBL,SYM.REF.TBL.GET IN COMSOS4.1_^1_%SAM SY2_*YES_AMSOS4.1_^1_%LDA SYEXT_MMSOS4.1_^1€€_%SAZ SY2_OMSOS4.1_^1_%ENA 1_QMSOS4.1_^1_%STA L_QMSOS4.1_^1_%ENA 0_P*MSOS4.1_^1_%STA C_^1_%STA LPASS4_LMSOS4.1_^1_%STA SRTFLG_K*MSOS4.1_^1_%JMP JSTOUT_LMSOS4.1_^1SY2_"LDA C_P*MSOS4.1_^1_%SAZ SY3_N*MSOS4.1_^1WAIT1 LDA- CSW,I_(WAIT FOR COMPLETION OF_^1_%SAN WAIT2_(ALL PUNCH AND PRINT_^1_%JMP* WAIT1_(REQUESTS BEFORE EXITING_^1WAIT2 LDA- PSW,I_(FROM TABLST_^1_%SAN DONEP4_€€^1_%JMP* WAIT2_^1DONEP4 JMP ASSEM_^1SY3_"LDA- ST,I_)START SYM.TBL._6MSOS4.1_^1_%ADD* STOKQ_(LENGTH S.T._9MSOS4.1_^1_%INA 1_QMSOS4.1_^1_%STA SYTRFM_'START ADDR SYM.REF.TBL._-MSOS4.1_^1_%STA* STOKA_MMSOS4.1_^1_%ADD* ENDTSD_LMSOS4.1_^1_%STA* ENDTSD_LMSOS4.1_^1_%ADD* ENDTSR_LMSOS4.1_^1_%STA* ENDTSR_'END ADDR.S.R.T._5MSOS4.1_^1_%LDA- DSWW,I_LMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* *-2_*€€WAIT_@MSOS4.1_^1_%LDA SYCADM_LMSOS4.1_^1_%SUB SYTRFD_LMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* SYNTRF_LMSOS4.1_^1_%MUI =N96_NMSOS4.1_^1_%STA DISKRD+5_JMSOS4.1_^1_%STA* STOKA_MMSOS4.1_^1_%LDQ SYTRFD_LMSOS4.1_^1_%LDA SYTRFM_LMSOS4.1_^1_%RTJ DIN_*XFER DISK-CORE_6MSOS4.1_^1_%LDA SYTRFM_LMSOS4.1_^1_%ADD* STOKA_MMSOS4.1_^1_%STA* STOKA_MMSOS4.1_^1SYNTRF LDQ* STOKA_MMSOS4.1_^1_%INQ -1€€_PMSOS4.1_^1_%ENA 1_QMSOS4.1_^1_%STA- I_QMSOS4.1_^1SYTFST LDA SYRFTS-1,I_"ADDR.OF START_7MSOS4.1_^1_%STA- 1,Q_OMSOS4.1_^1_%LDA SYINDM_LMSOS4.1_^1_%SUB- I_QMSOS4.1_^1_%RAO- I_QMSOS4.1_^1_%SAZ 2_QMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%JMP* SYTFST_LMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%STQ ENDTSR_^1_%LDA SYTRFM_'SET UP CORE ALLOCATION_.MSOS4.1_^1_%STA- I_,FOR THE S.T AND E.T SORT_,MSOS4.1_^1€€TRI1_!LDQ- 1,I_OMSOS4.1_^1_%LDA- 1,Q_OMSOS4.1_^1_%ALS 2_QMSOS4.1_^1_%AND =N$1F00_KMSOS4.1_^1_%STA* SMASK_MMSOS4.1_^1_%LDA- 1,Q_OMSOS4.1_^1_%AND- $8_PMSOS4.1_^1_%ADD* SMASK_MMSOS4.1_^1_%STA- 1,Q_OMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%LDA- 1,Q_OMSOS4.1_^1_%SAM 2_QMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%JMP* *-3_OMSOS4.1_^1_%LDA- I_QMSOS4.1_^1_%INA -1_PMSOS4.1_^1_%STA- I_QMSOS4.1_^1_%LDA- 1,I_O€€MSOS4.1_^1_%STA- 1,Q_OMSOS4.1_^1_%LDA- I_QMSOS4.1_^1_%INA 3_QMSOS4.1_^1_%STA- I_QMSOS4.1_^1_%SUB ENDTSD_LMSOS4.1_^1_%SAP 1_P*MSOS4.1_^1_%JMP* TRI1_NMSOS4.1_^1_%LDA SYTRFM_LMSOS4.1_^1_%INA -3_PMSOS4.1_^1_%STA- I_QMSOS4.1_^1_%LDQ SYEXT_MMSOS4.1_^1_%INQ -1_PMSOS4.1_^1TRI2_!LDA- 1,Q_OMSOS4.1_^1_%STA- 1,I_OMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%TRQ A_QMSOS4.1_^1_%SUB =XCONS_LMSOS4.1_^€€1_%SAP 2_QMSOS4.1_^1_%RAO- I_QMSOS4.1_^1_%JMP* TRI2_NMSOS4.1_^1_%LDA- I_QMSOS4.1_^1_%INA 2_QMSOS4.1_^1_%STA* LADR_NMSOS4.1_^1_%ENQ 0_QMSOS4.1_^1_%STQ- 1,I_OMSOS4.1_^1_%RAO- I_QMSOS4.1_^1_%LDA- I_QMSOS4.1_^1_%SUB =XCONS_LMSOS4.1_^1_%SAP 1_QMSOS4.1_^1_%JMP* *-6_OMSOS4.1_^1_%LDA =XCONS_LMSOS4.1_^1_%STA- I_QMSOS4.1_^1_%JMP* SORT_NMSOS4.1_^1SMASK BSS SMASK_MMSOS4.1_^1HADR_!BSS €€HADR_NMSOS4.1_^1LADR_!BSS LADR_NMSOS4.1_^1TRADST BSS TRADST_LMSOS4.1_^1LFORRT BZS LFORRT_LMSOS4.1_^1PASSNB BSS PASSNB_LMSOS4.1_^1LS_#BSS LS_PMSOS4.1_^1FLGADR BZS FLGADR_LMSOS4.1_^1WDTS_!BSS WDTS_NMSOS4.1_^1SORT_!LDA- ST,I_M*MSOS4.1_^1_%INA -1_PMSOS4.1_^1_%STA* HADR_NMSOS4.1_^1_%STA* TRADST_LMSOS4.1_^1_%ENA 6_QMSOS4.1_^1_%STA* PASSNB_LMSOS4.1_^1_%ENA 3_QMSOS4.1_^1_%STA* WD€€TS_NMSOS4.1_^1NEXTST RTJ RAZ_OMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA* LS_PMSOS4.1_^1_%LDA* TRADST_LMSOS4.1_^1_%STA- I_QMSOS4.1_^1SOR1_!LDA- 1,I_OMSOS4.1_^1_%RAO* LS_PMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* SOR2_NMSOS4.1_^1_%SAM 2_QMSOS4.1_^1SOR3_!RAO- I_QMSOS4.1_^1_%JMP* SOR1_NMSOS4.1_^1_%LDA* LS_PMSOS4.1_^1_%INA -1_PMSOS4.1_^1_%SUB* WDTS_NMSOS4.1_^1_%SAM 1_QMSOS4.1_^1_%JMP* *+9_OMSO€€S4.1_^1_%LDA SYRFTS_LMSOS4.1_^1_%ADD* LS_PMSOS4.1_^1_%STA SYRFTS_LMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA* LS_PMSOS4.1_^1_%JMP* SOR3_NMSOS4.1_^1_%LDA* WDTS_NMSOS4.1_^1_%SUB* LS_PMSOS4.1_^1_%TRA Q_QMSOS4.1_^1_%LDA* LFORRT_LMSOS4.1_^1_%SAN 3_QMSOS4.1_^1_%LDA- 1,B_OMSOS4.1_^1_%AND- $A_PMSOS4.1_^1_%JMP* *+4_OMSOS4.1_^1_%LDA- 1,B_OMSOS4.1_^1_%AND- $1A_OMSOS4.1_^1_%ARS 8_QMSOS4.1_^1_%TR€€A Q_QMSOS4.1_^1_%LDA SYRFTS,Q_JMSOS4.1_^1_%ADD* LS_PMSOS4.1_^1_%STA SYRFTS,Q_JMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA LS_PMSOS4.1_^1_%JMP* SOR3_NMSOS4.1_^1SOR2_!LDA* FLGADR_LMSOS4.1_^1_%SAZ 2_QMSOS4.1_^1_%LDA* HADR_NMSOS4.1_^1_%JMP* *+2_OMSOS4.1_^1_%LDA* LADR_NMSOS4.1_^1_%ENQ 0_QMSOS4.1_^1_%STQ- I_QMSOS4.1_^1_%LDQ SYRFTS_LMSOS4.1_^1SOR4_!STA SYRFTS,I_JMSOS4.1_^1_%LDA- I_QMSOS4.€€1_^1_%INA -60_OMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* SOR5_NMSOS4.1_^1_%RAO- I_QMSOS4.1_^1_%TRQ A_QMSOS4.1_^1_%ADD SYRFTS-1,I_HMSOS4.1_^1_%LDQ SYRFTS,I_JMSOS4.1_^1_%JMP* SOR4_NMSOS4.1_^1SOR5_!ENA 0_QMSOS4.1_^1_%STA* LS_PMSOS4.1_^1_%LDA* TRADST_LMSOS4.1_^1_%STA- I_QMSOS4.1_^1SOR6_!LDA- 1,I_OMSOS4.1_^1_%RAO* LS_PMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* SOR7_NMSOS4.1_^1SOR8_!SAM 2_QMS€€OS4.1_^1_%RAO- I_QMSOS4.1_^1_%JMP* SOR6_NMSOS4.1_^1_%LDA* LS_PMSOS4.1_^1_%INA -1_PMSOS4.1_^1_%SUB* WDTS_NMSOS4.1_^1_%SAP 1_QMSOS4.1_^1_%JMP* SOR9_NMSOS4.1_^1_%LDA* WDTS_NMSOS4.1_^1_%SUB* LS_PMSOS4.1_^1_%TRA Q_QMSOS4.1_^1_%LDA* LFORRT_LMSOS4.1_^1_%SAN 3_QMSOS4.1_^1_%LDA- 1,B_OMSOS4.1_^1_%AND- $A_PMSOS4.1_^1_%JMP* *+4_OMSOS4.1_^1_%LDA- 1,B_OMSOS4.1_^1_%AND- $1A_OMSOS4.1_^1_%ARS €€8_QMSOS4.1_^1_%TRA Q_QMSOS4.1_^1SO11_!LDA SYRFTS,Q_JMSOS4.1_^1_%ADD* LS_PMSOS4.1_^1_%STA SYRFTS,Q_JMSOS4.1_^1_%SUB* LS_PMSOS4.1_^1_%TRA Q_QMSOS4.1_^1_%LDA- I_QMSOS4.1_^1_%SUB* LS_PMSOS4.1_^1_%INA 1_QMSOS4.1_^1_%STA- I_QMSOS4.1_^1SO10_!LDA- 1,I_OMSOS4.1_^1_%STA- 1,Q_OMSOS4.1_^1_%LDA LS_O*MSOS4.1_^1_%INA -1_PMSOS4.1_^1_%SAZ 5_P*MSOS4.1_^1_%STA LS_O*MSOS4.1_^1_%INQ 1_QMSOS4.€€1_^1_%RAO- I_QMSOS4.1_^1_%JMP* SO10_NMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA LS_PMSOS4.1_^1_%JMP* SOR8_NMSOS4.1_^1SOR9_!ENQ 0_QMSOS4.1_^1_%JMP* SO11_NMSOS4.1_^1SOR7_!LDA PASSNB_LMSOS4.1_^1_%INA -1_PMSOS4.1_^1_%STA PASSNB_LMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* ENDSOR_LMSOS4.1_^1_%LDA FLGADR_LMSOS4.1_^1_%SAN 4_QMSOS4.1_^1_%LDA LADR_NMSOS4.1_^1_%ENQ 1_QMSOS4.1_^1_%JMP* *+4_OMSOS4.€€1_^1_%LDA HADR_NMSOS4.1_^1_%ENQ 0_QMSOS4.1_^1_%STA TRADST_LMSOS4.1_^1_%STQ FLGADR_LMSOS4.1_^1_%LDA LFORRT_LMSOS4.1_^1_%SAN 2_QMSOS4.1_^1_%ENA 1_QMSOS4.1_^1_%JMP* *+7_OMSOS4.1_^1_%LDA WDTS_NMSOS4.1_^1_%INA -1_PMSOS4.1_^1_%STA WDTS_NMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA LFORRT_LMSOS4.1_^1_%JMP NEXTST_LMSOS4.1_^1SYPRLN BSS SYPRLN_LMSOS4.1_^1ENDSOR LDA =XCONS_'END OF SORT_9€€MSOS4.1_^1_%STA- I_QMSOS4.1_^1_%RTJ TITLE_L*MSOS4.1_^1_%LDA =N$FF00_KMSOS4.1_^1_%STA RECVS+5_KMSOS4.1_^1_%LDA =N$0F48_KMSOS4.1_^1_%STA RECVS+7_KMSOS4.1_^1_%ENQ 1_QMSOS4.1_^1_%STQ* SYPRLN_LMSOS4.1_^1_%RTJ RABL_NMSOS4.1_^1_%ENQ 40_O*MSOS4.1_^1EIEIO LDA =XSYRFTS_I*MSOS4.1_^1_%RTJ SYWRT_L*MSOS4.1_^1_%ENQ 40_O*MSOS4.1_^1_%LDA* EIEIO+1_J*MSOS4.1_^1_%RTJ SYWRT_L*MSOS4.1_^1_%L€€DQ HADR_NMSOS4.1_^1SO23_!LDA- 1,Q_OMSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP* SO22_NMSOS4.1_^1_%RTJ RECVS_MMSOS4.1_^1_%LDQ* SYPRLN_LMSOS4.1_^1_%LDA- LA,I_NMSOS4.1_^1_%STA SYRFTS,Q_JMSOS4.1_^1_%LDA- LA+1,I_LMSOS4.1_^1_%STA SYRFTS+1,Q_HMSOS4.1_^1_%LDA- LA+2,I_LMSOS4.1_^1_%STA SYRFTS+2,Q_HMSOS4.1_^1_%LDA- LA+3,I_LMSOS4.1_^1_%STA- W2,I_NMSOS4.1_^1_%ENQ 1_QMSOS4.1_^1_%RTJ DECVTB_K*MSOS€€4.1_^1_%LDQ* SYPRLN_LMSOS4.1_^1_%LDA- SY,I_NMSOS4.1_^1_%STA SYRFTS+4,Q_HMSOS4.1_^1_%LDA- SY+1,I_LMSOS4.1_^1_%STA SYRFTS+5,Q_HMSOS4.1_^1_%LDA* SYPRLN_LMSOS4.1_^1_%INA 7_QMSOS4.1_^1_%STA SYPRLN_LMSOS4.1_^1_%SUB* LNLGTH_'TEST FOR PRINT_^1_%INA 5_^1_%SAM 1_QMSOS4.1_^1_%JMP* SO20_NMSOS4.1_^1SO21_!RAO HADR_NMSOS4.1_^1_%LDQ HADR_NMSOS4.1_^1_%LDA- 1,Q_OMSOS4.1_^1_%SAN 1_QMSOS4.1_^€€1_%JMP* SO22_NMSOS4.1_^1_%SAP 4_QMSOS4.1_^1_%RAO HADR_NMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%JMP* SO23_NMSOS4.1_^1_%JMP* SO21_NMSOS4.1_^1SO20_!LDQ =N65_)IF NOT SET UPON ENTRY TO TABLST_^1_%EQU CRXX(*-1)_#THEN PRINT 130 CHARACTERS_^1_%LDA =XSYRFTS_JMSOS4.1_^1_%RTJ SYWRT_MMSOS4.1_^1_%ENQ 1_QMSOS4.1_^1_%STQ* SYPRLN_LMSOS4.1_^1_%RTJ RABL_NMSOS4.1_^1_%JMP* SO21_NMSOS4.1_^1SO22_!LDQ* C€€RXX_)LENGTH OF PRINT LINE_^1_%LDA =XSYRFTS_JMSOS4.1_^1_%RTJ SYWRT_MMSOS4.1_^1_%RTJ RABL_NMSOS4.1_^1_%ENA 0_P*MSOS4.1_^1_%STA LPASS4_K*MSOS4.1_^1EXITIT JMP ERCCHK_K*MSOS4.1_^1LNLGTH NUM 66_+PRINT LINE LENGTH = 132 CHARACTERS_^1DPQ_"BSS DPQ_OMSOS4.1_^1DECVNT BZS DECVNT_LMSOS4.1_^1DECVTB ADC 0_QMSOS4.1_^1_%STQ* DPQ_OMSOS4.1_^1_%LDA- W2,I_NMSOS4.1_^1_%SUB- $42_OMSOS4.1_^1_%SA€€P 1_QMSOS4.1_^1_%JMP* DEC1TB_LMSOS4.1_^1_%LDA- W2,I_NMSOS4.1_^1_%TCA A_QMSOS4.1_^1_%AND- $42_OMSOS4.1_^1_%STA- W2,I_NMSOS4.1_^1_%ENA 1_QMSOS4.1_^1_%STA* DECVNT_LMSOS4.1_^1DEC1TB LDA- W2,I_NMSOS4.1_^1_%ENQ 0_QMSOS4.1_^1_%DVI =N10_NMSOS4.1_^1_%STA- W2,I_NMSOS4.1_^1_%LRS 16_PMSOS4.1_^1_%INA $30_OMSOS4.1_^1_%LDQ* DPQ_OMSOS4.1_^1_%STA- SY,B_NMSOS4.1_^1_%LDA- W2,I_NMSOS4.1_^1_%ENQ€€ 0_QMSOS4.1_^1_%DVI =N10_NMSOS4.1_^1_%STA- W2,I_NMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%LRS 8_QMSOS4.1_^1_%ADD =N$3000_KMSOS4.1_^1_%LDQ* DPQ_OMSOS4.1_^1_%ADD- SY,B_NMSOS4.1_^1_%STA- SY,B_NMSOS4.1_^1_%SQZ 3_QMSOS4.1_^1_%INQ -1_PMSOS4.1_^1_%STQ* DPQ_OMSOS4.1_^1_%JMP* DEC1TB_LMSOS4.1_^1_%LDA* DECVNT_LMSOS4.1_^1_%SAZ 7_QMSOS4.1_^1_%LDA- SY,I_NMSOS4.1_^1_%AND- $A_PMSOS4.1_^1_%ADD =N$2D€€00_KMSOS4.1_^1_%STA- SY,I_NMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA* DECVNT_K*MSOS4.1_^1_%JMP* (DECVTB)_JMSOS4.1_^1BLC_"NUM $2020_MMSOS4.1_^1RECVS ADC 0_QMSOS4.1_^1_%LDA* BLC_OMSOS4.1_^1_%STA- LA+1,I_LMSOS4.1_^1_%STA- LA+2,I_LMSOS4.1_^1_%LDA =N$07C0_KMSOS4.1_^1_%AND- 1,Q_OMSOS4.1_^1_%ARS 6_QMSOS4.1_^1_%SAZ 1_QMSOS4.1_^1_%INA $20_OMSOS4.1_^1_%INA $20_OMSOS4.1_^1_%ALS 8_QMSOS4.1_€€^1_%STA- LA,I_NMSOS4.1_^1_%ENA $3F_OMSOS4.1_^1_%AND- 1,Q_OMSOS4.1_^1_%INA $20_OMSOS4.1_^1_%ADD- LA,I_NMSOS4.1_^1PIKLA STA+ LA,I_NMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%STQ* RRTB+1_LMSOS4.1_^1_%ENQ 1_QMSOS4.1_^1RRTB_!LDA+ 0,Q_OMSOS4.1_^1_%SAM R1_PMSOS4.1_^1_%ADD* BLC_OMSOS4.1_^1_%RAO* *+2_OMSOS4.1_^1MELA_!STA+ LA,I_NMSOS4.1_^1_%INQ 1_QMSOS4.1_^1_%JMP* RRTB_NMSOS4.1_^1R1_#TCA A_QMSOS€€4.1_^1_%STA- LA+3,I_LMSOS4.1_^1_%LDA* PIKLA+1_KMSOS4.1_^1_%STA* MELA+1_LMSOS4.1_^1_%JMP* (RECVS)_KMSOS4.1_^1RABL_!ADC 0_QMSOS4.1_^1_%ENQ 95_PMSOS4.1_^1_%LDA =N$2020_KMSOS4.1_^1_%STA SYRFTS,Q_JMSOS4.1_^1_%INQ -1_PMSOS4.1_^1_%SQM 1_QMSOS4.1_^1_%JMP* *-4_OMSOS4.1_^1_%JMP* (RABL)_LMSOS4.1_^1RAZ_"ADC 0_QMSOS4.1_^1_%ENQ 95_PMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA SYRFTS,Q_JMSOS4.1_^€h1_%INQ -1_PMSOS4.1_^1_%SQM 1_QMSOS4.1_^1_%JMP* *-4_OMSOS4.1_^1_%JMP* (RAZ)_MMSOS4.1_^1_(END_%PASS4_^__hPXREF CSY/ A10 P€1_%NAM XREF_)DECK-ID A10 MACRO ASSEMBLER_%SUMMARY-110_^1*_$MASS STORAGE OPERATING SYSTEM VERSION 5.0_^1*_$SMALL SYSTEMS DIVISION, LA JOLLA, CALIFORNIA_^1*_$COPYRIGHT CONTROL DATA CORPORATION 1976_^1PS_#EQU PS(0)_MMSOS4.1_^1STDSCR EQU STDSCR($B3)_GMSOS4.1_^1STDLGO EQU STDLGO($E4)_GMSOS4.1_^1REQPRO EQU REQPRO($F4)_GMSOS4.1_^1STDOUT EQU STDOUT($FA)_GMSOS4.1_^1STDPRT EQU STDPRT€€($FB)_GMSOS4.1_^1STDOCD EQU STDOCD($FC)_GMSOS4.1_^1DISP_!EQU DISP($EA)_IMSOS4.1_^1_%EQU ST(1),ET(ST+1),PSW(ET+1),PB(PSW+1)_0MSOS4.1_^1_%EQU DSW(PB+49),DSWW(DSW+1)_MSOS4.1_^1ASMADC ADC ASSEM1_LMSOS4.1_^1CSWW_!BZS CSWW_NMSOS4.1_€€^1COO_"ENA 1_QMSOS4.1_^1_%STA* CSWW_NMSOS4.1_^1_%JMP- (DISP)_LMSOS4.1_^1PS1ALF ALF 3,PASS1_KMSOS4.1_^1PS2ALF ALF 3,PASS2_KMSOS4.1_^1PS3ALF ALF 3,PASS3_KMSOS4.1_^1PS4ALF ALF 3,TABLST_JMSOS4.1_^1PS5ALF ALF 3,XREF_LMSOS4.1_^1MA5_"ADC 0_QMSOS4.1_^1_%EQU ENDASB(MA5+1)_EMSOS4.1_^1_%EJT_]_^1************************************************************************_^1* THE CONTENTS O€€F SYTRFM IN XREF HAVE TWO SIGNIFICANCES_^1*_$1- SECTOR NUMBER DEFINED IN PASS2_^1*_-2- INDEX SYINDM AT THIS TIME_^1*_'15_,8 7_,0_^1*_(******************************_^1*_(*_!INDEX_$* SECT. NB. *_^1*_(*_-*_,*_^1*_(******************************_^1*_]_^1* XREF_]_^1* -----_]_^1*_]_^1*_]_^1* GIVES LIST OF SYMBOLS BY EQUIVALENCES_^1*_9SYMBOLS_^1*_9EXTERNALS,_^1*_%AND ALPHABETICAL LIST€€ OF SYMBOLS._^1*_]_^1* PASS2 GIVES DEFINITION OF SYMBOLS IN TWO WORDS_^1*_-1- COMPLEMENT DEFINED LINE NUMBER_^1*_-2- SYMBOL ADDRESS TO SYMBOL TABLE OR EXTERNAL TABLE_^1* PASS3 SAME THING WHICH PASS2, BUT BY REFERENCE._^1************************************************************************_^1XREF_!RTJ- ($F4)_(STATUS STD.PRINT DEVICE_-MSOS4.1_^1_%NUM $4600_^1_%VFD N3/0,N1/0,N2/2€€,X10/STDPRT_9MSOS4.1_^1_%NUM 0_QMSOS4.1_^1_%SQP TAG100_LMSOS4.1_^1_%JMP* XREF_NMSOS4.1_^1TAG100 TRQ A_QMSOS4.1_^1_%AND* TYPECD_'MASK OUT TYPE CODE_2MSOS4.1_^1_%ALS 5_QMSOS4.1_^1_%INA -1_PMSOS4.1_^1_%SAZ MAGTAP_'STD.PRINT IS MAG.TAPE_/MSOS4.1_^1_%INA -4_PMSOS4.1_^1_%SAN TAG101_LMSOS4.1_^1_%JMP* XREF1_(STD.PRINT IS PRINTER_0MSOS4.1_^1TAG101 LDA =N$0C00_^1_%STA CARCON_LMSOS4€€.1_^1TAG102 ENA 36_^1_%STA CRXX_)SET PRINT FOR TTY MODE_^1_%STA LNLGTH_^1_%JMP* XREF1_MMSOS4.1_^1MAGTAP LDA =N$3120_KMSOS4.1_^1_%STA CARCON_LMSOS4.1_^1_%JMP* TAG102_^1TYPECD NUM $3800_(TYPE CODE MASK_6MSOS4.1_^1STOKQ BSS STOKQ_MMSOS4.1_^1STOKA BSS STOKA_MMSOS4.1_^1SAVEI BSS SAVEI_MMSOS4.1_^1SAVEA BSS SAVEA_MMSOS4.1_^1SAVEQ BSS SAVEQ_MMSOS4.1_^1ENDTSR BSS ENDTSR_'EN€€D SYM.TBL.REF.ADDR._/MSOS4.1_^1ENDTSD BSS ENDTSD_'END SYM.TBL.DEF.ADDR._/MSOS4.1_^1_%EJT_]_^1************************************************************************_^1*_]_^1* CORE ALLOCATION_^1* ---------------_^1*_]_^1*_,*********************************************_^1*_,*_J*_^1*_,*_(PROTECTED CORE_3*_^1*_,*_J*_^1*_,**********************************************_^1*_,*_K*_^1*_,*€€_(ASSEMBLER(XREF)_3*_^1*_,*_K*_^1*_,**********************************************_^1*_,*_K*_^1*_,*_(SYMBOL TABLE_6*_^1*_,*_6**********************_^1*_,*************************SYTRFM_-*_^1*_,*_K*_^1*_,*_(SYMBOL TABLE DEFINITION_+*_^1*_,*_K*_^1*_,*_:ENDTSD************_^1*_,***********************************_)*_^1*_,*_K*_^1*_,*_(SYMBOL TABLE REFERENCE_,*_^1*_,*_K*_^1*_,*_K*_^1*_,*€€_"ENDSTR***********************************_^1*_,************_@*_^1*_,*_K*_^1*_,**********************************************_^1*_,*_K*_^1*_,*_(EXTERNAL TABLE_4*_^1*_,*_K*_^1*_,**********************************************_^1*_,*_K*_^1*_,*_(COMMON_<*_^1*_,*_K*_^1*_,**********************************************_^1*_]_^1*************************************************************€€***********_^1_%EJT_]_^1XREF1 LDA =XCONS_LMSOS4.1_^1_%STA- I_QMSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA- LN,I_NMSOS4.1_^1_%RAO L_QMSOS4.1_^1_%LDA SYTRFM_'END ADDR.OF SYM.TBL.IN PASS2_(MSOS4.1_^1_%AND- $A_PMSOS4.1_^1_%MUI =N96_NMSOS4.1_^1_%STA* ENDTSD_'NO.OF WRS.ON THE DISK_/MSOS4.1_^1_%LDA SYTRFM_LMSOS4.1_^1_%AND- $1A_OMSOS4.1_^1_%ARS 8_QMSOS4.1_^1_%ADD* ENDTSD_LMSOS4.1_^1_%STA* E€€NDTSD_LMSOS4.1_^1_%ENQ 1_QMSOS4.1_^1_%LDA- ST,I_)START ADDR.SYM.TBL._1MSOS4.1_^1_%INA -1_PMSOS4.1_^1_%STA- I_QMSOS4.1_^1SYLGTB LDA- 1,I_*1ST WRD.OF SYM.TBL._1MSOS4.1_^1_%SAZ SY1_*CHECK IF END OF TBL._0MSOS4.1_^1_%RAO- I_,INCREASE ADRESS_5MSOS4.1_^1_%INQ 1_,INCREASE LENGTH COUNT_/MSOS4.1_^1_%JMP* SYLGTB_'FOR THE NEXT WORD_3MSOS4.1_^1SY1_"STQ* STOKQ_(LENGTH OF THE SYM.TBL._.MSOS4€€.1_^1_%LDA SYCADM_'CURRENT SECT.ADDR._2MSOS4.1_^1_%SUB SYTRFD_'NO. OF UTILITY SECTORS_.MSOS4.1_^1_%MUI =N96_)NO. OF WORDS_8MSOS4.1_^1_%ADD SYINDM_'NO. OF WORDS IN CORE_0MSOS4.1_^1_%STA* ENDTSR_'END OF S.R.T._7MSOS4.1_^1_%ADD* STOKQ_(NO.WRDS IN SYM.TBL AND SYM.REF.TBL. MSOS4.1_^1_%LDQ =XCONS_'COMMON ADRESS_7MSOS4.1_^1_%STQ- I_,RESTORE CONS_8MSOS4.1_^1_%ADD- ST,I_)ADDRESS WHICH€€ GIVES SYM TAB + S.R.T. MSOS4.1_^1_%SUB SYEXT_(CAN EXT,SYM.TBL,SYM.REF.TBL.GET IN COMSOS4.1_^1*_8CAN I MAKE SYM REF TABL + SYM TABL + EXTERNAL_^1*_8CAN I MAKE S.R.T. + S.T. + E.T. IN CORE_^1_%SAM SY2_*YES_AMSOS4.1_^1_%LDA SYEXT_MMSOS4.1_^1_%SAZ SY2_OMSOS4.1_^1_%ENA 1_,LISTING SWITCH_6MSOS4.1_^1_%STA L_QMSOS4.1_^1_%STA C_P*MSOS4.1_^1_%JMP ASSEM_MMSOS4.1_^1* O.K. NOW MOVE SYM€€BOL REF TABLE AFTER SYMBOL TABLE_^1*_$TWO POSITIONS_^1*_)1- SYM REF TBL IS ONLY IN CORE_^1*_)2- SYM REF TBL IS IN CORE AND MASS STORAGE_^1*_]_^1SY2_"LDA- ST,I_)START SYM.TBL._6MSOS4.1_^1_%ADD* STOKQ_(LENGTH S.T._9MSOS4.1_^1_%INA 1_,FOR TEST END-FILE OF THIS TABLE_$MSOS4.1_^1_%STA SYTRFM_'START ADDR SYM.REF.TBL._-MSOS4.1_^1_%STA* STOKA_(ADDRESS TO WRITE SYM REF TABLE_%MSOS4.1_^1_%€€ADD* ENDTSD_'END ADDRESS OF SYM REF TABLE_(MSOS4.1_^1_%STA* ENDTSD_LMSOS4.1_^1_%ADD* ENDTSR_LMSOS4.1_^1_%STA* ENDTSR_'END ADDR.S.R.T._5MSOS4.1_^1_%LDA- DSWW,I_'REQUEST, IS IT FREE_1MSOS4.1_^1_%SAN 1_,O.K. I CAN WAIT TO CALL_-MSOS4.1_^1_%JMP* *-2_*WAIT_@MSOS4.1_^1_%LDA SYCADM_'LAST CURRENT SECTOR ON DISK_)MSOS4.1_^1_%SUB SYTRFD_'NO. OF SECTORS_6MSOS4.1_^1_%SAN 1_QMSOS4.1_^1_%JMP€€* SYNTRF_'NO SECTORS ON DISK_2MSOS4.1_^1_%MUI =N96_)NO. OF WORDS TO BE TRANSFERRED_%MSOS4.1_^1_%STA DISKRD+5_$TRANSFER LENGTH FOR REQUEST_)MSOS4.1_^1_%STA* STOKA_MMSOS4.1_^1_%LDQ SYTRFD_'START ADDRESS ON DISK_/MSOS4.1_^1_%LDA SYTRFM_'START ADDRESS IN CORE_/MSOS4.1_^1_%RTJ DIN_*XFER DISK-CORE_6MSOS4.1_^1_%LDA SYTRFM_LMSOS4.1_^1_%ADD* STOKA_(FOR TRANSLAT S.R.T. WHICH IS IN CORE€€ MSOS4.1_^1_%STA* STOKA_MMSOS4.1_^1SYNTRF LDQ* STOKA_(CONTINUATION ADDRESS_0MSOS4.1_^1_%INQ -1_PMSOS4.1_^1_%ENA 1_QMSOS4.1_^1_%STA- I_QMSOS4.1_^1SYTFST LDA SYRFTS-1,I_"ADDR.OF START_7MSOS4.1_^1_%STA- 1,Q_OMSOS4.1_^1_%LDA SYINDM_LMSOS4.1_^1_%SUB- I_,END OF TRANSFER_5MSOS4.1_^1_%RAO- I_,INCREASE FOR NEW LOOP_/MSOS4.1_^1_%SAZ 2_,END LOOP_MSOS4.1_^1_%INA -1_+REFERENCE AT LINE NUMBER_,MSOS4.1_^1_%STA- I_QMSOS4.1_^1_%LDA- 1,I_*VALUE_?MSOS4.1_^1_%TCA A_QMSOS4.1_^1_%LDQ =XCONS_'COMMON ADDRESS_6MSOS4.1_^1_%STQ- I_QMSOS4.1_^1_%ENQ 1_,PARA. FOR DECV_6MSOS4.1_^1_%STA- W2,I_NMSOS4.1_^1_%RTJ DECV_)RETURN IN SY W2 NUMBER_.MSOS4.1_^1_%LDA =N$2C20_%FOR ,_?MSOS4.1_^1_%LDQ* INFOUT_LMSOS4.1_^1_%STA SYRFTS,Q_$TO OUTPUT_;MSO€€S4.1_^1_%LDA- SY,I_)STORE TO OUTPUT BUFFER_.MSOS4.1_^1_%STA SYRFTS+1,Q_HMSOS4.1_^1_%LDA- SY+1,I_LMSOS4.1_^1_%STA SYRFTS+2,Q_HMSOS4.1_^1_%INQ 3_,INCREASE INDEX_6MSOS4.1_^1_%STQ* INFOUT_LMSOS4.1_^1_%LDA* INFOUT_LMSOS4.1_^1_%SUB =N65_)IF NOT SET UPON ENTRY INTO XREF_^1CRXX_!EQU CRXX(*-1)_#THEN PRINT 130 CHARACTERS_^1_%SAP 2_,O.K. NO PRINT_7MSOS4.1_^1_%LDA* IRLN_)CONTINUATION ADD€€RESS_0MSOS4.1_^1_%JMP* CCRF_)TO CONTINUE REFERENCE RESEARCH_%MSOS4.1_^1_%LDA* WD_+BLANK OUT INITIAL COMMA_^1_%STA SYRFTS+18_^1_%LDA =XCONS_'COMMON ADDRESS_6MSOS4.1_^1_%STA I_QMSOS4.1_^1_%LDQ LNLGTH_'LENGTH OF PRINT LINE_^1_%LDA =XSYRFTS_$START ADDRESS OF PRINT BUFFER_'MSOS4.1_^1_%RTJ SYWRT_(TO PRINT_ LOW BLOCK_^1*_)PASS 5_$LOW BLOCK ----> HIGH BLOCK_^1*_)PASS 4_$HIGH BLOCK ----> LOW BLOCK_^1€€*_).... ._$.... ..... ..... ... ....._^1*_).... ._$.... ..... ..... ... ....._^1*_)PASS 1_$LOW BLOCK ----> HIGH BLOCK (FINAL RESULT)_^1_'BSS HADR_(HIGH ADDRESS BLOCK_2MSOS4.1_^1_'BSS LADR_)LOW ADDRESS BLOCK_3MSOS4.1_^1_'BSS TRADST_'START ADDRESS FOR RESEARCH_*MSOS4.1_^1*_:PASS, 6, 4, 2, = HADR_^1*_:PASS, 5, 3, 1, = LADR_^1_%BZS LFORRT_'FLAG, 1= HALF LEFT WORD_-MSOS4.1_^1*_>0= HA€€LF RIGHT WORD_^1_%BSS PASSNB_'PASS NUMBER_9MSOS4.1_^1_%BSS LS_+LENGTH SYMBOL_7MSOS4.1_^1_%BZS FLGADR_'TRANSFER DIRECTION_2MSOS4.1_^1_%BSS WDTS_)TEST WORD, POSITION OF WORD IN SYMBOLMSOS4.1_^1*_:FLGADR= 0, HADR TO LADR_^1*_@= 1, LADR TO HADR_^1*_]_^1************************************************************************_^1_%EJT_]_^1SORT_!LDA- ST,I_)START ADDRESS FOR BEGINING_)*€€MSOS4.1_^1_%INA -1_PMSOS4.1_^1_%STA* HADR_)INITIALISATION FOR PASS6_,MSOS4.1_^1_%STA* TRADST_'START ADDRESS FOR CHECKING_*MSOS4.1_^1_%ENA 6_,NUMBER OF PASS_6MSOS4.1_^1_%STA* PASSNB_LMSOS4.1_^1_%ENA 3_,NUMBER OF WORDS_5MSOS4.1_^1_%STA* WDTS_NMSOS4.1_^1NEXTST RTJ RAZ_*0 IN SYRFTS VECTOR_2MSOS4.1_^1_%ENA 0_QMSOS4.1_^1_%STA* LS_+LENGTH OF SYMBOL_4MSOS4.1_^1_%LDA* TRADST_'CHECK ADD€€RESS START (HADR OR LADR)_!MSOS4.1_^1_%STA- I_QMSOS4.1_^1SOR1_!LDA- 1,I_*FIRST WORD_:MSOS4.1_^1_%RAO* LS_+LENGTH OF SYMBOL_4MSOS4.1_^1_%SAN 1_,TEST NEGATIVE VALUE_1MSOS4.1_^1_%JMP* SOR2_)AND END OF VALUE_4MSOS4.1_^1_%SAM 2_,RESEARCH_**MSOS 4.0_^1_(LDA- SY,I_^1_(SAN_!1_^1_(JMP* MDX2-2_^1_(SUB_!=N$16E_^1_(SAN_!MDX1-*-1_^1_(LDA- SY+1,I_^1_(SUB_!=N$242D_^1_(SAN_!MDX1€€-*-1_^1_(LDA- SY+2,I_^1_(SUB_!=N$2123_^1_(SAZ_!MDX2-*-1_^1MDX1_#RTJ* GETOP_^1_(SUB_!=N$3423_%MAC OPCODE_^1_(SAN_!1_^1_(JMP- (MCDEF)_"MACDEF_=**MSOS 4.0_^1_(RTJ- (MERROR)_!MER_@**MSOS 4.0_^1MDX2_#LDQ- DIRINX,I_^1_(INQ_!-5_^1_(LDA_!DIRBUF,Q_$FLAG LAST DIR_^1_(TCA_!A_,ENTRY_^1_(STA* (*-2),Q_^1_(LDQ- DIRSEC,I_^1_(LDA_!=XDIRBUF_^1_(RTJ- (DKOUT)_"DOUT_?**MSOS 4.0_^1_(LDA- SKWDCT€€,I_^1_(ENQ_!0_^1_(DVI_!=N96_^1_(ADD- SKSCST,I_^1_(INA_!-1_^1_(STA- T1,I_^1MDX3_#LDQ- SKSCST,I_^1_(LDA_!=XINBUF_^1_(RTJ- (DINPUT)_!DIN_@**MSOS 4.0_^1_(ENQ_!48_^1_(LDA* (MDX3+2),Q_^1_(SAM_!2_,Q CONTAINS NUMB_^1_(INQ_!1_,WDS TO OUTPUT_^1_(JMP* *-3_^1_(RTJ* OUTBIN_^1_(LDA- SKSCST,I_^1_(SUB- T1,I_^1_(SAZ_!2_^1_(RAO- SKSCST,I_^1_(JMP* MDX3_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1€€_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_!0_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_!5_^1_(ADC_!MSSG_^1_(ENA_!0_^1_(STA- CSW,I_^1_%RTJ- (REQPRO)_$FREAD REQUEST._^1_(NUM_!$4800_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDICD_^1_(ADC_!10_^1_(ADC_!INBUF_^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1_(RTJ- (WREOF)_"WRITE END OF FILE_2**MSOS 4.0_^1MDX4_#LDQ- €€DRSCST,I_^1_(LDA* MDX3+2_'INBUF_^1_(RTJ- (DINPUT)_!DIN_@**MSOS 4.0_^1_(ENQ_!96_^1_%RTJ* OUTBIN_^1_)LDA- DRSCST,I_^1_(SUB- DIRSEC,I_^1_(SAZ_!2_^1_(RAO- DRSCST,I_^1_(JMP* MDX4_^1_(RTJ- (WREOF)_"WRITE END OF FILE_2**MSOS 4.0_^1ENDEXT_!RTJ- (REQPRO)_!EXIT REQUEST_7**MSOS 4.0_^1_(NUM_!$A00_^1OUTBIN_!ADC_!0_^1_(STQ* OB1_^1_(ENA_!0_^1_(STA- CSW,I_^1_%RTJ- (REQPRO)_$FWRITE REQUES€€T._^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1_%VFD N3/0,N1/0,N2/2,X10/STDOUT_^1OB1_$ADC_!0_^1_(ADC_!INBUF_^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1_(JMP* (OUTBIN)_^1GETOP_"ADC_!0_^1_(ENA_!0_^1_(STA- IG,I_^1_(ENA_!-1_^1_(STA- CT,I_^1_(RTJ* CHPU_-GET 1ST CHAR_^1_(SAZ_!G1-*-1_'NO LABEL_^1_(INA_!-$A_*ASTERISK_^1_(SAN_!2_,NO_^1_(ENA_!-1_^1_(JMP* (GETOP)_^1_(RTJ- (MCHP€€KR)_!MCHPR_>**MSOS 4.0_^1G1_%RAO- IG,I_^1_(RTJ- (MCHPKR)_!MCHPR_>**MSOS 4.0_^1_(SAZ_!G2-*-1_'SY PRESENT_^1_(ENA_!$3F_^1_(AND- SY+1,I_^1_(SAZ_!4_^1G2_%ENA_!0_^1_(STA- NU,I_^1_(RAO- IG,I_)SET TO SKIP LEADING BLN_^1_(JMP* (GETOP)_^1_(LDQ- SY,I_^1_(LRS_!6_^1_(ALS_!6_^1_(QLS_!10_^1_(INA_!-$20_^1_(SAM_!G3-*-1_^1_(ALS_!5_^1_(AAQ_!A_^1_(LDQ- SY+1,I_^1_(QRS_!8_^1_(INQ_!-$20_^1_(SQP_€€!1_^1G3_%JMP* G2_^1_(AAQ_!A_^1_(JMP* G2+1_^1CHPU_#ADC_!0_^1_(RAO- CT,I_)INCREMENT CHAR CTR_^1_(ENA_!0_^1_(LDQ- CT,I_^1_(INQ_!-72_^1_(SQM_!5_^1_(LDA- AF,I_^1_(SAN_!1_^1_(JMP* C1+1_^1_(ENQ_!-0_^1_(JMP* (CHPU)_^1_(INQ_!72_^1_(LRS_!1_^1_(ADQ- INPADR,I_F**MSOS 4.0_^1_(LDQ- ($22),Q_G**MSOS 4.0_^1_(SAZ_!1_^1_(QLS_!8_^1_(QRS_!8_,Q CONTAINS 7 BIT CHAR_^1_(LDA- AF,I_^1_(SAZ_!1_^1_(€€JMP* (CHPU)_^1_(SQM_!C3+1-*-1_$NULL-IGNORE IT_^1_(INQ_!-$9_*TAB-IS END OF FIELD_^1_(SQZ_!C3-*-1_'YES-A IS ZERO SO WILL EXIT_^1_(LDA- IG,I_^1_(INQ_!-$4_*CARRIAGE RETURN_^1_(SQN_!3_,NO_^1_(ENA_!71_+SET CTR FOR_^1_(STA- CT,I_^1_(JMP* CHPU+1_^1_(INQ_!-$13_)BLANK_^1_(SQM_!C1-*-1_'CHAR ILLEG_^1_(SQN_!2_^1C3_%SAZ_!C1+1-*-1_$CHAR BLNK-IG NOT SET_^1_(JMP* CHPU+1_'GO BACK FOR NEXT CHR_^€€1_(INQ_!-$40_)UPPERBOUND FOR LEGAL_^1_(SQM_!C2-*-1_'IS LEGAL_^1C1_%ENA_!$3C_^1_(STA- CS,I_^1_(ENQ_!0_^1_(STQ- IG,I_^1_(JMP* (CHPU)_^1C2_%INQ_!$40_*6 BIT CHAR FOR OUTPUT_^1_(TRQ_!A_^1_(JMP* C1+1_^1MSSG_#ALF_!5,MACSKL END_^1_(ORG_!$C9_^1_(ADC_!MCHPR,MACDEF $C9,$CA_^1_(ORG*_^1XC_%NUM_!0,$C,$B BLANK,COMMA,PLUS_^1_(NUM_!$D,$A MINUS,ASTERISK_^1MCHPR_"ADC_!0_^1_(ENA_!0_^1_(ENQ_!4_^1_€€(STA- SY,B_)ZERO SY,XMOD_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1XLOP_#RTJ- (CHPKUP)_!CHPU_?**MSOS 4.0_^1_(ENQ_!4_^1X1_%LDA- CS,I_^1_(SUB* XC,Q_)SEARCH SPECIALS_^1_(SAZ_!XLO1-*-1_$FOUND_^1_(INQ_!-1_^1_(SQM_!X5-*-1_'NOT FOUND_^1_(JMP* X1_^1XLO1_#STQ- CS,I_)SET CS INDICATOR_^1_(SQZ_!2_^1_(INQ_!-1_^1_(SQN_!1_^1_(JMP* XB_+COMMA BLANK_^1_(JMP* XP_+PLUS,MINUS,ASTERISK_^1X5_%LDQ- €€XMOD,I_^1_(INA_!-$10_^1_(SAM_!XA-1-*-1_$ERR-BELOW LOWER BOUND_^1_(INA_!-$A_^1_(SAP_!2_,NOT NUMERIC_^1_(SQZ_!XA-1-*-1_$NUMERIC INITIAL MODE_^1_(JMP* XALF_^1_(INA_!-7_^1_(SAM_!XA-1-*-1_$NOT ALPHA ERROR_^1_(INA_!-$1B_^1_(SAM_!1_,NOT ALPHA ERROR_^1_(JMP* XR_^1XA_%SQN_!XALF-*-1_^1_(RAO- XMOD,I_^1_(ENQ_!0_^1_(INA_!$1C_*CONVERT TO 5 BIT VALUE_^1_(ALS_!6_^1_(JMP* XB-3_^1XALF_#LDQ- SY+€€3,I_^1_(INQ_!-6_^1_(SQZ_!XB-1-*-1_$6 CHARS EIXT_^1_(INQ_!6_^1_(ENA_!0_^1_(LRS_!1_^1_(SAN_!3_^1_(LDA- CS,I_^1_(ALS_!8_^1_(JMP* *+2_^1_(LDA- CS,I_^1_(ADD- SY,B_^1_(STA- SY,B_^1_(RAO- SY+3,I_^1_(JMP* XLOP_^1XB_%LDQ- XMOD,I_^1_(SQN_!1_^1_(RAO- SY+1,I_^1XB2_$LDQ- SY+3,I_^1_(SQZ_!3_^1_(INQ_!-1_^1_(QRS_!1_^1_(STQ- SY+3,I_^1XX_%LDA- SY,I_^1_(JMP* (MCHPR)_^1XP_%LDQ- XMOD,I_^1_€€(SQZ_!1_^1_(JMP* XB2_^1XR_%RTJ- (CHPKUP)_!CHPU_?**MSOS 4.0_^1_(SAZ_!XR1-*-1_^1_(ENQ_!1_^1_(STQ- CS,I_^1_(INA_!-$C_^1_(SAZ_!XR1-*-1_^1_(JMP* XR_^1XR1_$ENA_!0_^1_(ENQ_!3_^1_(STA- SY,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-3_^1_(JMP* XX_^1MACDEF_!LDA_!=XSKLBUF_$SET SKEL ADDR_^1_(STA- SKLADR,I_^1_(LDA- CS,I_)TERMIN BLANK_^1_(SAN_!6_,NO_^1_(ENA_!-1_+INITIALIZE CHR CTR_^1_(STA- CT,€€I_^1MD3_$RTJ* MCHPR_,GET MACRO NAME_^1_(SAZ_!2_,NO NAME_^1_(LDA- CS,I_)TERMIN BLANK_^1_(SAZ_!1_^1_(JMP* MD14 SLMC_^1_(RTJ- (RECV1)_"CONVERT NAME TO 7 BITS--RECV_'**MSOS 4.0_^1_(RAO- DIRINX,I_^1_(LDA- DIRINX,I_^1_(INA_!-96_*THIS DIR FULL_^1_(SAN_!5_,NO_^1_(STA- DIRINX,I_^1_(LDQ- DIRSEC,I_$YES-OUTPUT IT_^1_(RAO- DIRSEC,I_^1_(LDA* MD1+1_^1_(RTJ- (DKOUT)_"DOUT_?**MSOS 4.0_^1€€_(LDQ- DIRINX,I_$PUT AWAY MACRO NAME_^1_(LDA- SY,I_^1MD1_$STA+ DIRBUF,Q_^1_(INQ_!1_^1_(LDA- SY+1,I_^1_(STA* (MD1+1),Q_^1_(INQ_!1_^1_(LDA- SY+2,I_^1_(STA* (MD1+1),Q_^1_(INQ_!1_^1_(STQ- DIRINX,I_^1_(LDA_!=N$2E20_%PUT PERIOD AS_^1_(STA* (MCON+4) PTBL 1ST FORMAL PARAM_^1_(ENA_!1_^1_(STA- FPRINX,I_$SET FORMAL PARAM INX_^1_(RAO- IG,I_^1_(RTJ* MCHPR_(SLEW OPCODE_^1_(RAO- IG,I€€_^1_(RTJ* MDSB1_^1_(LDA- FPRINX,I_$NUMB FORMALS_^1_(LDQ- DIRINX,I_$TO DIRECTORY_^1_(STA* (MD1+1),Q_^1_(INQ_!2_^1_(LDA- SKWDCT,I_)SKELETON PTR_^1_(STA* (MD1+1),Q_#TO DIRECTORY_^1_(STQ- DIRINX,I_^1_(RAO- LOCSW,I_%SET LOCAL SWITCH_^1GETSKL_!RTJ- (RDIMAG)_!GET NEXT IMAGE_!READIM_,**MSOS 4.0_^1_(RTJ- (GETTOP)_!GET OP CODE GETOP_1**MSOS 4.0_^1_(LDQ- INPADR,I_^1_(STQ- CRPADR,€€I_$SET TO GET SKEL_^1_(LDQ- LOCSW,I_^1_(SQZ_!MD5-*-1_%LOC PROC DONE_^1_(SAP_!2_^1_(STA- NU,I_)ASTERISK_^1_(JMP* MD16_^1_(SUB_!=N$31E3_%LOC IMAGE_^1_(SAN_!1_,NO_^1_(JMP* LOCP_^1MD16_#ENA_!0_^1_(RTJ* LOCRTN_^1_(LDA- NU,I_^1MD5_$SAP_!MD9-*-1_^1_(ENA_!$21_*CHANGE ASTERISK_^1_(RTJ- (NEWPT)_"TO EXCLAIM POINT NEWPUT_+**MSOS 4.0_^1_(ENA_!0_^1_(STA- CT,I_^1_(STA- NC,I_^1_(RTJ- (M€€V11)_#OUTPUT REST_!MV1_2**MSOS 4.0_^1_(RTJ- (SKELOT)_!OF IMAGE_#SKLOUT_0**MSOS 4.0_^1_(JMP* GETSKL_'AS IT STANDS_^1MD9_$LDA- NU,I_.CONVERTED OPCODE_^1_(SUB_!=N$15A3_*IS IT EMC_^1_(SAN_!1_0NO_^1_(JMP* MD10_-YES-PROCESS IT_^1_(ENA_!-1_^1_(STA- CT,I_^1_(STA- NC,I_)NEW COUNT_^1MD11_#RTJ-_!(CHRPC)_"CHRPIC_<**MSOS 4.0_^1_(SAM_!MD12-*-1_$END OF INP IMAGE_^1_(RTJ- (NEWPT)_"NEWPUT_=**€€MSOS 4.0_^1_(SAP_!3_^1MD12_#RTJ- (CRPUT1)_!PUT CR IN NEW IMAGE_!CROUT_(**MSOS 4.0_^1_(RTJ- (SKELOT)_!SKLOUT_=**MSOS 4.0_^1_(JMP* GETSKL_'GET NEXT SKEL_^1_(INA_!-$27_)APOSTROPHE_^1_(SAZ_!1_,YES_^1_(JMP* MD11_)NO-GET NEXT CHAR_^1_(RTJ- (CHRPC)_"CHRPIC_=**MSOS 4.0_^1_(SAM_!3_,ERROR_^1_(ALS_!8_^1_(STA- T1,I_)1ST CHAR_^1_(RTJ- (CHRPC)_"CHRPIC_=**MSOS 4.0_^1_(SAM_!10_+ERROR_^1_(IN€€A_!-$27_)APOSTROPHE_^1_(SAN_!1_,NO_^1_(INA_!-7_+YES-MAKE 2ND CHAR BLANK_^1_(INA_!$27_^1_(ADD- T1,I_^1_(STA- T1,I_^1_(LDA- CS,I_^1_(INA_!-$27_^1_(SAZ_!MD13-1-*-1_^1_(RTJ- (CHRPC)_"CHRPIC_=**MSOS 4.0_^1_(SAM_!MD14-*-1_^1_(INA_!-$27_)APOSTROPHE_^1_(SAN_!MD14-*-1 SLMC_^1_(LDQ- FPRINX,I_^1MD13_#LDA- T1,I_^1_(SUB* (MCON+4),Q PTBL_^1_(SAZ_!4_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* MD13_^1€€MD14_#JMP- (SLMC1)_"SLMC_?**MSOS 4.0_^1_(TRQ_!A_^1_(INA_!1_^1_(RTJ- (NEWPT)_"NEWPUT_=**MSOS 4.0_^1_(SAM_!LOCP+2-*-1 SLMC_^1_(JMP* MD11_^1MCON_#ADC_!0,0,0,0_^1_(ADC_!PTBL_^1LOCP_#LDA- CS,I_^1_(SAZ_!1_^1_(JMP- (SLMC1)_"SLMC_?**MSOS 4.0_^1_(LDA- FPRINX,I_^1_(STA- TP1,I_^1_(RTJ* MDSB1_^1_(LDA- FPRINX,I_^1_(SUB- TP1,I_^1_(RTJ* LOCRTN_^1_(JMP* GETSKL_^1LOCRTN_!ADC_!0_^1_(LDQ-€€ DIRINX,I_^1_(INQ_!-1_^1_(STA* (MD1+1),Q_#SET NUMB OF LOCS_^1_(ENA_!0_^1_(STA- LOCSW,I_%ZERO LOCSW_^1_(LDQ- FPRINX,I_^1_(INQ_!-1_^1_(STQ- FPRINX,I_^1_(JMP* (LOCRTN)_^1MDSB1_"ADC_!0_^1MD2_$RTJ+ MCHPR_(GET PARAM_^1_(SAN_!8_^1_(LDA- SY+1,I_'NULL FIELD_^1_(SAZ_!8_,NO-ERROR_^1_(LDA- CS,I_^1_(SAN_!1_^1_(JMP* (MDSB1)_%TERMIN BLANK EXIT_^1_(INA_!-1_^1_(SAN_!3_,ERROR_^1_(JMP* MD2€€_^1_(LDA- SY+1,I_^1_(SAZ_!1_^1_(JMP* MD4_*SLMC MORE THAN TWO CHAR_^1_(RTJ- (RECV1)_"CONVERT PARAM TO 7 BITS_!RECV_$**MSOS 4.0_^1_(LDQ- FPRINX,I_^1_(INQ_!-1_^1_(LDA* (MCON+4),Q PTBL_^1_(SUB- SY,I_^1_(SAZ_!MD4-*-1_%ERROR-DUPLICATE PARAM_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-5_^1_(LDA- CS,I_^1_(INA_!-2_^1_(SAM_!1_^1MD4_$JMP- (SLMC1)_"SLMC_?**MSOS 4.0_^1_(LDA- SY,I_^1_(LDQ- FPRI€€NX,I_$PUT PARAM ASAY_^1_(STA* (MCON+4),Q PTBL_^1_(RAO- FPRINX,I_^1_(LDA- CS,I_^1_(SAZ_!1_^1_(JMP* MD2_^1_(JMP* (MDSB1)_^1MD10_#RTJ- (MVIMG)_"MOVE IMAGE TO NEW BUFFER MOVIMG_"**MSOS 4.0_^1_(LDA- SKBFSW,I_^1_(SAP_!1_^1_(RTJ- (SKELOT)_!OUTPUT THIS BUFF_%SKLOUT_%**MSOS 4.0_^1_(JMP- (MDEX1)_"MDEX_?**MSOS 4.0_^1STDSCR EQU STDSCR($B3)_^1STDINP EQU STDINP($F9)_^1_(ORG_!$C7_^1_(€€ADC_!MINZRO,READIM $C7,$C8_^1_(ORG_!$CB_^1_(ADC_!MER,DOUT,DIN $CB,$CC,$CD_^1_(ORG_!$D1_^1_(ADC_!SLMC,MOVIMG,SKLOUT $D1,$D2,$D3_^1_(ADC_!CHRPIC,NEWPUT,CRPUT $D4,$D5,$D6_^1_(ADC_!RECV,MV1 $D7,$D8_^1_(ADC_!EOF_K**MSOS 4.0_^1_(ORG*_^1MCON1_"ADC_!READIM_H**MSOS 4.0_^1MCON2_"ADC_!SKLOUT_H**MSOS 4.0_^1SLMC_#ENQ_!2_^1_(RTJ_!MER_^1_(ENQ_!0_^1_(LDA- DIRINX,I_^1_(DVI_!=N6_*ERASE THIS ENT_^€€1_(LDA- DIRINX,I_^1_(INA_!-1_^1_(STA- DIRINX,I_^1_(SQZ_!1_^1_(JMP* *-8_^1SL1_$RTJ* (MCON1)_"READIM_=**MSOS 4.0_^1_(RTJ- (GETTOP)_!GETOP_>**MSOS 4.0_^1_(SAM_!3_^1_(SUB_!=N$15A3_%EMC OPCODE_^1_(SAZ_!1_^1_(JMP* SL1_^1_(JMP- (MDEX1)_"MDEX_?**MSOS 4.0_^1MOVIMG_!ADC_!0_^1_(ENA_!-1_^1_(STA- CT,I_^1_(STA- NC,I_^1_(RTJ* MV1_^1_(RTJ* (MCON2)_"SKLOUT_=**MSOS 4.0_^1_(JMP* (MOVIMG)_€€^1MV1_$ADC_!0_^1_(RTJ* CHRPIC_^1_(SAM_!1_^1_(RTJ* NEWPUT_^1_(SAM_!1_^1_(JMP* MV1+1_^1_(RTJ* CRPUT_^1_(JMP* (MV1)_^1NEWPUT_!ADC_!0_^1_(STA- CHST,I_^1_(RAO- NC,I_^1_(LDQ- NC,I_^1_(INQ_!-72_^1_(SQN_!2_,BUFFER FULL_^1_(ENA_!-1_^1_(JMP* (NEWPUT)_^1_(INQ_!72_^1_(ENA_!0_^1_(LRS_!1_^1_(SAN_!N2-*-1_^1_(LDA- CHST,I_^1_(ALS_!8_^1_(ADD_!=N$FF_^1_(ADQ- SKLADR,I_F**MSOS 4.0_^1_(JMP* €€*+5_K**MSOS 4.0_^1N2_%LDA- CHST,I_^1_(EOR_!=N$FF00_^1_(ADQ- SKLADR,I_F**MOS 4.0_^1N1_%AND- ($22),Q_G**MOS 4.0_^1_(STA- ($22),Q_G**MOS 4.0_^1_(LDA- CHST,I_^1_(JMP* (NEWPUT)_^1CHRPIC_!ADC_!0_^1_(LDA- INPADR,I_$SAVE INPUT ADDR_^1_(STA- CHST,I_^1_(LDA- CRPADR,I_^1_(STA- INPADR,I_^1_(RAO- AF,I_^1_(RTJ- (CHPKUP)_!CHPU_?**MSOS 4.0_^1_(ENA_!0_^1_(STA- AF,I_^1_(LDA- CHST,I_^1_€€(STA- INPADR,I_$RESTORE INPUT ADR_^1_(SQM_!5_^1_(SQZ_!4_^1_(TRQ_!A_^1_(STA- CS,I_^1_(INQ_!-$D_^1_(SQN_!1_^1_(ENA_!-1_/SET A NEG FOR CR_^1_(JMP* (CHRPIC)_^1CRPUT_"ADC_!0_^1_(LDQ- NC,I_^1_(INQ_!-72_^1_(SQN_!5_^1_(ENQ_!36_^1CR1_$LDA_!=N$D00_^1_(ADQ- SKLADR,I_F**MSOS 4.0_^1_(STA- ($22),Q_G**MSOS 4.0_^1_(JMP* (CRPUT)_^1_(INQ_!72_^1_(ENA_!0_^1_(LRS_!1_^1_(INQ_!1_^1_(JMP* CR1_^1RE€€ADIM_!ADC_!0_^1_(RTJ* RIMSB_^1RD3_$LDA- INPADR,I_^1_(STA* RD1_^1_(ENA_!0_^1_(STA- CSW,I_^1_%RTJ- (REQPRO)_$FREAD REQUEST._^1_(NUM_!$4800_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDINP_^1_(ADC_!40_^1RD1_$ADC_!0_^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1RD2_$ENQ_!0_^1_(LDA* (RD1),Q_G**MSOS 4.0_^1_(SAM_!2_^1_(INQ_!1_^1_(JMP* RD2+1_^1_(LDA_!=N$D00_+PUT CR €€INTO BUFF_^1_(STA* (RD1),Q_G**MSOS 4.0_^1_(JMP* (READIM)_^1RIMSB_"ADC_!0_^1_(LDA- BUFFSW,I_^1_(TRA_!Q_^1_(QLS_!1_^1_(STQ- BUFFSW,I_^1_(SAM_!3_^1RIM1_#LDA_!=XINBUF_^1_(JMP* *+3_^1_(LDA_!=XINBUF+48_^1_(STA- INPADR,I_^1_(STA* RIM2_J**MSOS 4.0_^1_(ENA_!-0_^1_(ENQ_!40_^1_(STA+ 0,Q_K**MSOS 4.0_^1RIM2_#EQU_!RIM2(*-1)_E**MSOS 4.0_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-4_K**MSOS 4.0_^1_€€(JMP* (RIMSB)_^1RECV_#ADC_!0_^1_(LDA_!=N$2020_^1_(STA- T1+1,I_^1_(STA- T1+2,I_^1_(LDA_!=N$7C0_^1_(AND- SY,I_^1_(ARS_!6_^1_(SAZ_!1_^1_(INA_!$20_^1_(INA_!$20_^1_(ALS_!8_^1_(STA- T1,I_^1_(ENA_!$3F_^1_(AND- SY,I_^1_(INA_!$20_^1_(ADD- T1,I_^1_(STA- T1,I_^1_(ENQ_!-2_^1RR_%LDA- SY+3,B_^1_(ADD* RECV+2_^1_(STA- T1+3,B_^1_(INQ_!1_^1_(SQZ_!1_^1_(JMP* RR_^1_(ENQ_!2_^1_(LDA- T1,B_^€€1_(STA- SY,B_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-4_^1_(JMP* (RECV)_^1CO_%ENQ_!1_^1_(STQ_!CONS+CSW_^1_%RTJ- (REQPRO)_$EXIT REQUEST._^1_(NUM_!$A00_^1SKLOUT_!ADC_!0_^1_(LDA- SKBFSW,I_^1_(TRA_!Q_^1_(QLS_!1_^1_(STQ- SKBFSW,I_^1_(SAM_!SK2-*-1_^1_(ENA_!48_^1_(JMP* SK3_^1SK2_$ENQ_!0_^1_(LDA- SKWDCT,I_$GET SECTOR NO_^1_(DVI_!=N96_^1_(ADD- SKSCST,I_^1_(TRA_!Q_^1SK4_$LDA_!=XSKLBUF_$ADDR€€_^1_(RTJ_!DOUT_^1_(SOV_!0_^1_(LDA- SKWDCT,I_^1_(INA_!96_^1_(SOV_!OVFLOW_^1_(LDQ* OVIND_$CHECK OVERFLOW INDICATOR_^1_%SQZ_#NOOV_^1_(SAM_!NOOV_^1_(JMP* OVERR_^1NOOV_#STA- SKWDCT,I_^1_(RTJ* MINZRO_^1SK3_$ADD* SK4+1_^1_(STA- SKLADR,I_^1_(JMP* (SKLOUT)_^1OVFLOW_!RAO* OVIND_$SET OVERFLOW INDICATOR_^1_(JMP* NOOV_^1OVIND_"NUM_!0_^1OVERR RTJ- (REQPRO)_^1_%NUM $4C00_^1_%ADC ENDE€€XT_^1_%ADC 0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1_(ADC_!ERRLNG_^1_(ADC_!OVEROR_^1_%JMP- ($EA)_^1OVEROR ALF *,OVERFLOW,TO MANY MACRO DEFINITIONS*_^1_(EQU_!ERRLNG(*-OVEROR)_^1MINZRO_!ADC_!0_^1_(ENQ_!40_^1_(ENA_!-0_^1_(STA_!SKLBUF,Q_^1_(STA_!SKLBUF+48,Q_^1_(INQ_!-1_^1_(SQM_!1_^1_(JMP* *-6_^1_(JMP* (MINZRO)_^1MER_$ADC_!0_^1_(ENQ_!5_^1_(LDA_!=XERMSG_^1_(RTJ* TYPE_^1_(ENQ_!0_^1_(LD€€A- INPADR,I_F**MSOS 4.0_^1_(STA* MER1+1_H**MSOS 4.0_^1MER1_#LDA+ 0,Q_K**MSOS 4.0_^1_(SUB_!=N$D00_^1_(SAZ_!2_^1_(INQ_!1_^1_(JMP* *-6_^1_(LDA- INPADR,I_^1_(RTJ* TYPE_^1_%RTJ- (REQPRO)_$EXIT REQUEST._^1_(ADC_!$A00_^1TYPE_#ADC_!0_^1_(STA* TYP3_^1_(STQ* TYP2_^1_%RTJ- (REQPRO)_$FWRITE REQUEST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_!0_^1_(ADC_!0_^1_%VFD N3/0,N1/1,N2/2,X10/STDOCD_^1T€€YP2_#ADC_!0_^1TYP3_#ADC_!0_^1_(JMP* (TYPE)_^1ERMSG_"ALF_!5,*****ERROR_^1DOUT_#ADC_!0_^1_(STA* DISKWR+6_^1_(STQ* DISKWR+8_^1_(ENA_!0_^1_(STA- CSW,I_^1DISKWR RTJ- (REQPRO)_$FWRITE REQUEST._^1_(NUM_!$4C00_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1_(NUM_!96_^1_(ADC_!0_^1_(ADC_!0_^1_(ADC_!0_^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1_(JMP* (DOUT)_^1DIN€€_$ADC_!0_^1_(STA* DISKRD+6_^1_(STQ* DISKRD+8_^1_(ENA_!0_^1_(STA- CSW,I_^1DISKRD RTJ- (REQPRO)_$FREAD REQUEST._^1_(NUM_!$4800_I**MSOS 4.0_^1_(ADC_!CO_^1_(ADC_!0_^1_%VFD N3/0,N1/0,N2/2,X10/STDSCR_^1_(NUM_!96_^1_(ADC_!0_^1_(ADC_!0_^1_(ADC_!0_^1_(LDA- CSW,I_^1_(SAN_!1_^1_(JMP* *-2_^1_(JMP* (DIN)_^1EOF_$ADC_!0_M**MSOS 4.0_^1_(ENA_!0_M**MSOS 4.0_^1_(STA- CSW,I_I**MSOS 4.0_^1WRTEO€HF_!RTJ- (REQPRO)_!MOTION REQUEST TO WRITE E-O-F_%**MSOS 4.0_^1_(NUM_!$5C00_I**MSOS 4.0_^1_(ADC_!CO_L**MSOS 4.0_^1_(NUM_!0_M**MSOS 4.0_^1_(VFD_!N4/0,N2/2,X10/STDOUT_:**MSOS 4.0_^1_(NUM_!$2000_I**MSOS 4.0_^1_(LDA- CSW,I_I**MSOS 4.0_^1_(SAN_!1_M**MSOS 4.0_^1_(JMP* *-2_K**MSOS 4.0_^1_(JMP* (EOF)_I**MSOS 4.0_^1_(END_!LIBMAC_^__HPMACROS CSY/ A12 P€1O0S_"MAC_!AD,RA,RB,OP,M_^1_%O1'RA''.' 'AD','RB','OP','M'_^1_%EMC_]_^1O11_"MAC_!AD,RB,OP,M_^1_%O0T'.' 'AD',1,'RB','OP','M'_^1_%EMC_]_^1O12_"MAC_!AD,RB,OP,M_^1_%O0T'.' 'AD',2,'RB','OP','M'_^1_%EMC_]_^1O13_"MAC_!AD,RB,OP,M_^1_%O0T'.' 'AD',3,'RB','OP','M'_^1_%EMC_]_^1O14_"MAC_!AD,RB,OP,M_^1_%O0T'.' 'AD',4,'RB','OP','M'_^1_%EMC_]_^1O1Q_"MAC_!AD,RB,OP,M_^1_%O0T'.' 'AD',5,'RB','OP','M'_^€€1_%EMC_]_^1O1A_"MAC_!AD,RB,OP,M_^1_%O0T'.' 'AD',6,'RB','OP','M'_^1_%EMC_]_^1O1I_"MAC_!AD,RB,OP,M_^1_%O0T'.' 'AD',7,'RB','OP','M'_^1_%EMC_]_^1O1_#MAC_!AD,RB,OP,M_^1_%O0T'.' 'AD',0,'RB','OP','M'_^1_%EMC_]_^1O0T_"MAC_!AD,RA,RB,OP,M_^1_%IFC_!====='AD',EQ,======_^1_%VFD N8/4,N2/0,X3/'RA',X3/'RB'_^1_%VFD_!N4/'OP',N4/'M',N8/0_^1_)PCO_"2_^1_%VFD X16/'AD'_^1I0_#IFC_!A,NE,A_^1_%EIF_]_^1I5_€€#IFC_!'.',EQ,_^1_%IFC_!((((('AD',EQ,((((((_^1_%VFD N8/4,N1/1,N1/1,X3/'RA',X3/'RB'_^1I1_#IFC A,NE,A_^1_%EIF_]_^1_%VFD X8/4,X1/1,X1/0,X3/'RA',X3/'RB'_^1_%EIF I1_^1_%VFD X4/'OP',X4/'M'_^1_)PCO_"2_^1_%VFD_!X16/'AD'-*-2_^1I0_#IFC A,NE,A_^1_%EIF_!I5_^1I6_#IFC_!'.',EQ,*_^1_%IFC_!((((('AD',EQ,((((((_^1_%VFD N8/4,N1/1,N1/1,X3/'RA',X3/'RB'_^1I2_#IFC A,NE,A_^1_%EIF_]_^1_%VFD X8/4,X1/€€1,X1/0,X3/'RA',X3/'RB'_^1_%EIF_!I2_^1_)IFR_"'AD'-*,LT,128_^1_)IFR_"'AD'-*,GT,-128_^1_)PCO_"1_^1_%VFD_!X4/'OP',X4/'M',X8/'AD'-*-1_^1I0_#IFC A,NE,A_^1_%EIF_!I6_^1I7_#IFC_!'.',EQ,+_^1_%VFD X8/4,X1/0,X1/1,X3/'RA',X3/'RB'_^1_%VFD X4/'OP',X4/'M'_^1_)PCO_"2_^1_%IFC_!((((('AD',EQ,((((((_^1_%VFD_!N1/1,X15/'AD'_^1I3_#IFC A,NE,A_^1_%EIF_]_^1_%VFD_!X1/0,X15/'AD'_^1_%EIF I3_^1I0_#IFC A,NE€€,A_^1_%EIF_!I7_^1I8_#IFC_!'.',EQ,-_^1_)IFR_"'AD',LT,256_^1_%IFC_!((((('AD',EQ,((((((_^1_%VFD N8/4,N1/0,N1/1,X3/'RA',X3/'RB'_^1I4_#IFC A,NE,A_^1_%EIF_]_^1_%VFD X8/4,X1/0,X1/0,X3/'RA',X3/'RB'_^1_%EIF I4_^1_)PCO_"1_^1_%VFD X4/'OP',X4/'M',X8/'AD'_^1I0_#IFC_!A,NE,A_^1_%EIF_!I8_^1_%EIF I0_^1_)PCO_"0_^1_%EMC_]_^1O0G_"MAC_!W,S,L,RA,OP_^1_)IFR_"'S',LT,16_^1_)IFR_"'S',GT,-1_^1_)IFR_"'L€€',GT,0_^1_(IFR_%'S'+2,GT,'L'_^1I5_#IFC_!'.',EQ,_^1_%IFC_!((((('W',EQ,((((((_^1_%VFD N8/5,N1/1,N1/1,X3/'RA',X3/'OP'_^1I1_#IFC A,NE,A_^1_%EIF_]_^1_%VFD_!N8/5,X1/1,X1/0,X3/'RA',X3/'OP'_^1_%EIF I1_^1_%VFD X4/'S',X4/'L'-1_^1_)PCO_"2_^1_%VFD_!X16/'W'-*-2_^1I0_#IFC_!A,NE,A_^1_%EIF_!I5_^1I6_#IFC_!'.',EQ,*_^1_%IFC_!((((('W',EQ,((((((_^1_%VFD N8/5,N1/1,N1/1,X3/'RA',X3/'OP'_^1I2_#IFC A,€€NE,A_^1_%EIF_]_^1_%VFD_!N8/5,X1/1,X1/0,X3/'RA',X3/'OP'_^1_%EIF_!I2_^1_)IFR_"'W'-*,LT,128_^1_)IFR_"'W'-*,GT,-128_^1_)PCO_"1_^1_%VFD X4/'S',X4/'L'-1,X8/'W'-*-1_^1I0_#IFC_!A,NE,A_^1_%EIF_!I6_^1I7_#IFC_!'.',EQ,+_^1_%VFD_!N8/5,X1/0,X1/1,X3/'RA',X3/'OP'_^1_%VFD X4/'S',X4/'L'-1_^1_%IFC_!((((('W',EQ,((((((_^1_)PCO_"2_^1_%VFD N1/1,X15/'W'_^1I3_#IFC A,NE,A_^1_%EIF_]_^1_%VFD_!X1/0,X15/'W'€€_^1_%EIF_!I3_^1I0_#IFC_!A,NE,A_^1_%EIF_!I7_^1I8_#IFC_!'.',EQ,-_^1_%IFC_!((((('W',EQ,((((((_^1_%VFD_!N8/5,X1/0,X1/1,X3/'RA',X3/'OP'_^1I4_#IFC A,NE,A_^1_%EIF_]_^1_%VFD_!N8/5,X1/0,X1/0,X3/'RA',X3/'OP'_^1_%EIF_!I4_^1_%VFD X4/'S',X4/'L'-1,X8/'W'_^1I0_#IFC_!A,NE,A_^1_%EIF_!I8_^1_%EIF_!I0_^1_)PCO_"0_^1_%EMC_]_^1O0OIS MAC_!MN,OP,RA,RB_^1_)VFD_"X8/'MN',X3/'RA',X2/'OP',X3/'RB'_^1_%EMC_]_^€€1O0OSRX MAC OP,RA,A_^1_)IFR_"'A',LT,16_^1_)IFR_"'A',GT,-16_^1_%VFD_!N8/0,X2/'RA',X2/'OP',X4/'A'_^1_%EMC_]_^1O0OIR MAC_!MN,OP,RA,RB_^1_%O4'RB' 'MN','OP','RA'_^1_%EMC_]_^1O4_#MAC_!MN,OP,RA_^1_%O0OIS 'MN','OP','RA',0_^1_%EMC_]_^1O41_"MAC_!MN,OP,RA_^1_%O0OIS 'MN','OP','RA',1_^1_%EMC_]_^1O42_"MAC_!MN,OP,RA_^1_%O0OIS 'MN','OP','RA',2_^1_%EMC_]_^1O43_"MAC_!MN,OP,RA_^1_%O0OIS 'MN','OP','€€RA',3_^1_%EMC_]_^1O44_"MAC_!MN,OP,RA_^1_%O0OIS 'MN','OP','RA',4_^1_%EMC_]_^1O4Q_"MAC_!MN,OP,RA_^1_%O0OIS 'MN','OP','RA',5_^1_%EMC_]_^1O4A_"MAC_!MN,OP,RA_^1_%O0OIS 'MN','OP','RA',6_^1_%EMC_]_^1O4I_"MAC_!MN,OP,RA_^1_%O0OIS 'MN','OP','RA',7_^1_%EMC_]_^1O0F_"MAC_!W,S,L,RA,OP_^1_%O3'RA''.' 'W','S','L','OP'_^1_%EMC_]_^1O3_#MAC_!W,S,L,OP_^1_%O0G'.' 'W','S','L',0,'OP'_^1_%EMC_]_^1O31_"MAC_€€!W,S,L,OP_^1_%O0G'.' 'W','S','L',1,'OP'_^1_%EMC_]_^1O32_"MAC_!W,S,L,OP_^1_%O0G'.' 'W','S','L',2,'OP'_^1_%EMC_]_^1O33_"MAC_!W,S,L,OP_^1_%O0G'.' 'W','S','L',3,'OP'_^1_%EMC_]_^1O34_"MAC_!W,S,L,OP_^1_%O0G'.' 'W','S','L',4,'OP'_^1_%EMC_]_^1O3Q_"MAC_!W,S,L,OP_^1_%O0G'.' 'W','S','L',5,'OP'_^1_%EMC_]_^1O3A_"MAC_!W,S,L,OP_^1_%O0G'.' 'W','S','L',6,'OP'_^1_%EMC_]_^1O3I_"MAC_!W,S,L,OP_^1_%O0G'€€.' 'W','S','L',7,'OP'_^1_%EMC_]_^1O2_#MAC_!AD,RA,OP,M_^1_%O1'RA''.' 'AD',0,'OP','M'_^1_%EMC_]_^1O21_"MAC_!AD,RA,OP,M_^1_%O1'RA''.' 'AD',1,'OP','M'_^1_%EMC_]_^1O22_"MAC_!AD,RA,OP,M_^1_%O1'RA''.' 'AD',2,'OP','M'_^1_%EMC_]_^1O23_"MAC_!AD,RA,OP,M_^1_%O1'RA''.' 'AD',3,'OP','M'_^1_%EMC_]_^1O24_"MAC_!AD,RA,OP,M_^1_%O1'RA''.' 'AD',4,'OP','M'_^1_%EMC_]_^1O2Q_"MAC_!AD,RA,OP,M_^1_%O1'RA''.' '€€AD',5,'OP','M'_^1_%EMC_]_^1O2A_"MAC_!AD,RA,OP,M_^1_%O1'RA''.' 'AD',6,'OP','M'_^1_%EMC_]_^1O2I_"MAC_!AD,RA,OP,M_^1_%O1'RA''.' 'AD',7,'OP','M'_^1_%EMC_]_^1SJI_"MAC AD,RA_^1_%O1'RA''.' 'AD',7,5,0_^1_%EMC_]_^1SJ1_"MAC AD,RA_^1_%O1'RA''.' 'AD',1,5,0_^1_%EMC_]_^1SJ2_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,5,0_^1_%EMC_]_^1SJ3_"MAC AD,RA_^1_%O1'RA''.' 'AD',3,5,0_^1_%EMC_]_^1SJ4_"MAC AD,RA_^1_€€%O1'RA''.' 'AD',4,5,0_^1_%EMC_]_^1SJQ_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,5,0_^1_%EMC_]_^1SJA_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,5,0_^1_%EMC_]_^1SJE_"MAC AD,RA_^1_%O1'RA''.' 'AD',0,5,0_^1_%EMC_]_^1ARI_"MAC AD,RA_^1_%O1'RA''.' 'AD',7,8,0_^1_%EMC_]_^1AR1_"MAC AD,RA_^1_%O1'RA''.' 'AD',1,8,0_^1_%EMC_]_^1AR2_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,8,0_^1_%EMC_]_^1AR3_"MAC AD,RA_^1_%O1'RA''.' 'A€€D',3,8,0_^1_%EMC_]_^1AR4_"MAC AD,RA_^1_%O1'RA''.' 'AD',4,8,0_^1_%EMC_]_^1ARQ_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,8,0_^1_%EMC_]_^1ARA_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,8,0_^1_%EMC_]_^1SBI_"MAC AD,RA_^1_%O1'RA''.' 'AD',7,9,0_^1_%EMC_]_^1SB1_"MAC AD,RA_^1_%O1'RA''.' 'AD',1,9,0_^1_%EMC_]_^1SB2_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,9,0_^1_%EMC_]_^1SB3_"MAC AD,RA_^1_%O1'RA''.' 'AD',3,9,0_^1_%€€EMC_]_^1SB4_"MAC AD,RA_^1_%O1'RA''.' 'AD',4,9,0_^1_%EMC_]_^1SBQ_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,9,0_^1_%EMC_]_^1SBA_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,9,0_^1_%EMC_]_^1ANI_"MAC AD,RA_^1_%O1'RA''.' 'AD',7,10,0_^1_%EMC_]_^1AN1_"MAC AD,RA_^1_%O1'RA''.' 'AD',1,10,0_^1_%EMC_]_^1AN2_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,10,0_^1_%EMC_]_^1AN3_"MAC AD,RA_^1_%O1'RA''.' 'AD',3,10,0_^1_%EMC_]_^1A€€N4_"MAC AD,RA_^1_%O1'RA''.' 'AD',4,10,0_^1_%EMC_]_^1ANQ_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,10,0_^1_%EMC_]_^1ANA_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,10,0_^1_%EMC_]_^1ORI_"MAC AD,RA_^1_%O1'RA''.' 'AD',7,13,0_^1_%EMC_]_^1OR1_"MAC AD,RA_^1_%O1'RA''.' 'AD',1,13,0_^1_%EMC_]_^1OR2_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,13,0_^1_%EMC_]_^1OR3_"MAC AD,RA_^1_%O1'RA''.' 'AD',3,13,0_^1_%EMC_]_^1OR4_"MA€€C AD,RA_^1_%O1'RA''.' 'AD',4,13,0_^1_%EMC_]_^1ORQ_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,13,0_^1_%EMC_]_^1ORA_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,13,0_^1_%EMC_]_^1LRI_"MAC AD,RA_^1_%O1'RA''.' 'AD',7,12,0_^1_%EMC_]_^1LR1_"MAC_!AD,RA_^1_%O1'RA''.' 'AD',1,12,0_^1_%EMC_]_^1LR2_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,12,0_^1_%EMC_]_^1LR3_"MAC AD,RA_^1_%O1'RA''.' 'AD',3,12,0_^1_%EMC_]_^1LR4_"MAC AD,€€RA_^1_%O1'RA''.' 'AD',4,12,0_^1_%EMC_]_^1LRQ_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,12,0_^1_%EMC_]_^1LRA_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,12,0_^1_%EMC_]_^1SRI_"MAC AD,RA_^1_%O1'RA''.' 'AD',7,12,1_^1_%EMC_]_^1SR1_"MAC AD,RA_^1_%O1'RA''.' 'AD',1,12,1_^1_%EMC_]_^1SR2_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,12,1_^1_%EMC_]_^1SR3_"MAC AD,RA_^1_%O1'RA''.' 'AD',3,12,1_^1_%EMC_]_^1SR4_"MAC AD,RA_^1_€€%O1'RA''.' 'AD',4,12,1_^1_%EMC_]_^1SRQ_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,12,1_^1_%EMC_]_^1SRA_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,12,1_^1_%EMC_]_^1CIE_"MAC_!AD,RA_^1_%O1'RA''.' 'AD',7,14,0_^1_%EMC_]_^1C1E_"MAC AD,RA_^1_%O1'RA''.' 'AD',1,14,0_^1_%EMC_]_^1C2E_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,14,0_^1_%EMC_]_^1C3E_"MAC AD,RA_^1_%O1'RA''.' 'AD',3,14,0_^1_%EMC_]_^1C4E_"MAC AD,RA_^1_%O1'RA€€''.' 'AD',4,14,0_^1_%EMC_]_^1CQE_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,14,0_^1_%EMC_]_^1CAE_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,14,0_^1_%EMC_]_^1AMI_"MAC AD,RA_^1_%O1'RA''.' 'AD',7,10,1_^1_%EMC_]_^1AM1_"MAC AD,RA_^1_%O1'RA''.' 'AD',1,10,1_^1_%EMC_]_^1AM2_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,10,1_^1_%EMC_]_^1AM3_"MAC AD,RA_^1_%O1'RA''.' 'AD',3,10,1_^1_%EMC_]_^1AM4_"MAC AD,RA_^1_%O1'RA''.' '€€AD',4,10,1_^1_%EMC_]_^1AMQ_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,10,1_^1_%EMC_]_^1AMA_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,10,1_^1_%EMC_]_^1OMI_"MAC AD,RA_^1_%O1'RA''.' 'AD',7,13,1_^1_%EMC_]_^1OM1_"MAC AD,RA_^1_%O1'RA''.' 'AD',1,13,1_^1_%EMC_]_^1OM2_"MAC AD,RA_^1_%O1'RA''.' 'AD',2,13,1_^1_%EMC_]_^1OM3_"MAC AD,RA_^1_%O1'RA''.' 'AD',3,13,1_^1_%EMC_]_^1OM4_"MAC AD,RA_^1_%O1'RA''.' 'AD',4,€€13,1_^1_%EMC_]_^1OMQ_"MAC AD,RA_^1_%O1'RA''.' 'AD',5,13,1_^1_%EMC_]_^1OMA_"MAC AD,RA_^1_%O1'RA''.' 'AD',6,13,1_^1_%EMC_]_^1AS1_"MAC_%AD,RA_^1_%01'RA''.' 'AD',1,8,1_^1_%EMC_]_^1AS2_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',2,8,1_^1_%EMC_]_^1AS3_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',3,8,1_^1_%EMC_]_^1AS4_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',4,8,1_^1_%EMC_]_^1ASQ_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',5,8,1_^1_%EM€€C_]_^1ASA_"MAC_!AD,RA_^1_%O1'RA''.' 'AD',6,8,1_^1_%EMC_]_^1ASI_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',7,8,1_^1_%EMC_]_^1SM1_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',1,9,1_^1_%EMC_]_^1SM2_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',2,9,1_^1_%EMC_]_^1SM3_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',3,9,1_^1_%EMC_]_^1SM4_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',4,9,1_^1_%EMC_]_^1SMQ_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',5,9,1_^1_%EMC_]_^1SMA_"MA€€C_%AD,RA_^1_%O1'RA''.' 'AD',6,9,1_^1_%EMC_]_^1SMI_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',7,9,1_^1_%EMC_]_^1ER1_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',1,11,0_^1_%EMC_]_^1ER2_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',2,11,0_^1_%EMC_]_^1ER3_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',3,11,0_^1_%EMC_]_^1ER4_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',4,11,0_^1_%EMC_]_^1ERQ_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',5,11,0_^1_%EMC_]_^1ERA_"MAC_%AD,RA€€_^1_%O1'RA''.' 'AD',6,11,0_^1_%EMC_]_^1ERI_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',7,11,0_^1_%EMC_]_^1EM1_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',1,11,1_^1_%EMC_]_^1EM2_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',2,11,1_^1_%EMC_]_^1EM3_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',3,11,1_^1_%EMC_]_^1EM4_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',4,11,1_^1_%EMC_]_^1EMQ_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',5,11,1_^1_%EMC_]_^1EMA_"MAC_%AD,RA_^1_%€€O1'RA''.' 'AD',6,11,1_^1_%EMC_]_^1EMI_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',7,11,1_^1_%EMC_]_^1C1N_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',1,14,1_^1_%EMC_]_^1C2N_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',2,14,1_^1_%EMC_]_^1C3N_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',3,14,1_^1_%EMC_]_^1C4N_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',4,14,1_^1_%EMC_]_^1CQN_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',5,14,1_^1_%EMC_]_^1CAN_"MAC_%AD,RA_^1_%O1'RA'€€'.' 'AD',6,14,1_^1_%EMC_]_^1CIN_"MAC_%AD,RA_^1_%O1'RA''.' 'AD',7,14,1_^1_%EMC_]_^1CCN_"MAC_%AD,RB,RA_^1_%O2'RB''.' 'AD','RA',14,3_^1_%EMC_]_^1LCA_"MAC_!AD,RB,RA_^1_%O2'RB''.' 'AD','RA',12,2_^1_%EMC_]_^1SCA_"MAC_!AD,RB,RA_^1_%O2'RB''.' 'AD','RA',12,3_^1_%EMC_]_^1CCE_"MAC_!AD,RB,RA_^1_%O2'RB''.' 'AD','RA',14,2_^1_%EMC_]_^1XF1_"MAC RB_^1_%O0OIR 7,0,1,'RB'_^1_%EMC_]_^1XF2_"MAC RB_^1_€€%O0OIR 7,0,2,'RB'_^1_%EMC_]_^1XF3_"MAC RB_^1_%O0OIR 7,0,3,'RB'_^1_%EMC_]_^1XF4_"MAC RB_^1_%O0OIR 7,0,4,'RB'_^1_%EMC_]_^1XFQ_"MAC RB_^1_%O0OIR 7,0,5,'RB'_^1_%EMC_]_^1XFA_"MAC RB_^1_%O0OIR 7,0,6,'RB'_^1_%EMC_]_^1XFI_"MAC RB_^1_%O0OIR 7,0,7,'RB'_^1_%EMC_]_^1S1Z_!MAC_!A_^1_%O0OSRX 0,1,'A'_^1_!EMC_]_^1S2Z_!MAC_!A_^1_%O0OSRX 0,2,'A'_^1_!EMC_]_^1S3Z_!MAC A_^1_%O0OSRX 0,3,'A'_^1_!EMC_€€]_^1S4Z_!MAC_!A_^1_%O0OSRX 0,0,'A'_^1_!EMC_]_^1S1N_!MAC_!A_^1_%O0OSRX 1,1,'A'_^1_!EMC_]_^1S2N_!MAC A_^1_%O0OSRX 1,2,'A'_^1_!EMC_]_^1S3N_!MAC_!A_^1_%O0OSRX 1,3,'A'_^1_!EMC_]_^1S4N_!MAC_!A_^1_%O0OSRX 1,0,'A'_^1_!EMC_]_^1S1M_!MAC A_^1_%O0OSRX 3,1,'A'_^1_!EMC_]_^1S2M_!MAC_!A_^1_%O0OSRX 3,2,'A'_^1_!EMC_]_^1S3M_!MAC_!A_^1_%O0OSRX 3,3,'A'_^1_!EMC_]_^1S4M_!MAC_!A_^1_%O0OSRX 3,0,'A'_^1_!EM€€C_]_^1S1P_!MAC A_^1_%O0OSRX 2,1,'A'_^1_!EMC_]_^1S2P_!MAC_!A_^1_%O0OSRX 2,2,'A'_^1_!EMC_]_^1S3P_!MAC_!A_^1_%O0OSRX 2,3,'A'_^1_!EMC_]_^1S4P_!MAC_!A_^1_%O0OSRX 2,0,'A'_^1_!EMC_]_^1LFA_"MAC W,S,L,RA_^1_%O3'RA''.' 'W','S','L',4_^1_%EMC_]_^1SFA_"MAC W,S,L,RA_^1_%O3'RA''.' 'W','S','L',5_^1_%EMC_]_^1SFZ_"MAC W,S,L,RA_^1_%O3'RA''.' 'W','S','L',2_^1_%EMC_]_^1SFN_"MAC W,S,L,RA_^1_%O3'RA'€€'.' 'W','S','L',3_^1_%EMC_]_^1CLF_"MAC W,S,L,RA_^1_%O3'RA''.' 'W','S','L',6_^1_%EMC_]_^1SEF_"MAC W,S,L,RA_^1_%O3'RA''.' 'W','S','L',7_^1_%EMC_]_^1D1P_"MAC SK_^1_%O0OSB 'SK',1_^1_%EMC_]_^1D2P_"MAC SK_^1_%O0OSB 'SK',2_^1_%EMC_]_^1D3P_"MAC SK_^1_%O0OSB 'SK',3_^1_%EMC_]_^1D4P_"MAC SK_^1_%O0OSB 'SK',4_^1_%EMC_]_^1DQP_"MAC SK_^1_%O0OSB 'SK',5_^1_%EMC_]_^1DAP_"MAC SK_^1_%O0OSB 'SK€€',6_^1_%EMC_]_^1DIP_"MAC SK_^1_%O0OSB 'SK',7_^1_%EMC_]_^1O0OSB MAC_!SK,RA_^1_)IFR_"'SK',GT,-16_^1_)IFR_"'SK',LT,16_^1_%IFA_!'SK',LT,0_^1_%VFD_!X8/6,X3/'RA',X1/0,X4/-'SK'_^1I0_#IFC_!A,NE,A_^1_%EIF_]_^1_%VFD_!X8/6,X3/'RA',X1/0,X4/'SK'_^1_%EIF_!I0_^1_%EMC_]_^1O00_"MAC_!RA,OP_^1_%IFC 'RA',EQ,_^1_%O0EX_^1I0_#IFC A,NE,A_^1_%EIF_]_^1_%IFC 'RA',EQ,I_^1_%O01_!7,'OP'_^1I0_#IFC_!A,NE,A_^€€1_%EIF_]_^1_%IFC 'RA',EQ,A_^1_%O01_!6,'OP'_^1I0_#IFC_!A,NE,A_^1_%EIF_]_^1_%IFC_!'RA',EQ,Q_^1_%O01_!5,'OP'_^1I0_#IFC_!A,NE,A_^1_%EIF_]_^1_%IFA 'RA',GT,4_^1_%O0EX_^1I0_#IFC A,NE,A_^1_%EIF_]_^1_%IFA 'RA',LT,1_^1_%O0EX_^1I0_#IFC A,NE,A_^1_%EIF_]_^1_%O01_!'RA','OP'_^1_%EIF I0_^1_%EMC_]_^1O01_"MAC_!RA,OP_^1_%VFD_!X8/11,X3/'RA',X1/0,X4/'OP'_^1_%EMC_]_^1SIO_"MAC_!X_^1_%VFD_!X8/11,X4/€€0,X4/4_^1_%EMC_]_^1LUB_"MAC_!RA_^1_%O00_!'RA',0_^1_%EMC_]_^1LLB_"MAC RA_^1_%O00_!'RA',1_^1_%EMC_]_^1EMS_"MAC_!RA_^1_%O00_!'RA',2_^1_%EMC_]_^1WPR_%MAC_"RA_^1_)O00_"'RA',3_^1_)EMC_^1RPR_%MAC_"RA_^1_)O00_"'RA',4_^1_)EMC_^1ECC_%MAC_"RA_^1_)O00_"'RA',5_^1_)EMC_^1ASC_%MAC_"X_^1_)VFD_"N8/11,N8/10_^1_)EMC_^1APM_%MAC_"X_^1_)VFD_"N8/11,N8/11_^1_)EMC_^1PM0_%MAC_"X_^1_)VFD_"N8/11,N8/12_^1_)EM€€C_^1PM1_%MAC_"X_^1_)VFD_"N8/11,N8/13_^1_)EMC_^1O0EX_!MAC_!X_^1_%VFD_!N16/0_^1_%VFD_!N16/0,N16/0_^1_%EMC_]_^1GPE_"MAC_!X_^1_%VFD_!N8/11,N8/8_^1_%EMC_]_^1GPO_"MAC_!X_^1_%VFD_!N8/11,N8/9_^1_%EMC_]_^1LRG_"MAC_!AD_^1_%VFD_!X8/11,X4/0,X4/2_^1_)PCO_"1_^1_%VFD X1/0,X15/'AD'_^1_)PCO_"0_^1_%EMC_]_^1SRG_"MAC_!AD_^1_%VFD_!X8/11,X4/0,X4/3_^1_)PCO_"1_^1_%VFD X1/0,X15/'AD'_^1_)PCO_"0_^1_%EMC_]_€€^1LMM_%MAC_"X_^1_)VFD_"N8/11,N8/1_^1_)EMC_^1CBP_%MAC_"X_^1_)VFD_"N8/11,N8/7_^1_)EMC_^1DMI_%MAC_"X_^1_)VFD_"N8/11,N8/6_^1_)EMC_^1SPS_%MAC_"X_^1_)VFD_"N8/11,N8/5_^1_)EMC_^1VOLA_!MAC A,B_^1_%IIN 0_^1_%RTJ- ($BB)_(VOLATILE ASSIGN_^1_%ADC 'A'+3_^1_%LDA* 'B'_^1_%STA- 3,I_*SAVE RETURN_^1_%EIN 0_^1_%EMC_]_^1VOLR_!MAC A,B_^1_%IIN 0_^1_%LDA- 3,I_*RETRIEVE RETURN FROM VOLATILE_^1_%IFC €€'B',NE,_^1_%INA 'B'_*BUMP RETURN BY 'B' IF SPECIFIED_^1_%EIF_]_^1_%STA'.' 'A'_(RESTORE RETURN ADDRESS_^1_%RTJ- ($BA)_(RELEASE VOLATILE_^1_%EIN 0_^1_%JMP'.' ('A')_%RETURN_^1_%EMC_]_^1HEXDEC MAC A,B_^1_%EXT HEXDEC_^1_%RTJ+ HEXDEC_'HEX TO ASCII DECIMAL CONV._^1_%ADC'.' 'A'_(VARIABLE ADDRESS 'A'_^1_%ADC'.' 'B'_(BUFFER ADDRESS_!'B' 3 WORDS_^1_%EMC_]_^1HEXASC MAC A,B_^1_%EXT HEXAS€€C_^1_%RTJ+ HEXASC_'HEX TO ASCII CONV._^1_%ADC'.' 'A'_(VARIABLE ADDRESS 'A'_^1_%ADC'.' 'B'_(BUFFER ADDRESS_!'B' 2 WORDS_^1_%EMC_]_^1ENCODE MAC A,B,C,D,E_^1_%EXT ENCODE_^1_%RTJ+ ENCODE_'ENCODE FOR OUTPUT_^1_%ADC'.' 'A'_(OUTPUT BUF_^1_%ADC'.' 'B'_(FORMAT STATEMENT_^1_%ADC'.' 'C'_(NO VARIABLES_^1_%ADC'.' 'D'_(VARIABLE LIST_^1_%IFC 'E',NE,_^1_%SAZ 2_^1_%JMP 'E'_^1_%EIF_]_^1_%EMC_]€€_^1DECODE MAC A,B,C,D,E_^1_%EXT DECODE_^1_%RTJ+ DECODE_'DECODE INPUT_^1_%ADC'.' 'A'_(INPUT BUFFER_^1_%ADC'.' 'B'_(GORMAT STATEMENT_^1_%ADC'.' 'C'_(NUMBER VARIABLES_^1_%ADC'.' 'D'_(VARIABLE LIST_^1_%IFC 'E',NE_^1_%SAZ 2_^1_%JMP 'E'_*GO TO ERROR PROCESSOR_^1_%EIF_]_^1_%EMC_]_^1DECHEX MAC A,B_^1_%EXT DECHEX_^1_%RTJ+ DECHEX_^1_%ADC'.' 'A'_(BUFFER ADDRESS_!3 WORDS_^1_%ADC'.' 'B'_€€(VARIABLE ADDRESS_^1_%EMC_]_^1ASCII MAC A,B_^1_%EXT ASCII_^1_%RTJ+ ASCII_^1_%ADC'.' 'A'_(BUFFER ADDRESS_$2 WORDS_^1_%ADC'.' 'B'_(VARIABLE ADDRESS_^1_%EMC_]_^1FLOATG MAC A,B_^1_%EXT FLOATG_^1_%RTJ+ FLOATG_'CONVERT TO S.XXXXXXESNN_^1_%ADC'.' 'A'_(ADDRESS FLOATING VARIABLE 2 WORDS_^1_%ADC'.' 'B'_(ADDRESS OUT BUFFER_'6 WORDS_^1_%EMC_]_^1CLOCK MAC A_^1_%EXT CLOCK_^1_%RTJ+ CLOCK_€€^1_%ADC 0_^1_%IFC 'A',NE,_^1_%STA'.' 'A'_^1_%EIF_]_^1_%EMC_]_^1FLDF_!MAC FN,MR,LU,NK,KL,FC,RL_^1FN'FN' ADC 'FN'_^1MR'FN' ADC 'MR'_^1_%IFC 'LU',EQ,_^1LU'FN' ADC 8_^1_%EIF_]_^1_%IFC 'LU',NE,_^1LU'FN' ADC 'LU'_^1_%EIF_]_^1RB'FN' BZS RB'FN'(12)_^1RI'FN' BZS RI'FN'(1)_^1NK'FN' ADC 'NK'_^1KL'FN' ADC 'KL'_^1FC'FN' ADC 'FC'_^1RL'FN' ADC 'RL'_^1RP'FN' ADC 0,0_^1_%EMC_]_^1DEF€€FIL MAC FN_^1_%EXT DEFFIL_^1_%RTJ+ DEFFIL_'DEFINE A FILE_,'FN'_^1_%ADC'.' FN'FN',MR'FN',LU'FN',RB'FN',RI'FN'_^1_%EMC_]_^1DEFIDX MAC FN_^1_%EXT DEFIDX_^1_%RTJ+ DEFIDX_'DEFINE INDEXED_^1_%ADC'.' FN'FN',NK'FN',KL'FN',LU'FN',RB'FN',RI'FN'_^1_%EMC_]_^1LOKFIL MAC FN_^1_%EXT LOKFIL_^1_%LDA =X*_^1_%STA FC'FN'_^1_%RTJ+ LOKFIL_'LOCK FILE_0'FN'_^1_%ADC'.' FN'FN',FC'FN',RB'FN',RI'FN'_^€€1_%EMC_]_^1UNLFIL MAC FN_^1_%EXT UNLFIL_^1_%RTJ+ UNLFIL_'UNLOCK FILE_.'FN'_^1_%ADC'.' FN'FN',FC'FN',RB'FN',RI'FN'_^1_%EMC_]_^1RELFIL MAC FN_^1_%EXT RELFIL_^1_%RTJ+ RELFIL_'RELEASE FILE_-'FN'_^1_%ADC'.' FN'FN',RB'FN',RI'FN'_^1_%EMC_]_^1STOSEQ MAC FN,BF,RL_^1_%EXT STOSEQ_^1_%IFC 'RL',NE,_^1_%LDA =X'RL'_^1_%STA RL'FN'_^1_%EIF_]_^1_%RTJ+ STOSEQ_'STORE IN SEQUENTIAL FILE 'FN'_€€^1_%ADC'.' FN'FN',RP'FN','BF',RL'FN',RB'FN',RI'FN'_^1_%EMC_]_^1RTVSEQ MAC FN,BF_^1_%EXT RTVSEQ_^1_%RTJ+ RTVSEQ_'RETRIEVE FROM SEQUENTIAL 'FN'_^1_%ADC'.' FN'FN',FC'FN',RP'FN','BF',RL'FN',RB'FN',RI'FN'_^1_%EMC_]_^1STOIDX MAC FN,KV,BF_^1_%EXT STOIDX_^1_%RTJ+ STOIDX_'STORE INDEXED_,'FN'_^1_%ADC'.' FN'FN','KV',RP'FN','BF',RL'FN',RB'FN',RI'FN'_^1_%EMC_]_^1RTVIDX MAC FN,KV,BF_^1_%EX€€T RTVIDX_^1_%RTJ+ RTVIDX_'RETRIEVE INDEXED_)'FN'_^1_%ADC'.' FN'FN','KV',FC'FN',RP'FN','BF',RL'FN',RB'FN',RI'FN'_^1_%EMC_]_^1RTVIDO MAC FN,KV,BF_^1_%EXT RTVIDO_^1_%RTJ+ RTVIDO_'RETRIEVE INDEXED ORDERED 'FN'_^1_%ADC'.' FN'FN','KV',FC'FN',RP'FN','BF',RL'FN',RB'FN',RI'FN'_^1_%EMC_]_^1STODIR MAC FN,BF_^1_%EXT STODIR_^1_%RTJ+ STODIR_'STORE DIRECT_-'FN'_^1_%ADC'.' FN'FN',FC'FN',RP'F€€N','BF',RB'FN',RI'FN'_^1_%EMC_]_^1RTVDIR MAC FN,BF_^1_%EXT RTVDIR_N85*2670_^1_%RTJ+ RTVDIR_'RETRIEVE DIRECT_*'FN'_^1_%ADC'.' FN'FN',FC'FN',RP'FN','BF',RL'FN',RB'FN',RI'FN'_^1_%EMC_]_^1STATFL MAC FN,MK,BD_^1_%LDA RI'FN'_'STATUS A FILE_^1_%IFC 'MK',NE,_^1_%AND'.' 'MK'_'MASK STATUS_^1_%EIF_]_^1_%IFC 'BD',NE,_^1_%SAZ 2_,NOTHING TRUE_^1_%JMP 'BD'_)JUMP IF ANY SET_^1_%EIF_]_^1_%E€€MC_]_^1FREAD MAC L,C,S,N,M,RP,CP,A,X,D_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/4,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/4,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D',N5/4,N1/1,X4/'RP',X4/'CP'_^1_%EIF I3_^1_%ADC 'C',0_^1I1_#IFC 'M',NE,B_^1_%IFC 'A',EQ,R_^1_%VFD N3/0,N1/1,N2/1,X10/€€'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,R_^1_%IFC 'A',EQ,I_^1_%VFD N3/0,N1/1,N2/2,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,I_^1_%VFD N3/0,N1/1,N2/0,X10/'L'_^1_%EIF I1_^1I2_#IFC 'M',EQ,B_^1_%IFC 'A',EQ,R_^1_%VFD N3/0,N1/0,N2/1,X10/'L'_^1_%EIF_]_^1I2_#IFC 'A',NE,R_^1_%IFC 'A',EQ,I_^1_%VFD N3/0,N1/0,N2/2,X10/'L'_^1_%EIF_]_^1I2_#IFC 'A',NE,I_^1_%VFD N3/0,N1/0,N2/0,X10/'L'_^1_%EIF I2_^1€€_%ADC 'N','S'_^1_%EMC_]_^1FWRITE MAC L,C,S,N,M,RP,CP,A,X,D_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/6,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/6,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D',N5/6,N1/1,X4/'RP',X4/'CP'_^1_%EIF I3_^1_%ADC 'C',0_^1I1_#IFC 'M',NE,B_^1_%IFC 'A',EQ,R_^1_%VFD €€ N3/0,N1/1,N2/1,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,R_^1_%IFC 'A',EQ,I_^1_%VFD N3/0,N1/1,N2/2,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,I_^1_%VFD N3/0,N1/1,N2/0,X10/'L'_^1_%EIF I1_^1I2_#IFC 'M',EQ,B_^1_%IFC 'A',EQ,R_^1_%VFD N3/0,N1/0,N2/1,X10/'L'_^1_%EIF_]_^1I2_#IFC 'A',NE,R_^1_%IFC 'A',EQ,I_^1_%VFD N3/0,N1/0,N2/2,X10/'L'_^1_%EIF_]_^1I2_#IFC 'A',NE,I_^1_%VFD N3/0,N1/0,N2/0,X1€€0/'L'_^1_%EIF I2_^1_%ADC 'N','S'_^1_%EMC_]_^1STATUS MAC L,T,A,X,D_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/3,N1/0,N8/0_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/3,N1/0,N8/0_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D',N5/3,N1/1,N8/0_^1_%EIF I3_^1_%IFC 'A',EQ,R_^1_%VFD N4/0,N2/1,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,R_^1_%IFC 'A€€',EQ,I_^1_%VFD N4/0,N2/2,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,I_^1_%VFD N4/0,N2/0,X10/'L'_^1_%EIF I1_^1_%ADC 'T'_^1_%EMC_]_^1READ_!MAC L,C,S,N,M,RP,CP,A,X,D_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/1,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/1,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D'€€,N5/1,N1/1,X4/'RP',X4/'CP'_^1_%EIF I3_^1_%ADC 'C',0_^1I1_#IFC 'M',NE,B_^1_%IFC 'A',EQ,R_^1_%VFD N3/0,N1/1,N2/1,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,R_^1_%IFC 'A',EQ,I_^1_%VFD N3/0,N1/1,N2/2,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,I_^1_%VFD N3/0,N1/1,N2/0,X10/'L'_^1_%EIF I1_^1I2_#IFC 'M',EQ,B_^1_%IFC 'A',EQ,R_^1_%VFD N3/0,N1/0,N2/1,X10/'L'_^1_%EIF_]_^1I2_#IFC 'A',NE,R_^1_%IF€€C 'A',EQ,I_^1_%VFD N3/0,N1/0,N2/2,X10/'L'_^1_%EIF_]_^1I2_#IFC 'A',NE,I_^1_%VFD N3/0,N1/0,N2/0,X10/'L'_^1_%EIF I2_^1_%ADC 'N','S'_^1_%EMC_]_^1WRITE MAC L,C,S,N,M,RP,CP,A,X,D_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/2,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/2,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_€€^1_%VFD N1/0,X1/'D',N5/2,N1/1,X4/'RP',X4/'CP'_^1_%EIF I3_^1_%ADC 'C',0_^1I1_#IFC 'M',NE,B_^1_%IFC 'A',EQ,R_^1_%VFD N3/0,N1/1,N2/1,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,R_^1_%IFC 'A',EQ,I_^1_%VFD N3/0,N1/1,N2/2,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,I_^1_%VFD N3/0,N1/1,N2/0,X10/'L'_^1_%EIF I1_^1I2_#IFC 'M',EQ,B_^1_%IFC 'A',EQ,R_^1_%VFD N3/0,N1/0,N2/1,X10/'L'_^1_%EIF_]_^1I2_#€€IFC 'A',NE,R_^1_%IFC 'A',EQ,I_^1_%VFD N3/0,N1/0,N2/2,X10/'L'_^1_%EIF_]_^1I2_#IFC 'A',NE,I_^1_%VFD N3/0,N1/0,N2/0,X10/'L'_^1_%EIF I2_^1_%ADC 'N','S'_^1_%EMC_]_^1INDIR MAC P,D_^1_%RTJ- ($F4)_^1_%IFC 'D',EQ,1_^1_%VFD N2/0,N5/16,N8/0_^1_%ADC 'P'_^1_%EIF 0_S81*2071_^1_%IFC 'D',NE,1_L81*2071_^1_%ADC ('P')_O81*2071_^1_%EIF 0_S81*2071_^1_%EMC_]_^1EXIT_!MAC P_^1_%RTJ- ($F4)€€_^1_%VFD N1/0,N6/5,N1/0,N8/0_^1_%EMC_]_^1CORE_!MAC P_^1_%RTJ- ($F4)_^1_%VFD N1/0,N6/11,N1/0,N8/0_^1_%EMC_]_^1LOADER MAC P_^1_%RTJ- ($F4)_^1_%VFD N1/0,N6/7,N1/0,N8/0_^1_%EMC_]_^1DISCHD MAC C_^1_%RTJ- ($F4)_^1_%VFD N2/0,N5/19,N1/0,N4/15,N4/15_^1_%ADC 'C'_^1_%EMC_]_^1ENSCHD MAC C_^1_%RTJ- ($F4)_^1_%VFD N2/0,N5/19,N1/0,N4/0,N4/0_^1_%ADC 'C'_^1_%EMC_]_^1SCHDLE MAC C,P,X,D_^1€€_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/9,N1/0,N4/0,X4/'P'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/9,N1/0,N4/0,X4/'P'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D',N5/9,N1/1,N4/0,X4/'P'_^1_%EIF I3_^1_%ADC 'C'_^1_%EMC_]_^1TIMPT1 MAC C,P,X,T,U_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N2/0,N5/15,N1/0,X4/'U',X4/'P'_^1_%EIF_]_^1I3_#IF€€C 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N2/0,N5/15,N1/0,X4/'U',X4/'P'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N2/0,N5/15,N1/0,X4/'U',X4/'P'_^1_%EIF I3_^1_%ADC 'C','T'_^1_%EMC_]_^1TIMER MAC C,P,X,T,U,D_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/8,N1/0,X4/'U',X4/'P'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/8,N1/0,X4/'U',X4/'P'_^1_%EIF_]_^1I€€3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D',N5/8,N1/1,X4/'U',X4/'P'_^1_%EIF I3_^1_%ADC 'C','T'_^1_%EMC_]_^1GTFILE MAC C,I,S,W1,W2,X,RP,CP,D_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/13,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/13,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D',N5/13,N1/1,X4/'RP',X4€€/'CP'_^1_%EIF I3_^1_%ADC 'C',0_^1_%ADC $8C2,'W1','S'_^1_%ADC 'W2','I'_^1_%EMC_]_^1SPACE MAC N,C,RP,CP,X,D_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/10,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/10,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D',N5/10,N1/1,X4/'RP',X4/'CP'_^1_%EIF I3_^1_%ADC€€ 'C',0,0,'N'_^1_%EMC_]_^1RELEAS MAC S,T,X,D_^1_%RTJ- ($F4)_^1I1_#IFC 'X',EQ,_^1_%IFC 'T',EQ,_^1_%VFD N1/0,X1/'D',N5/12,N9/0_^1_%EIF_]_^1I1_#IFC 'T',NE,_^1_%IFC 'T',EQ,0_^1_%VFD N1/0,X1/'D',N5/12,N9/0_^1_%EIF_]_^1I1_#IFC 'T',NE,0_^1_%VFD N1/0,X1/'D',N5/12,N8/0,N1/1_^1_%EIF I1_^1I2_#IFC 'X',NE,_^1I1_#IFC 'X',EQ,0_^1_%IFC 'T',EQ,_^1_%VFD N1/0,X1/'D',N5/12,N9/0_^1_%EIF_]€€_^1I1_#IFC 'T',NE,_^1_%IFC 'T',EQ,0_^1_%VFD N1/0,X1/'D',N5/12,N9/0_^1_%EIF_]_^1I1_#IFC 'T',NE,0_^1_%VFD N1/0,X1/'D',N5/12,N8/0,N1/1_^1_%EIF I1_^1I2_#IFC 'X',NE,0_^1_%IFC 'T',EQ,_^1_%VFD N1/0,X1/'D',N5/12,N1/1,N8/0_^1_%EIF_]_^1I2_#IFC 'T',NE,_^1_%IFC 'T',EQ,0_^1_%VFD N1/0,X1/'D',N5/12,N1/1,N8/0_^1_%EIF_]_^1I2_#IFC 'T',NE,0_^1_%VFD N1/0,X1/'D',N5/12,N1/1,N7/0,N1/1_^1_%E€€IF I2_^1_%ADC 'S'_^1_%EMC_]_^1PTNCOR MAC N,C,P,RP,CP,X,D_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/17,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/17,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D',N5/17,N1/1,X4/'RP',X4/'CP'_^1_%EIF I3_^1_%ADC 'C',0,0,'N','P'_^1_%EMC_]_^1MOTION MAC L,C,P1,P2,€€P3,DY,RP,CP,A,X,D,M_^1_%RTJ- ($F4)_^1_%IFC 'X',EQ,_^1_%VFD N1/0,X1/'D',N5/14,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,_^1_%IFC 'X',EQ,0_^1_%VFD N1/0,X1/'D',N5/14,N1/0,X4/'RP',X4/'CP'_^1_%EIF_]_^1I3_#IFC 'X',NE,0_^1_%VFD N1/0,X1/'D',N5/14,N1/1,X4/'RP',X4/'CP'_^1_%EIF I3_^1_%ADC 'C',0_^1I1_#IFC 'M',NE,B_^1_%IFC 'A',EQ,R_^1_%VFD N3/0,N1/1,N2/1,X10/'L'_^1_%EIF_]_^1I1€€_#IFC 'A',NE,R_^1_%IFC 'A',EQ,I_^1_%VFD N3/0,N1/1,N2/2,X10/'L'_^1_%EIF_]_^1I1_#IFC 'A',NE,I_^1_%VFD N3/0,N1/1,N2/0,X10/'L'_^1_%EIF I1_^1I2_#IFC 'M',EQ,B_^1_%IFC 'A',EQ,R_^1_%VFD N3/0,N1/0,N2/1,X10/'L'_^1_%EIF_]_^1I2_#IFC 'A',NE,R_^1_%IFC 'A',EQ,I_^1_%VFD N3/0,N1/0,N2/2,X10/'L'_^1_%EIF_]_^1I2_#IFC 'A',NE,I_^1_%VFD N3/0,N1/0,N2/0,X10/'L'_^1_%EIF I2_^1_%IFC 'P1',NE,R_^€€1_%VFD X4/'P1',X4/'P2',X4/'P3',X4/'DY'_^1_%EIF_]_^1_%IFC 'P1',EQ,R_^1_%VFD N1/1,X3/'P2',X12/'P3'_^1_%EIF_]_^1_%EMC_]_^1SYSCHD MAC C,P_^1_%RTJ- ($F4)_^1_%VFD N2/0,N5/18,N5/0,X4/'P'_^1_%ADC 'C'_^1_%EMC_]_^1MOT_"MAC LU,A,N,C,P,BB_^1_%LOC XU,LC,LP,LN,PR_F88*2712_^1_%NLS_]_^1_%IFC 'P',NE,_^1_%EQU 'PR'('P')_^1_%EIF 0_^1_%IFC 'P',EQ,_%IS THERE A PRIORITY_^1_%EQU 'PR'(0)_(NO_^€€1_%EIF 0_^1_%IFC 'N',NE,_^1_%EQU 'LN'('N')_$REPEAT MANY TIMES_^1_%EIF 0_^1_%IFC 'N',EQ,_^1_%EQU 'LN'(1)_'REPEAT ONLY ONE TIME_^1_%EIF 0_^1_%EQU 'LC'('BB'*$1000+'LN')_(SET UP NUM OF TIMES REPEATED_^1_%IFC 'C',EQ,_%NO COMPLETION_^1_%EQU 'LP'('PR'*16+'PR'+$5C00)_^1_%EIF 0_^1C0_#IFC 'C',NE,_%COMPLETION YES_888*2712_^1_%IFC '.',EQ,*_$RELATIVE COMPLETION_^1_%EQU 'LP'('PR'*1€€6+'PR'+$1D00)_=81*205_^1_%EIF 0_^1_%IFC '.',EQ,_%ABS COMPLETION_^1_%EQU 'LP'('PR'*16+'PR'+$5C00)_^1_%EIF 0_^1_%EIF C0_R88*2712_^1_%LST_]_^1_%RTJ- ($F4)_^1_%ADC 'LP'_^1_%NLS_]_^1_%IFC 'C',EQ,_^1_%LST_]_^1_%ADC 0_-COMPLETION_^1_%NLS_]_^1_%EIF 0_^1C1_#IFC 'C',NE,_%IS THERE A COMPLETION ADDRESS_)88*2712_^1C2_#IFC '.',EQ,*_$IS IT RELATIVE_888*2712_^1_%LST_]_^1_%ADC 'C'-*+1_'€€COMPLETION_^1_%NLS_]_^1_%EIF C2_R88*2712_^1C3_#IFC '.'EQ,_^1_%LST_]_^1_%ADC 'C'_+COMPLETION_^1_%NLS_]_^1_%EIF C3_R88*2712_^1_%EIF C1_R88*2712_^1_%LST_]_^1_%NUM 0_,THREAD_^1_%NLS_]_^1_%IFC 'A',EQ,_%IT IS THE LOGICAL UNIT_^1_%LST_]_^1_%ADC $0000+'LU'_^1_%NLS_]_^1_%EIF 0_^1_%IFC 'A',EQ,R_$A RELATIVE DISTANCE_^1_%LST_]_^1_%VFD N6/1,X10/'LU'-*+3_+RELATIVE_^1_%NLS_]_^1_%EIF 0€€_^1_%IFC 'A',EQ,I_$A ABS CORE LOCATION_^1_%LST_]_^1_%VFD N6/2,X10/'LU'_/ABS CORE LOCATION_^1_%NLS_]_^1_%EIF 0_^1_%LST_]_^1_%ADC ('LC')_'REPEAT TIMES N_^1_%EMC_]_^1BSR_"MAC L1,A1,N1,C1,P1_'BACKSPACE MACRO_^1_%NLS_]_^1_%MOT'.' 'L1','A1','N1','C1','P1',1_^1_%EMC_]_^1EOF_"MAC L2,A2,N2,C2,P2_'END-OF-FILE MACRO_^1_%NLS_]_^1_%MOT'.' 'L2','A2','N2','C2','P2',2_^1_%EMC_]_^1REW_"MAC L€€3,A3,N3,C3,P3_'REWIND MACRO_^1_%NLS_]_^1_%MOT'.' 'L3','A3','N3','C3','P3',3_^1_%EMC_]_^1UNL_"MAC L4,A4,N4,C4,P4_'REWIND/UNLOAD MACRO_^1_%NLS_]_^1_%MOT'.' 'L4','A4','N4','C4','P4',4_^1_%EMC_]_^1ADF_"MAC L5,A5,N5,C5,P5_'ADVANCE FILE MACRO_^1_%NLS_]_^1_%MOT'.' 'L5','A5','N5','C5','P5',5_^1_%EMC_]_^1BSF_"MAC L6,A6,N6,C6,P6_'BACKSPACE FILE MACRO_^1_%NLS_]_^1_%MOT'.' 'L6','A6','N6','C€€6','P6',6_^1_%EMC_]_^1ADR_"MAC L7,A7,N7,C7,P7_'ADVANCE RECORD MACRO_^1_%NLS_]_^1_%MOT'.' 'L7','A7','N7','C7','P7',7_^1_%EMC_]_^1DISP_!MAC X_^1_%LST_]_^1_%JMP- ($EA)_^1_%EMC_]_^1BUFFER MAC AA,BB,CC,DD,EE,FF_^1_%LOC A_^1_%SPC 1_^1_%EXT ISBUFR,CBWRIT,CBREAD,BOUTC_^1_%SPC 1_^1_%NUM $520A_(00 SCHEDULER CALL_^1_%ADC ISBUFR_'01 INITIATOR ADDRESS_^1_%ADC 0_,02 CONTINUATOR ADDR€€ESS_!- NOT USED_^1_%ADC 0_,03 TIMEOUT ERROR ADDRESS - NOT USED_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_$- NOT USED_^1_%NUM 0_,05 LOGICAL UNIT_^1_%ADC 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $00A4_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEV€€ICE STATUS_(- NOT USED_^1_%NUM 0_,13 RESERVED_^1_%NUM $7FFF_(14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%ADC 'AA'_(16 LSB START OF BUFFER_^1_%ADC 'BB'_(17 LSB END_!OF BUFFER_^1_%ADC 'AA'_(18 CURRENT LSB START OF BUFFER_^1_%ADC 'BB'_(19 CURRENT LSB END_!OF BUFFER_^1_%NUM $44AA_(20 MASS MEMORY WRITE REQUEST (UNFORMATTED)_^1_%ADC CBWRIT_'21 MASS MEMORY WRI€€TE COMPLETION_^1_%NUM 0_,22 THREAD_^1_%ADC 'EE'_)23 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,24 NUMBER OF WORDS_^1_%NUM 0_,25 STARTING DATA LOCATION_^1_%ADC 'CC'_(26 MSB ADDRESS_^1_%ADC 'AA'_(27 LSB ADDRESS_^1_%NUM 0_,28 CONTROL WORD_^1_%NUM $42AA_(29 MASS MEMORY READ REQUEST (UNFORMATTED)_^1_%ADC CBREAD_'30 MASS MEMORY READ COMPLETION_^1_%NUM 0_,31 THREAD_^1_%ADC '€€EE'_)32 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,33 NUMBER OF WORDS_^1_%ADC 'A'_*34 STARTING LOCATION (CHARACTER BUFFER)_^1_%ADC 'CC'_(35 MSB ADDRESS_^1_%ADC 'AA'_(36 LSB ADDRESS_^1_%NUM 0_,37 PARTIAL WORD OUTPUT FLAG_^1_%NUM $4CAA_(38 BUFFER WRITE REQUEST (FORMATTED)_^1_%ADC BOUTC_(39 BUFFER WRITE COMPLETION_^1_%NUM 0_,40 THREAD_^1_%ADC 'DD'_+41 OUTPUT LOGICAL UNIT_^€À1_%NUM 0_,42 NUMBER OF WORDS_^1_%ADC 'A'_*43 STARTING LOCATION (CHARACTER BUFFER)_^1_%ADC 'FF'_)44 CHARACTER BUFFER SIZE_^1_%BZS 'A'('FF')_#45 CHARACTER BUFFER_^1_%EMC_]_^1ENDMAC_]_^__À END/