$JOB ASSEMBLY OF MONITOR, COMPILER SECTIONS 1 THROUGH 6 OF $00000010 $* FORTRAN II PROCESSOR, 7090-FO-928 00000020 $* VERSION 3, MODIFICATION LEVEL 35 (35)00000030 $EXECUTE IBSFAP $00000050 * 32K 709/7090 FORTRAN MONITOR DEBUG, BSS CONTROL AND LIBRARY SEARCH F0G00000 * FAP F0G00020 * 32K 709/7090 FORTRAN MONITOR DEBUG, BSS CONTROL AND LIBRARY SEARCH F0G00030 COUNT 3900 F0G00040 TTL RECORD 7 OR 32 DEBUG F0G00050 SST FORTRAN $F0G00060 ABS $F0G00070 LBL 9F07,G F0G00090 WHICH EQU 0 7,8,9 ASSEMBLY $F0G00099 ORG SYSCUR $F0G00100 IFF WHICH $F0G00106 LBL 9F32,LIST $F0G00107 IFF WHICH,Z $F0G00108 LBL 9F07,LIST $F0G00109 IFF WHICH $F0G00110 BCI 1,9F3200 $F0G00112 IFF WHICH,Z $F0G00114 BCI 1,9F0700 $F0G00116 ORG (LODR) $F0G00120 IFF WHICH $F0G00130 TXI ENTER,,320 ENTRY POINT,,RECORD NO. $F0G00132 IFF WHICH,Z $F0G00134 TXI ENTER,,70 ENTRY POINT,,RECORD NO. $F0G00136 CHNTAP SYN 8 $F0G00150 * F0G00160 * USING THE SOURCE LANGUAGE DEBUGGING ROUTINE FOR F0G00170 * FORTRAN. F0G00180 * F0G00190 * F0G00200 * ANY CARD WHICH CONTAINS NON NUMERIC CHARACTERS IN F0G00210 * COLUMNS 2 - 5 WILL BE IGNORED. F0G00220 * F0G00230 * ANY CARD WHICH CONTAINS A N0N NUMERIC CHARACTER F0G00240 * OTHER THAN AN X IN COLUMN 6 WILL BE IGNORED. F0G00250 * F0G00260 * ANY CARD WITH COLUMNS 1 - 6 BLANK WILL BE IGNORED. F0G00270 * F0G00280 * A CARD WITH AN X OR A DIGIT IN COLUMN 6 AND COLUMNS F0G00290 * 1 - 5 BLANK IS TREATED AS A CONTINUATION CARD. F0G00300 * F0G00310 * A CARD WITH COLUMNS 1 AND 6 BLANK AND WITH AN EX- F0G00320 * TERNAL FORMULA NUMBER IN COLUMNS 1 - 5 IS TREATED AS F0G00330 * THE START OF A NEW DEBUG STATEMENT. F0G00340 * F0G00350 * A CARD WITH AN N IN COLUMN 1 IS TREATED AS A SUB- F0G00360 * PROGRAM NAME CARD. NO TEST IS MADE TO SEE IF COLUMNS F0G00370 * 2 - 6 CONTAIN BLANKS. F0G00380 * F0G00390 * PROVISIONS MADE FOR REFERENCES TO 20 SUB PROGRAMS. F0G00400 * 200 W0RDS OF TEXT IS ALLOWED FOR EACH SUBPROGRAM. F0G00410 * F0G00420 * IF AN ERROR IS FOUND ON A SUBPROGRAM NAME CD. THE F0G00430 * ROUTINE SEARCHES FOR THE NEXT SUBPROGRAM NAME CD. IG- F0G00440 * NORING ANY INTERVENING DEBUG CDS. F0G00450 * F0G00460 * F0G00470 * F0G00480 * F0G00490 * F0G00500 * STORAGE PARAMETERS F0G00510 NTW EQU 20 NO. OF DIFF. S. P. TO BE DEBUGGEDF0G00520 NTHUN EQU 200 NO. OF WDS PER INTERMEDIATE SP. F0G00530 * TABLES F0G00540 NDTBLS EQU 501 NO. OF CELLS PROVIDED FOR DTBLS. F0G00550 * LOGICAL TAPE PARAMETERS F0G00560 NPUTA EQU 5 NON CHAIN MODE INPUT TAPE. F0G00570 INPT EQU 8 CHAIN MODE INPUT TAPE F0G00580 OUTPT EQU 6 PRINTED OUTPUT TAPE F0G00590 TITLE $F0G00600 ORG BOTTOM F0G00610 TEXT BSS NTW*NTHUN STORAGE FOR DEBUG STATEMENTS. F0G00620 ORG BOTIOP-5600 $F0G00630 ENTER SLF F0G00640 AXT 50,1 ZERO OUT SWTBLE BUFFER IN $F0G00642 STZ SWTBLE+50,1 MEMORY TO AVOID POSSIBLE LATER COMPLICATIO$F0G00645 TIX *-1,1,1 SINCE EDITOR DOESNT ZERO BUFFER ANY MORE. $F0G00648 AXT 2,1 SIGNAL IOPACKAGE TO TURN ON S L 2F0G00650 SXA (MSLN),1 IF GOING TO MACHINE ERROR RECRDF0G00660 LDI* (FGBX) $F0G00670 LFT 1 F0G00680 TRA RDLBL MUST BE CHAIN JOB AND NOT 1ST LNKF0G00690 STZ 1STCHN F0G00700 AXT 2,1 SINGLE JOB OR 1ST CHAIN LINK F0G00710 AXT 2,2 SET TO BACKSPACE 2 FILES ON B4. F0G00720 WTNDM TSX (TAPE),4 F0G00730 PZE ,,(WEFP) F0G00740 PZE TP7R8+2,1,-1 INDIRECT REFERENCE TAPE 7 OR 8. F0G00750 TSX (TAPE),4 WRITE END SIGNAL F0G00760 PZE NDCW,,(WBNP) F0G00770 PZE TP7R8+2,1,-1 F0G00780 TSX (TAPE),4 BACKSPACE FILE F0G00790 PZE BSFCWF,,(SKBP) F0G00800 PZE TP7R8+2,1,-1 F0G00810 TIX *-3,2,1 F0G00820 LDI* (FGBX) $F0G00830 LFT 2 IS THIS A CHAIN JOB. F0G00840 TRA ENTCH YES F0G00850 RFT 400000 IS THERE DEBUG F0G00860 TRA ZEOUT YES GO PROCESS STATEMENTS. F0G00870 STZ DTBLS-1 TELL BSS NO DEBUG. F0G00880 TRA ENTWH F0G00890 ENTCH TIX WTNDM,1,1 END SIGNAL AND BACKSPACE B1 F0G00900 AXT 0,2 F0G00910 TSX (TAPE),4 BACKSPACE AND COUNT FILES TO F0G00920 PZE BSFCWF,,(SKBC) BEGINNING OF B1. F0G00930 PZE ,,CHNTAP $F0G00940 LDI (SCHU) F0G00950 RNT 1 DID THIS HIT BEGINNING OF TAPE. F0G00960 TXI *-5,2,1 NO F0G00970 TXL *+5,2,0 YES F0G00980 TSX (TAPE),4 BACKSPACE B4 TO 1ST LINK F0G00990 PZE BSFCWF,,(SKBP) F0G01000 PZE ,,MBNTAP $F0G01010 TIX *-3,2,1 F0G01020 TSX (TAPE),4 GET OVER FILE MARK ON B4. F0G01030 PZE SKPCWF,,(SKBP) F0G01040 PZE ,,MBNTAP $F0G01050 RDLBL TSX (TAPE),4 READ THE CHAIN LABEL. F0G01060 PZE LBLCWF,,(RBNC) F0G01070 PZE ,,CHNTAP $F0G01080 PZE LBLER F0G01090 CLA CURCHN F0G01130 CAS ALL7S ARE THERE ANY MORE LINKS. F0G01140 TRA *+2 F0G01150 TRA ZSCHN TO CAUSE ZEROING FIRST LINK STORAGE $F0G01160 NZT 1STCHN IS THIS THE FIRST LINK. F0G01170 STO 1STCHN YES F0G01180 START TSX RDTPE,4 LOOK FOR DEBUG PACK. F0G01190 TSX NOBLK,4 F0G01200 CAL BCD 1ST BCD RECORD SHOULD CONTAIN * F0G01210 ERA STAR F0G01220 TZE *+2 F0G01230 TSX (MECL),4 IF NOT GO TO MACH. ERROR REC.(22)F0G01240 CAL BCDA LOOK FOR * DEBUG. F0G01250 ERA DEBUG F0G01260 TZE ZEOUT-2 SET 4 BIT IN TAG ON F0G01270 CAL BCDA F0G01280 ERA DATA F0G01290 TZE MOD1 F0G01300 TRA TLOUT ILLEGAL CONTROL CARD (22)F0G01310 HOPE TSX (MECL),4 DITTO F0G01320 REM INITIALIZE TO CLEAR STORAGE $F0G01321 REM AFTER LOADING THE FIRST CHAIN LINK $F0G01322 ZSCHN LXA PROG-4,1 FROM THE PROGRAM BREAK $F0G01323 SXD PROG-4,1 TO THE TOP OF COMMON $F0G01324 CLA ZPCBK (DEPENDING ON * IOP) $F0G01325 STO PROG-5 RATHER THAN FROM THE $F0G01326 TRA GOCHN BOTTOM OF THE LOADING TABLES $F0G01327 ZPCBK LDC PRCBRK,1 INSTRUCTION TO DO THIS $F0G01328 LBLER TSX FIXB4F,4 F0G01330 TSX (MECL),4 EXIT TO MACHINE ERROR REC. F0G01340 MOD1 CAL 7BIT FOUND DATA CONTROL CARD F0G01350 ANS* (FGBX) MAKE SURE TWO BIT IN TAG IS OFF. $F0G01360 TRA ENDPR GO TO SET UP DTBLS IF ANY. F0G01370 FIXB4F SXA B40K,4 F0G01380 TSX (TAPE),4 BACKSPACE A RECORD AND SKIP A F0G01390 PZE BSRCWF,,(SKBP) FILE ON B4. F0G01400 PZE ,,MBNTAP $F0G01410 SKPFIF TSX (TAPE),4 F0G01420 PZE SKPCWF,,(SKBP) F0G01430 PZE ,,MBNTAP $F0G01440 RDNDMF TSX (TAPE),4 CHECK IF END MARK. F0G01450 PZE LBLCWF,,(RBEC) F0G01460 PZE ,,MBNTAP $F0G01470 NZT (SCHU)+MBNTAP $F0G01480 TRA RDNDMF EMPTY FILE F0G01490 CLA CURCHN F0G01500 SUB ALL7S F0G01510 TNZ SKPFIF IF NO END MARK SKIP ANOTHER FILE.F0G01520 TSX (TAPE),4 F0G01530 PZE BSRCWF,,(SKBP) F0G01540 PZE ,,MBNTAP $F0G01550 B40K AXT **,4 F0G01560 TRA 1,4 F0G01570 TP7R8 PZE ,,7 FOR INDIRECT REFERENCE TO TAPES F0G01580 PZE ,,8 7 OR 8. F0G01590 DBUG BCI 1, DEBUG F0G01600 BSFCWF MZE ,,1 BSF CONTROL WD. FOR IO. F0G01610 SKPCWF PZE ,,1 SKIP FILE CONTROL WD. FOR IO. F0G01620 BSRCWF MZE 1 BSR CONTROL WD. F0G01630 LBLCWF IORT CURCHN,,1 TO READ CURRENT CHAIN LABEL. F0G01640 NDCW IORT ALL7S,,3 CONTROL WORD FOR WRITING END MARKF0G01650 ALL7S SVN -1,7,-1 F0G01660 4BTTG OCT 400000 F0G01670 CAL 4BTTG TURN 4 BIT IN FLGBX ON SAYS F0G01680 ORS* (FGBX) THERE IS DEBUG. $F0G01690 ZEOUT TSX PRGCN,4 EJECT PAGE ON PRINT OUTPUT TAPE. F0G01700 AXT NTW,1 F0G01710 CLA BLMSK STORE BLANKS IN TABLE WHERE SUB F0G01720 STO NAMES+NTW,1 PROGRAM NAMES GET STORED. F0G01730 STZ PREWD+NTW,1 0 TO ALL PREVIOUS WD. ENTRIES. F0G01740 TIX *-2,1,1 F0G01750 AXT NTW*NTHUN,1 ZERO TO ALL TEMPORARY TEXT TABLESF0G01760 STZ TEXT+NTW*NTHUN,1 F0G01770 TIX *-1,1,1 F0G01780 AXT NDTBLS+1,1 ZERO TO DEBUG TABLES WHICH ARE $F0G01790 STZ DTBLS-1+NDTBLS,1 PASSED TO BSS. F0G01800 TIX *-1,1,1 F0G01810 STZ SPCNT ZERO TO SUBPROGRAM COUNT. F0G01820 OUT TSX RDTPE,4 GET NEXT BCD RECORD. F0G01830 PETE CAL BCD TEST TO SEE IF COLS. 1-6 OF BCD F0G01840 LAS BLMSK CARD CONTAINED BLANKS. IF YES, F0G01850 TRA *+2 THEN PRINT - XXXX CARD IGNORED.F0G01860 TRA OUTPR COLUMNS 1-6 ALL BLANK - F0G01870 ERA STAR MASK FOR * AND 5 BLANKS IN 1-6. F0G01880 TZE START+1 IF YES, CONTROL CARD SHOULD BE - F0G01890 CAL BCD * DATA - OR -* DEBUG F0G01900 LGR 30 TEST COL. 1 FOR - N -. IF YES, F0G01910 SUB EN FOUND AN - N - CARD. PROCESS F0G01920 TZE NEWSP ANY FOLLOWING DEBUG CARDS AS F0G01930 ETEST CAL BCD BELONGING TO THIS SUBPROGRAM. F0G01940 ANA TAB77 TEST COL. 6 = 0 OR BLANK. F0G01950 TZE EXFOR IF 0, THEN MIGHT BE EFN. F0G01960 SUB BL IF BLANK, THEN MIGHT BE EFN. F0G01970 TZE EXFOR IF NOT 0 OR BLANK, ASSUME CONT-F0G01980 CONCD TSX NOBLK,4 INUATION CARD AND PROCESS. F0G01990 ALS 18 PROCESS BLANKS OUT OF COLS 7-72. F0G02000 STD *+2 CHARACTER COUNT IN DECR. OF AC. F0G02010 TSX STORE,4 STORE TEXT OF CONTINUATION CARD. F0G02020 PZE BCDA,0,** F0G02030 TRA DELTPR TABLE OVERFLOW RETURN. F0G02040 TRA OUT GO GET NEXT BCD RECORD. F0G02050 DELTE CLA PREWD,2 RESET PROCEDURE EMPLOYED WHEN AN F0G02060 STO LSWRD,2 EFN OVERFLOWS TABLE. RESETS F0G02070 PXD 0,0 STORAGE LOC. TO PREVIOUS EFN. F0G02080 LDQ* PREWD,2 WIPE OUT ANY ANY CHARACTERS IN F0G02090 LXD PREWD,5 TABLE WHICH MIGHT BE STORED FORF0G02100 LGL 6 EFN WHICH CAUSED OVERFLOW. F0G02110 TIX *-1,1,1 F0G02120 LDQ LCZER THESE CHARACTERS ARE SET TO 0. F0G02130 LGR 6 F0G02140 TIX *-1,4,1 F0G02150 STQ* PREWD,2 F0G02160 SAMUL TSX RDTPE,4 SKIP ANY CONTINUE CARDS FOR THE F0G02170 CAL BCD EFN WHICH OVERFLOWED. F0G02180 ANA TAB77 F0G02190 TZE PETE HAVE ENCOUNTERED NEXT EFN OR PRO-F0G02200 SUB LOWBL GRAM NAME CD. OR * DATA. F0G02210 TNZ SAMUL CONTINUE CD. SO SKIP. F0G02220 TRA PETE BLANK IN COL. 6. SO RETURN TO PROF0G02230 EXFOR NZT SPCNT CHECK TO SEE IF SUBPROGRAM NAME F0G02240 TRA *+3 CARD FOUND YET. IF NO, ERROR. F0G02250 CAL BCD PICK UP COLS 1 - 6. F0G02260 TRA RET1 F0G02270 TSX WRITE,4 PRINT OUT ERROR CONDITION AND GO F0G02280 PZE TITLZ,0,11 SKIP ANY CONTINUATION CARDS. F0G02290 TRA SKPCN F0G02300 RET1 ORA BL CHECK EFN FOR BLANKS. F0G02310 LAS BLMSK F0G02320 TRA *+2 F0G02330 TRA SKPPRF ERROR POSSIBILITY - NO EFN. F0G02340 SLW AC LOOKS LIKE IT MIGHT BE EFN. F0G02350 AXT 6,4 F0G02360 TEST CVR CONTB,1,1 TEST 6 CHAR. OF EFN FOR ALPHA OR F0G02370 TRA *+3,1 OTHER NON ACCEPTABLE CHAR. F0G02380 TRA *+2 BLANKS ARE ACCEPTED F0G02390 TRA PRNE WHOOPS ILLEGAL CHARACTER IN EFN. F0G02400 TIX TEST,4,1 ALL DIGITS COME HERE. F0G02410 LDQ BCD EFN AS PER COLS. 1-6 TO MQ F0G02420 AXT 7,1 KEEP TRACK OF LAST WORD OF TABLE F0G02430 AXT 5,4 USED BY TEXT OF PREVIOUS EFN F0G02440 CLA LSWRD,2 AND THE NUMBER OF CHARACTERS INF0G02450 STO PREWD,2 THIS WORD IN CASE A SET BACK ISF0G02460 CAL TAB77 NECESSARY SHOULD THIS NEW EFN F0G02470 AI TQP A2I CAUSE THE TABLE TO OVERFLOW. F0G02480 RQL 6 THIS CODING GETS A LEADING AND F0G02490 TRA *+3 FOLLOWING 77 CHARACTER AROUND F0G02500 A2I LGL 6 THE EFN AND COUNTS THE CHAR- F0G02510 TXI *+1,1,6 ACTERS IN THE EFN. F0G02520 TIX AI,4,1 F0G02530 TXH A3I,1,36 F0G02540 ALS 6 IF COUNT IS LESS THAN 5, THIS F0G02550 ORA TAB77 GETS THE LOW ORDER 77. F0G02560 TXI *+1,1,5 F0G02570 SLW BCDA F0G02580 PXA 0,1 THIS CODING LEFT ADJUSTS 77EFN77 F0G02590 SSM FOR STORAGE PURPOSES. F0G02600 ADD LC36 F0G02610 STA *+2 F0G02620 CAL BCDA F0G02630 ALS ** F0G02640 SLW BCDA F0G02650 PXD 0,1 THIS CODING COMPUTES NUMBER OF F0G02660 XCA CHARACTERS TO BE STORED IN F0G02670 PXA 0,0 CURRENT SUBPROGRAM TABLE AND F0G02680 DVP LC6 RECORDS THIS COUNT IN CALLING F0G02690 XCA SEQUENCE FOR STORE S. R. F0G02700 STD D1 F0G02710 TRA D3 F0G02720 A3I LDQ HIH77 THIS CODING CONSIDERS THE CASE OFF0G02730 STQ BCDA+1 A 5 DIGIT EFN WHICH IS TREATED F0G02740 SLW BCDA AS A SPECIAL CASE WHERE 7 CHAR-F0G02750 CLA DLC7 ACTERS ARE STORED. F0G02760 STD D1 F0G02770 D3 TSX STORE,4 STORE EFN ENCOMPASSED BY 77S IN F0G02780 D1 PZE BCDA,0,** CURRENT SUBPROGRAM TABLE. F0G02790 TRA PRNF TABLE OVERFLOW RETURN. F0G02800 TSX NOBLK,4 WIPE BLANKS OUT OF TEXT ON EFN F0G02810 ALS 18 CD. F0G02820 STD D2 F0G02830 TSX STORE,4 STORE TEXT OF CURRENT EFN CARD. F0G02840 D2 PZE BCDA,0,** F0G02850 TRA PRNF TABLE OVERFLOW RETURN. F0G02860 TRA OUT COMPLETED CD. WITH EFN GET NEXT. F0G02870 SKPCN TSX RDTPE,4 THIS ROUTINE IS USED ON TABLE F0G02880 CAL BCD OVERFLOW CONDITIONS TO SKIP ANYF0G02890 ANA TAB77 CONTINUATION CARDS. F0G02900 TZE PETE WHEN AN - N - CARD OR ANOTHER EFNF0G02910 SUB LOWBL CARD OR A CONTROL CD. IS FOUND F0G02920 TNZ SKPCN CONTROL RETURNS TO MAIN PRO- F0G02930 TRA PETE CESSING LOOP. F0G02940 MAINP TIX NEWSP+1,1,1 F0G02950 STZ BCDA SETS MAIN PROGRAM NAME TO ZEROS. F0G02960 TRA MAKEN F0G02970 NEWSP AXT 11,1 F0G02980 CAL BCD+12,1 CHECK COLS. 7 - 72 FOR ALL BLANKSF0G02990 LAS BLMSK IF SO, THEN DUMP REQUESTS ARE F0G03000 TRA *+2 FOR MAIN PROGRAM. F0G03010 TRA MAINP F0G03020 TSX NOBLK,4 IF NOT THEN MUST BE SUBPROGRAM. F0G03030 AXT 0,1 GET RID OF ANY BLANK CHARACTERSF0G03040 PAC 0,2 IN NAME. F0G03050 TXI *+1,2,6 NAME IS LEFT JUSTIFIED. F0G03060 TXL MAKEN,2,0 IF NO BLANKS ARE NEEDED TO FILL F0G03070 CAL BL,1 THEN TRANSFER. IF BLANKS ARE F0G03080 ORS BCDA NEEDED TO FILL, THEN INSERT AS F0G03090 TXI *+1,1,-1 MANY AS ARE NEEDED. F0G03100 TIX *-3,2,1 F0G03110 MAKEN CAL BCDA THIS CODING PROCESSES THE NAME OFF0G03120 LAC SPCNT,1 A SUBPROGRAM. IT COMPARES A NEWF0G03130 TXI *+1,1,1 NAME WITH ALL THE PREVIOUS F0G03140 AXT 0,2 NAMES. IF THERE IS A PREVIOUS F0G03150 LAS NAMES,2 DEBUG REQUEST FOR THIS SAME SUBF0G03160 TRA *+2 PROGRAM THEN XR 2 WILL CONTAIN F0G03170 TRA OUT THE 2S COMPLEMENT OF A NUMBER F0G03180 TXI *+1,2,-1 WHICH CAN BE USED TO INDIRECTLYF0G03190 TIX *-4,1,1 ADDRESS AN AREA CALLED LSWRD. F0G03200 TXL FULL,2,-NTW-1 THIS WILL BE USED TO STORE ANY F0G03210 SLW NAMES-1,2 FOLLOWING DEBUG REQUESTS IN F0G03220 SXA SPCNT,2 LINE IN THE CURRENT TABLE. F0G03230 CLA LCTXT-1,2 IF NO MATCH CAN BE MADE ANOTHER F0G03240 STZ LSWRD-1,2 ENTRY IS MADE IN NAMES LIST F0G03250 STA LSWRD-1,2 ALONG WITH A STARTING ADDRESS F0G03260 TXI OUT,2,1 IN LSWRD AND 2S COMP. OF COUNT.F0G03270 FULL TSX WRITE,4 IF MORE THAN 20 SUBPROGRAM NAMES F0G03280 PZE TITLG,0,10 ENTRIES ARE ATTEMPTED, CONTROL F0G03290 TSX RDTPE,4 COMES HERE FOR OVERFLOW COND. F0G03300 TRA SKPCN EFN AND CONTINUE CARDS ARE IGNOR.F0G03310 OUTPR TSX WRITE,4 PRINTS ERROR STATE. WHEN COLS 1-6F0G03320 PZE TITLA,,7 CONTAINS ALL BLANKS $F0G03330 TRA SKPCN GOES TO SKIP CONTINUE CARDS. F0G03340 DELTPR TSX WRITE,4 PRINTS ERROR STATE. WHEN OVERFLOWF0G03350 PZE TITLB,0,10 ENCOUNTERED TRYING TO STORE RE-F0G03360 TRA DELTE QUEST. REQUEST IS DELETED. F0G03370 SKPPRF TSX WRITE,4 PRINTS ERROR STATE. WHEN NO EFN F0G03380 PZE TITLD,0,9 ON CARD FOLLOWING N CARD. F0G03390 TRA SKPCN GOES TO SKIP CARDS UNTIL EFN CD. F0G03400 PRNE TSX WRITE,4 PRINTS ERROR STAT. WHEN EFN CONT-F0G03410 PZE TITLE,0,9 AINS NON NUMERIC CHARACTERS. F0G03420 TRA SKPCN GOES TO SKIP ANY CONTINUE CARDS. F0G03430 PRNF TSX WRITE,4 PRINTS ERROR STAT. WHEN STORING F0G03440 PZE TITLB,0,10 OF TEXT FROM EFN CARD HAS CAUS-F0G03450 TRA DELTE ED OVERFLOW. REQUEST IS DELETEDF0G03460 OVFPR CLA NAMES,2 WHEN TABLE OVERFLOWS WHEN TRYING F0G03470 STO TITLH+6 TO STORE 7777S CONTROL COMES F0G03480 TSX WRITE,4 HERE AND LAST DUMP REQUEST WILLF0G03490 PZE TITLH,0,15 BE IGNORED FOR THE S. P. NAME F0G03500 TRA OVFLW THAT GETS PRINTED OUT. F0G03510 ENDPR LAC SPCNT,1 TOTAL NUMBER OF SUBPROGRAMS TO A.F0G03520 TXL ENTWH,1,0 IF NONE, EXIT TO BSS CONTROL F0G03530 AXT 0,2 THIS CODING STORES 7777 AT END OFF0G03540 GTSVN TSX STORE,4 TEXT FOR EACH SUBPROGRAM EN- F0G03550 PZE L7777,0,2 COUNTERED ON N-CARDS. F0G03560 TRA OVFPR POSSIBLE TABLE OVERFLOW RETURN. F0G03570 TXI *+1,2,-1 F0G03580 TIX *-4,1,1 F0G03590 TRA ALPHA-2 F0G03600 OVFLW CLA PREWD,2 7777 COULD NOT BE STORED, SO LASTF0G03610 STO LSWRD,2 EFN IS DELETED AND STORAGE OF F0G03620 TSX STORE,4 7777 NOW TAKES PLACE. F0G03630 PZE L7777,0,2 F0G03640 TRA HOPE F0G03650 TRA GTSVN+3 KICK OFF MACHINE F0G03660 AXT 0,2 F0G03670 LAC SPCNT,1 F0G03680 ALPHA CLA LSWRD,2 THIS LOOP COMPUTES THE NUMBER OFF0G03690 ERA TAGMK WORDS OF STORAGE USED BY EACH F0G03700 SUB LCTXT,2 OF THE SUBPROGRAMS. F0G03710 ADD LC1 LSWRD IS ADDRESS OF LAST WORD F0G03720 STO NOWRD,2 IN TABLE TO RECEIVE TEXT. F0G03730 TXI *+1,2,-1 LCTXT IS THE STARTING ADDRESS F0G03740 TIX ALPHA,1,1 OF TABLE. F0G03750 LAC SPCNT,1 F0G03760 AXT 0,2 F0G03770 PXD 0,0 F0G03780 LDQ LC500 THIS LOOP ACCUMULATES THE STORAGEF0G03790 ADD NOWRD,2 FOR THE SUBPROGRAMS AND CHECKS F0G03800 ADD LC2 TO SEE IF ACCUMULATION EXCEEDS F0G03810 ANA AD77 500. F0G03820 TLQ WHOAPR IF 500 EXCEEDED, THEN TRA. HERE. F0G03830 TXI *+1,2,-1 F0G03840 TIX *-5,1,1 F0G03850 TRA WHOA NO TABLE OVERFLOW EXPECTED. F0G03860 WHOAPR TSX WRITE,4 PRINT STATEMENT ABOUT DTBLS OVER F0G03870 PZE GTITLG,0,15 FLOW F0G03880 SXA SPCNT,2 RESET SUBPROGRAM COUNT TO ACTUAL F0G03890 TRA *+2 NUMBER DTBLS CAN HANDLE. F0G03900 BET1 TXI *+1,2,-1 F0G03910 CLA NAMES LOOP TO PRINT OUT NAMES OF SUB- F0G03920 STO HTITLH+2 PROGRAMS FOR WHICH THERE IS NO F0G03930 TSX WRITE,4 SPACE IN DTBLS. F0G03940 PZE HTITLH,0,3 F0G03950 TIX BET1,1,1 F0G03960 WHOA AXT 0,6 F0G03970 LAC SPCNT,1 F0G03980 PXA 0,1 COMPUTE 2 * NO. OF SUBPROGRAMS F0G03990 ALS 1 PLUS 1 F0G04000 STO DTBLS-1 F0G04010 ADD LC2 F0G04020 STO 2NP1 F0G04030 ADD ATABL ADD IN THE INITIAL ADDRESS OF F0G04040 STO HOLD DTBLS AND HOLD IT. F0G04050 BETA LDQ NAMES,4 MOVE NAMES INTO DTBLS F0G04060 STQ DTBLS,2 F0G04070 STZ DTBLS+1,2 MAKE SURE CELL FOR 2S COMPLEMENT F0G04080 CLA HOLD OF ADDRESS OF TEXT IS 0. F0G04090 COM F0G04100 ADD LC2 F0G04110 ALS 18 GET AND STORE 2S COMPLEMENT OF F0G04120 STD DTBLS+1,2 ADDRESS OF TEXT INTO DEC. OF F0G04130 CLA HOLD COMPUTE ADDRESS OF WHERE NEXT F0G04140 ADD NOWRD,4 SUBPROGRAMS TEXT WILL BE STOREDF0G04150 STA HOLD F0G04160 TXI *+1,2,-2 PROCESS ALL SUBPROGRAM NAMES AND F0G04170 TXI *+1,4,-1 LOCATIONS OF TEXT EXCEPT FOR F0G04180 TIX BETA,1,1 THOSE WHICH HAVE BEEN IGNORED. F0G04190 TXI *+1,2,-1 GET XR2 READY TO RECEIVE TEXT. F0G04200 LAC SPCNT,1 INITIALIZATION OF LOOP FOR MOVINGF0G04210 PXA 0,1 ALL TEXT INTO DTBLS. F0G04220 ADD ALCTX F0G04230 STA GAMA F0G04240 PXA 0,1 F0G04250 ADD ANOWR F0G04260 STA DELTA F0G04270 STZ COUNT F0G04280 DELTA CLA **,1 MOVE NO. OF WDS. OF TEXT FOR SUC-F0G04290 STA COUNT CESSIVE S. P. TO COUNT. F0G04300 AXT 0,4 F0G04310 GAMA CLA* LCTXT,1 MOVE SUCCESSIVE WORDS OF TEXT F0G04320 STO DTBLS-1,2 FROM SUBPROGRAM TABLES INTO F0G04330 TXI *+1,2,-1 DTBLS. F0G04340 TXI *+1,4,-1 F0G04350 CLA COUNT THIS IS A TEST TO SEE IF ALL WDS.F0G04360 SUB LC1 OF TEXT FOR A PARTICULAR S. P. F0G04370 STO COUNT HAS BEEN MOVED. F0G04380 TNZ GAMA F0G04390 TIX DELTA,1,1 GET TEXT FOR NEXT S. P. F0G04400 TSX WRITE,4 WRITE COMMENT - END OF DUMP F0G04410 PZE TITLI,0,6 REQUESTS. F0G04420 TSX PRGCN,4 GO TO EJECT PAGE. F0G04430 TOHEF TRA ENTWH EXIT TO BSS CONTROL F0G04440 ************************************************************************F0G04450 * SUBROUTINE FOR STORING CHARACTERS IN TEXT TABLES. F0G04460 * CALLING SEQUENCE TSX STORE,4 F0G04470 * PZE LOC. OF CHAR.,0,NO. OF CHAR. F0G04480 * TABLE OVERFLOW RETURN. F0G04490 * NORMAL RETURN F0G04500 STORE SXA AXR,1 XR2 CONTAINS THE 2S COMPLEMENT OFF0G04510 SXA CXR,4 THE LOCATION OF THE SUBPROGRAM F0G04520 STZ TMPF+2 NUMBER AND CAN BE USED TO OB- F0G04530 STZ TMPF+3 TAIN THE LOCATION OF THE TEXT F0G04540 CLA LCTXT+1,2 TABLE FOR A GIVEN SUBPROGRAM. F0G04550 SUB LC1 INITIALIZE FINAL LOCATION WHICH F0G04560 STA TMPF+3 CAN RECEIVE TEXT FOR THIS S.P. F0G04570 CLA LSWRD,2 PICK UP ADDRESS OF FIRST OR LAST F0G04580 STA TMPF+2 STORAGE CELL TO RECEIVE TEXT. F0G04590 CLA 1,4 PICK UP LOCATION OF 1ST CHAR. TO F0G04600 STA C4 BE MOVE TO TEXT TABLE. F0G04610 ARS 18 F0G04620 STO AC COUNT OF CHAR. IN CELL AC. F0G04630 CAS LC6 TEST NUMBER OF CHARACTERS FOR 6. F0G04640 TRA GREA6 NORMAL CASE MORE THAN 6 FOR ST.F0G04650 TRA EQU6 SPECIAL CASE - EXACTLY 6. F0G04660 LESS6 CLA LSWRD,2 SPECIAL CASE - LESS THAN 6. F0G04670 PDX 0,4 PUT NO. OF CHARACTERS STORED IN F0G04680 TXL T1,4,0 LAST WD. OF PREV. STORE TO XR4.F0G04690 TXH T2,4,5 SPECIAL CASES- LAST WORD FULL OR F0G04700 STA T3 EMPTY. F0G04710 ARS 18 NORMAL CASE SHIFTING HAS TO BE F0G04720 SSM ACCOMPLISHED TO PACK TABLE. F0G04730 ADD LC6 COMPUTE 6 - NO. OF CHAR. F0G04740 STO TMPF+1 F0G04750 SUB AC ABOVE CALCULATION - NO. OF CHAR. F0G04760 TZE T4 IN LSWRD. ALL CHARS TO LSWRD ADF0G04770 TPL T5 CAN STORE CHAR. AND NOT OVFL WD. F0G04780 STO AC IF MINUS SAVE DIFFERENCE. F0G04790 LDQ TMPF+1 COMPUTE AMOUNT OF SHIFT NECESSARYF0G04800 MPY LC6 TO POSITION CHAR. FOR PACKING. F0G04810 XCA F0G04820 STA T6 F0G04830 CLA TMPF+2 CREATE NEW ADDRESS FOR LSWRD CELLF0G04840 ADD LC1 F0G04850 SUB TMPF+3 TEST FOR POSSIBLE TABLE OVERFLOW,F0G04860 TZE OVER USE ERROR RETURN. F0G04870 TPL OVER F0G04880 CLA T3 F0G04890 SUB LC1 INITIALIZE ADDRESS OF NEXT TEXT F0G04900 STA T7 CELL AND PUT IN ADDRESS OF F0G04910 STA LSWRD,2 LSWRD. F0G04920 PXD 0,0 F0G04930 XEC C4 PICK UP CHARACTERS IN MQ F0G04940 T6 LGL ** SHIFT TO POSITION FOR PACKING. F0G04950 T3 ORS ** FILL OUT LAST WD. STORED IN TABLEF0G04960 T7 STQ ** PLACE REMAINING CHAR. IN NEXT F0G04970 CLA AC CELL. F0G04980 ALS 18 PUT COUNT OF CHARACTERS IN NEW F0G04990 STD LSWRD,2 CELL INTO DEC OF LSWRD. F0G05000 TRA CXR EXIT STORE S. R. F0G05010 T4 LDQ TMPF+1 COMPUTE AMOUNT OF SHIFTING F0G05020 MPY LC6 NECESSARY TO POSITION WORD OF F0G05030 XCA CHARACTERS FOR TABLE ENTRY. F0G05040 STA T10 F0G05050 PXD 0,0 F0G05060 XEC C4 PICK UP WORD OF CHAR. IN MQ F0G05070 T10 LGL ** SHIFT FOR PACKING PURPOSES. F0G05080 XEC T3 ORS TO LSWRD CELL. F0G05090 CLA LC6 SET CHARACTER COUNT IN LSWRD CELLF0G05100 ALS 18 TO 6 TO SHOW THAT LAST WORD IS F0G05110 STD LSWRD,2 NOW FULL. F0G05120 TRA CXR EXIT FROM STORE S. R. F0G05130 T5 SSM COMPUTE NO. OF CHAR STORED IN F0G05140 ADD LC6 LSWRD. F0G05150 ALS 18 UPDATE CHAR. COUNT. IN DEC. OF F0G05160 STD LSWRD,2 LSWRD. F0G05170 LDQ TMPF+1 COMPUTE AMOUNT OF SHIFT NECESSARYF0G05180 MPY LC6 FOR PACKING NEW CHARACTERS IN F0G05190 XCA TEXT TABLE. F0G05200 STA T11 F0G05210 PXD 0,0 F0G05220 XEC C4 PICK UP CHARACTERS TO BE STORED F0G05230 T11 LGL ** SHIFT TO POSITION FOR PACKING. F0G05240 XEC T3 ORS TO RECORD CHARACTERS IN TEXT.F0G05250 TRA CXR EXIT FROM STORE S. R. F0G05260 T1 STA T12 SPECIAL CASE WHERE LSWRD DEC. = 0F0G05270 XEC C4 GET CHARACTERS F0G05280 T12 STQ ** STORE IN FIRST CELL OF TEXT TABLEF0G05290 T14 CLA AC F0G05300 ALS 18 PUT COUNT OF CHARACTERS STORED INF0G05310 STD LSWRD,2 ABOVE CELL TO DEC. OF LSWRD. F0G05320 TRA CXR EXIT FROM STORE S. R. F0G05330 T2 ADD LC1 SPECIAL CASE WHERE LSWRD DEC = 6 F0G05340 STA T13 INITIALIZE FOR STORING IN NEXT F0G05350 CLA TMPF+2 TEXT TABLE CELL. F0G05360 ADD LC1 F0G05370 SUB TMPF+3 CHECK FOR POSSIBLE TABLE OVERFLOWF0G05380 TZE OVER IF SO, USE ERROR RETURN. F0G05390 TPL OVER F0G05400 XEC C4 PICK UP CHARACTERS TO MQ. F0G05410 T13 STQ ** STORE IN TEXT TABLE. F0G05420 CLA T13 UPDATE ADDRESS OF LSWRD WITH F0G05430 STA LSWRD,2 NEXT TEXT TABLE CELL. F0G05440 TRA T14 F0G05450 GREA6 XCA PROCESS MORE THAN 6 CHAR. F0G05460 PXD 0,0 F0G05470 DVP LC6 COMPUTE HOW MANY COMPLETE WORDS F0G05480 SSP OF CHAR. EXIST. F0G05490 STO AC SAVE REMAINDER OF CHAR. FOR F0G05500 XCA SPECIAL PROCESSING. F0G05510 SSP F0G05520 STA C2 INITIALIZE WITH NO. OF COMPLETE F0G05530 ADD LSWRD,2 WDS. F0G05540 ADD LC1 F0G05550 STA TMPF+2 COMPUTE LAST ADD. OF TEXT TABLE F0G05560 CLA TMPF+2 AFFECTED BY THIS GROUP OF CHAR.F0G05570 SUB TMPF+3 F0G05580 TZE OVER CHECK FOR TABLE OVERFLOW. F0G05590 TPL OVER IF SO, USE ERROR RETURN. F0G05600 CLA LSWRD,2 PICK UP NO. OF CHAR. STORED IN F0G05610 PDX 0,4 LSWRD FROM PREVIOUS STORE. F0G05620 STA A1 INITIALIZE ADDRESS FOR FILLING F0G05630 ADD LC1 OUT PREVIOUS WORD. F0G05640 STA C5 INITIALIZE FOR NEXT TEXT TABLE F0G05650 TXL Z1,4,0 SPECIAL CASE WHEN LSWRD DEC = 0 F0G05660 TXH Z3,4,5 SPECIAL CASE WHEN LSWRD DEC = 6 F0G05670 ARS 18 F0G05680 SSM COMPUTE NO. OF CHAR. LAST WD. F0G05690 ADD LC6 WILL HOLD. F0G05700 XCA F0G05710 Z2 MPY LC6 COMPUTE AMOUNT OF SHIFTING F0G05720 XCA NECESSARY FOR PACKING. F0G05730 STA C1 F0G05740 TRA C1 F0G05750 Z1 LDQ LC6 LAST WD. WILL HOLD 6 CHAR. F0G05760 TRA Z2 F0G05770 Z3 CLA LCZER LAST WD. WILL NOT HOLD ANY CHAR. F0G05780 STA C1 F0G05790 C1 AXC **,1 AMOUNT OF SHIFT TO XR1. F0G05800 C2 AXT **,4 WHOLE WD COUNT TO XR4. F0G05810 TXI *+1,4,1 F0G05820 C6 PXD 0,0 F0G05830 C4 LDQ ** PICK UP 1ST WD. OF CHAR. TO BE F0G05840 LGL 0,1 STORED, SHIFT IT FOR PACKING, F0G05850 A1 ORS ** PACK IT IN LAST WD., AND STORE F0G05860 C5 STQ ** REMAINING CHAR IN NEXT CELL. F0G05870 TIX *+2,4,1 GET NEXT WD. OF CHAR. F0G05880 TRA C7 OUT OF LOOP. F0G05890 CAL C5 UPDATE ADDRESS OF NEXT WD OF TEXTF0G05900 STA A1 TABLES. F0G05910 ADD LC1 F0G05920 STA C5 F0G05930 CAL C4 UPDATE ADD. OF NEXT WD. OF CHAR. F0G05940 ADD LC1 F0G05950 STA C4 F0G05960 TRA C6 RETURN TO LOOP. F0G05970 C7 CLA LSWRD,2 COUNT OF CHAR IN PREVIOUS LSWRD F0G05980 PDX 0,4 TO XR4. F0G05990 TXL W1,4,0 SPECIAL CASE LAST WD. EMPTY F0G06000 TXH W2,4,5 SPECIAL CASE LAST WD. FULL F0G06010 ARS 18 F0G06020 SSM COMPUTE NO. OF CHAR. STORED IN F0G06030 ADD LC6 NEW LAST WORD OF TEXT TABLE. F0G06040 SUB AC F0G06050 TZE W3 IF 0, LAST WORD IS FULL F0G06060 TMI W4 IF -, LAST WORD CONTAINS LESS F0G06070 SUB LC6 THAN SIX CHAR. USE STQ ADD. F0G06080 W6 ALS 18 IF +, LAST WORD CONTAINS LESS F0G06090 STD LSWRD,2 THAN SIX CHAR. USE ORS ADD F0G06100 CLA A1 UPDATE DEC. AND ADD. OF LSWRD F0G06110 W5 STA LSWRD,2 TO BE USED BY FUTURE STORE. F0G06120 CXR AXT **,4 NORMAL EXIT. F0G06130 AXR AXT **,1 F0G06140 TRA 3,4 F0G06150 W4 ALS 18 UPDATE DEC. AND ADD. OF LSWRD F0G06160 STD LSWRD,2 F0G06170 CLA C5 F0G06180 TRA W5 F0G06190 W3 CLA LC6 6 TO DEC OF LSWRD. F0G06200 TRA W6 F0G06210 W1 CLA AC NO SHIFTING WAS NECESSARY. DEC OFF0G06220 TZE W1W LSWRD GETS SET TO REMAINDER OF F0G06230 TRA W6 CHAR UNLESS 0. F0G06240 W1W CLA LC6 IF 0, LSWRD DEC GETS SET TO 6. F0G06250 ALS 18 AND ADD. OF LSWRD IS SET TO F0G06260 STD LSWRD,2 ADD OF WD. TO RECEIVE LAST CHARF0G06270 CLA A1 F0G06280 SUB LC1 F0G06290 TRA W5 F0G06300 W2 CLA AC IF REMAINDER IS 0, COUNT OF 6 IS F0G06310 TZE W2W USED. F0G06320 TRA W4 IF NOT, ACTUAL NO. OF CHAR. USED.F0G06330 W2W CLA LC6 F0G06340 TRA W6 F0G06350 EQU6 CLA LSWRD,2 SPECIAL CASE WHERE EXACTLY 6 CHARF0G06360 PDX 0,4 ARE TO BE STORED. F0G06370 TXL Y1,4,0 CASE LSWRD NO. OF CHAR. =0 F0G06380 TXH Y2,4,5 CASE LSWRD IS FULL. F0G06390 STA Y3 ADD OF PREV. STORE OF LAST WORD F0G06400 ADD LC1 AND LAST WORD PLUS 1 TO STORE F0G06410 STA Y4 INSTRS. F0G06420 ARS 18 F0G06430 SSM F0G06440 ADD LC6 HOW MANY CHAR. WILL LAST WORD F0G06450 XCA HOLD. F0G06460 CLA TMPF+2 CHECK TO SEE IF STORING THESE F0G06470 ADD LC1 CHARACTERS WILL CAUSE TABLE F0G06480 SUB TMPF+3 OVERFLOW. F0G06490 TZE OVER IF SO, USE ERROR RETURN F0G06500 TPL OVER F0G06510 MPY LC6 COMPUTE NO. OF SHIFTS NECESSARY F0G06520 XCA FOR PACKING. F0G06530 STA Y5 F0G06540 PXD 0,0 F0G06550 XEC C4 PICK UP CHAR. F0G06560 Y5 LGL ** SHIFT IF NECESSARY. F0G06570 Y3 ORS ** STORE IN TEXT TABLE. F0G06580 Y4 STQ ** F0G06590 CLA Y4 F0G06600 STA LSWRD,2 UPDATE ADD OF LSWRD CELL. F0G06610 TRA CXR EXIT F0G06620 Y1 STA *+2 LAST WORD WAS EMPTY F0G06630 XEC C4 SO STORE 6 CHAR. F0G06640 STQ ** F0G06650 CLA LC6 MAKE COUNT IN DEC OF LSWRD = 6. F0G06660 ALS 18 F0G06670 STD LSWRD,2 F0G06680 TRA CXR EXIT F0G06690 Y2 CLA TMPF+2 WILL HAVE TO STORE IN NEXT CELL F0G06700 ADD LC1 F0G06710 SUB TMPF+3 F0G06720 TZE OVER CHECK FOR TABLE OVERFLOW. F0G06730 TPL OVER USE ERROR RETURN F0G06740 CLA LSWRD,2 UPDATE ADD. OF LSWRD. F0G06750 ADD LC1 F0G06760 STA LSWRD,2 F0G06770 TRA Y1 GO TO STORE CHAR. F0G06780 OVER LXA CXR,4 SET UP CONDITION FOR ERROR RETURNF0G06790 TXI AXR,4,1 F0G06800 NOBLK SXA IRAB,1 THIS SUBROUTINE WIPES BLANKS OUT F0G06810 SXD IRAB,2 OF TEXT. F0G06820 SXD IRC,4 F0G06830 STZ COUNT INITIALIZE WORD COUNT F0G06840 AXT 0,4 INITIALIZE XR4 FOR TOTAL WD. CT. F0G06850 AXT 11,1 MAXIMUM NO. OF WDS. TO CK. = 11 F0G06860 STZ BCDA+11,1 INITIALIZE BLOCK FOR NON-BLANK F0G06870 TIX *-1,1,1 CHARACTERS. F0G06880 CLA LBCDA INITIALIZE ADDS. OF INSTS. USING F0G06890 STA B1 BLOCK OF NON BLANK CHAR. F0G06900 STA B2 F0G06910 STA B3 F0G06920 LDQ BCD SHIFT OUT 1ST COLUMN OF WD. 1. F0G06930 PXD 0,0 F0G06940 LGL 6 F0G06950 STQ FRED SAVE REMAINING CHAR. OF WD. 1. F0G06960 AXT 11,1 F0G06970 A3 AXT 6,2 F0G06980 A2 LDQ BCD+12,1 LOAD SUCCESSIVE BCD WORDS F0G06990 PXD 0,0 F0G07000 LGL 6 SHIFT 6 BITS TO AC F0G07010 STQ BCD+12,1 SAVE REMAINDER OF MQ F0G07020 STO WKCL SAVE SHIFTED BITS. F0G07030 SUB BL TEST FOR BLANK F0G07040 TZE A4 BLANK - GO TO NEXT COLUMN. F0G07050 B1 LDQ ** NO BLANK F0G07060 RQL 6 SHIFT BCD WORD. F0G07070 B2 STQ ** SAVE SHIFTED BCD WD. F0G07080 CLA WKCL UNCHANGED SHIFTED BITS. F0G07090 B3 ORS ** ADD NEW CHAR. AND SAVE. F0G07100 TXI *+1,4,1 INCREASE TOTAL WORD COUNT BY 1. F0G07110 CLA COUNT INCREASE WD. CT. BY 1. F0G07120 ADD ONE F0G07130 STO COUNT F0G07140 SUB SIX TEST FOR 6 CHAR. F0G07150 TZE SAM F0G07160 A4 TIX A2,2,1 NOT YET 6 - GO BACK FOR NEXT COL.F0G07170 TIX A3,1,1 BCD WD. COMPLETE - GO TO NEXT WD.F0G07180 CLA SIX COMPUTE NO. OF POSITIONS THE LASTF0G07190 SUB COUNT WORD MUST BE SHIFTED TO MOVE ITF0G07200 STO COUNT TO THE EXTREME LEFT. F0G07210 LDQ COUNT F0G07220 MPY SIX F0G07230 XCA F0G07240 STA *+2 STORE NO. OF POSITION TO BE SHIFTF0G07250 LDQ* B3 LOAD LOCATION OF LAST NEW WORD F0G07260 RQL ** MOVED INTO ROTATE INSTRUCTION. F0G07270 STQ* B3 STORE WORD IN BCDA BLOCK. F0G07280 PXA 0,4 PUT WORD COUNT IN AC. F0G07290 LDQ FRED F0G07300 LXA IRAB,1 F0G07310 LXD IRAB,2 F0G07320 LXD IRC,4 F0G07330 TRA 1,4 NORMAL RETURN. F0G07340 SAM CLA B1 6 BCD CHAR. IN NON BLANK BLOCK. F0G07350 ADD ONE START NEW BCDA WORD. F0G07360 STA B1 RE-INITIALIZE ADDRS. OF INSTR. F0G07370 STA B2 USING BLOCK OF NON-BLANK CHAR. F0G07380 STA B3 F0G07390 STZ COUNT RESTORE WD. COUNT TO 0. F0G07400 TRA A4 F0G07410 * READ INPUT TAPE SUBROUTINE. F0G07420 RDTPE SXA XXX,4 F0G07430 LDI* (FGBX) CHAIN JOB OR NOT DETERMINES $F0G07440 DET LNT 2 WHERE IS INPUT F0G07450 TRA GAMII LOGICAL TAPE 5. F0G07460 WWW TSX (TAPE),4 LOGICAL TAPE 8. F0G07470 PZE COM1,0,(RDEC) TRY TO READ BCD RECORD. F0G07480 PZE ,,CHNTAP $F0G07490 MZE MOD2 RETURN IF REDUNDANCY CHECK. F0G07500 ZET (SCHU)+CHNTAP $F0G07510 TRA GAM7 F0G07520 TSX (TAPE),4 EOF ON LOGICAL TAPE 8. F0G07530 PZE SKLST,0,(SKDP) POSITION IN FRONT OF FOR BSS. F0G07540 PZE ,,CHNTAP $F0G07550 TRA MOD1 F0G07560 GAM7 TSX WRITE,4 F0G07570 PZE BCD-1,0,13 F0G07580 XXX AXT **,4 F0G07590 TRA 1,4 F0G07610 GAMII TSX (TAPE),4 TRY TO READ BCD RECORD FROM F0G07620 PZE COM1,0,(RDEC) LOGICAL TAPE 5. F0G07630 PZE ,,MINTAP $F0G07640 MZE MOD2 RETURN IF REDUNDANCY CHECK. F0G07650 ZET (SCHU)+MINTAP $F0G07660 TRA GAM7 F0G07670 TSX (TAPE),4 IF EOF ON LOGICAL TAPE 5, POSI- F0G07680 PZE SKLST,0,(SKDP) TION IN FRONT OF EOF VOR BSS. F0G07690 PZE ,,MINTAP $F0G07700 TRA MOD1 F0G07710 SKLST MZE ,,1 FOR BACKSPACING OVER EOF. F0G07720 MZE 1 FOR BSR. F0G07730 MOD2 CAL 1BIT TELL BSS NEXT INFO. IS BINARY ON F0G07740 ORS* (FGBX) INPUT TAPE $F0G07750 TRA ENDPR GO TO SET UP DTBLS. F0G07760 * THIS SUBROUTINE WRITES BCD RECORDS ON TAPE F0G07770 * ENTRY IS TSX WRITE,4 F0G07780 * PZE 1ST WD.,0, NO. OF WDS. F0G07790 WRITE CLA* (LNCT) $F0G07800 ADD ONE UPDATE LINES OF OUTPUT F0G07810 STO* (LNCT) $F0G07820 SXA EPSI,4 F0G07830 CLA 1,4 PICK UP COMMAND FOR OUTPUTING F0G07840 STO OUTCM BCD RECORD. F0G07850 CLA LINPG F0G07860 SUB ONE CHECK TO SEE IF TIME TO START F0G07870 STO LINPG NEW PAGE. F0G07880 TNZ *+2 N0. F0G07890 TSX PRGCN,4 PAGE EJECT NEEDED. F0G07900 TSX (TAPE),4 WRITE OUT RECORD. F0G07910 PZE OUTCM,0,(WDNC) F0G07920 PZE ,,MLSTAP LOGICAL TAPE 6 $F0G07930 EPSI AXT **,4 F0G07940 TRA 2,4 RETURN F0G07950 OUTCM PZE **,0,** STORAGE FOR COMMAND. F0G07960 PRGCN SXA EPP,4 F0G07970 TSX (TAPE),4 WRITE OUT RECORD TO CAUSE EJECT F0G07980 PZE EJECT,0,(WDNC) F0G07990 PZE ,,MLSTAP $F0G08000 LXD (PGCT),4 NO. OF LINES TO OUTPUT PAGE. *F0G08010 SXA LINPG,4 *F0G08020 EPP AXT **,4 F0G08030 TRA 1,4 F0G08040 EJECT IORT *+1,,3 $F0G08050 BCI 3,1 $F0G08060 TITLA BCI 7, XXXX CARD IGNORED. COLUMNS 1-6 ALL BLANK. $F0G08070 TITLB BCI 9, XXXX TABLE OVERFLOW FOR SUBPROGRAM. DUMP REQUEST IGNOF0G08080 BCI 1,RED. F0G08090 TITLD BCI 9, XXXX NO EFN FOLLOWING SUBPROGRAM NAME CARD. F0G08100 TITLE BCI 9, XXXX EFN CONTAINS NON NUMERIC CHARACTERS. F0G08110 TITLG BCI 9, XXXX 20 SUBPROGRAMS ALREADY REFERENCED. THIS ONE IGNOF0G08120 BCI 1,RED. F0G08130 TITLH BCI 9, XXXX TABLE OVERFLOW FOR SUBPROGRAM THE LAST RF0G08140 BCI 6,EQUEST FOR THIS SUBPROGRAM IGNORED. F0G08150 GTITLG BCI 9, XXXX DTBLS TABLE OVERFLOW. DUMP REQUESTS FOR THE FOLL F0G08160 BCI 6,OWING SUB PROGRAMS HAVE BEEN IGNORED F0G08170 HTITLH BCI 3, F0G08180 TITLI BCI 6, END OF DUMP REQUESTS F0G08190 TITLZ BCI 9, XXXX DUMP REQUEST IGNORED. NO SUBPROGRAM NAME CARD FO F0G08200 BCI 2,UND YET. F0G08210 COM1 IORT BCD,0,14 F0G08220 COM2 IORTN BCD,0,28 F0G08230 CONTB DUP 1,10 $F0G08240 VFD 6/*-CONTB $F0G08250 DUP 1,38 $F0G08260 VFD 6/*-CONTB+10,30/1 $F0G08270 VFD O6/60,30/2 $F0G08280 CONTC DUP 1,15 $F0G08290 VFD 6/*-CONTC,30/1 $F0G08300 LBCDA HTR BCDA LOC. OF ABOVE BLOCK F0G08880 ANOWR HTR NOWRD F0G08890 ALCTX HTR LCTXT F0G08900 ATABL HTR DTBLS-1 F0G08910 ONE HTR 1 FIXED POINT 1 F0G08920 SIX HTR 6 FIXED POINT 6 - NO. OF CHAR. F0G08930 L56 HTR 56 F0G08940 DATA OCT 242163210000 F0G08950 DEBUG OCT 242522642700 F0G08960 STAR OCT 546060606060 F0G08970 7BIT OCT 777777577777 F0G08980 1BIT OCT 000000200000 F0G08990 L7777 OCT 777700000000 F0G09000 EN OCT 45 F0G09010 BL OCT 60,6000,600000,60000000,6000000000,600000000000 F0G09020 EX OCT 67 F0G09030 TAB77 OCT 77 F0G09040 TAGMK OCT 400000 F0G09050 BLNK OCT 60606060 F0G09060 DLC7 OCT 7000000 F0G09070 AD77 OCT 77777 F0G09080 LC500 PZE NDTBLS-1 F0G09090 LC2 DEC 2 F0G09100 LC36 DEC 36 F0G09110 HIH77 OCT 770000000000 F0G09120 STSTI PZE $F0G09130 WKCL PZE TEMP. STORAGE FOR 6 BITS IN AC $F0G09140 FRED PZE COL. 2- 6 ON ORIGINAL CARD $F0G09150 IRC PZE LOC. FOR SAVING IR4 $F0G09160 IRAB PZE LOC. FOR SAVING IR1 AND 2 $F0G09170 LINPG PZE $F0G09180 COUNT PZE WORD COUNT IN BCD WORD $F0G09190 AC PZE TEMP STORAGE FOR AC $F0G09200 HOLD PZE $F0G09210 2NP1 PZE $F0G09220 TMPF BSS 4 F0G09230 BLMSK OCT 606060606060 F0G09240 BCD BSS 14 F0G09250 BCDA BSS 11 BLOCK OF NON-BLANK CHAR. F0G09260 LCZER HTR 0 THIS CARD MUST FOLLOW BCDA CARD. F0G09270 PREWD BSS NTW F0G09280 NOWRD BSS NTW F0G09290 LSWRD BSS NTW IN ADDRESS LOCATION OF LAST WORD F0G09300 * TO RECEIVE CHARACTERS. IN DECR-F0G09310 * EMENT IS NO. OF CHAR. RECEIVED.F0G09320 SPCNT PZE COMPLEMENT OF NO. OF SUBPROGRAMS TO GET $F0G09330 REM DEBUGGED. $F0G09340 NAMES BSS NTW TABLE FOR BCD NAMES OF SUBPR. F0G09350 LCTXT HTR TEXT,4 TABLE FOR COORDINATING STORAGE F0G09360 HTR TEXT+1*NTHUN,4 OF SUB PROGRAM TEXT AND NAMES. F0G09370 HTR TEXT+2*NTHUN,4 F0G09380 HTR TEXT+3*NTHUN,4 F0G09390 HTR TEXT+4*NTHUN,4 F0G09400 HTR TEXT+5*NTHUN,4 F0G09410 HTR TEXT+6*NTHUN,4 F0G09420 HTR TEXT+7*NTHUN,4 F0G09430 HTR TEXT+8*NTHUN,4 F0G09440 HTR TEXT+9*NTHUN,4 F0G09450 HTR TEXT+10*NTHUN,4 F0G09460 HTR TEXT+11*NTHUN,4 F0G09470 HTR TEXT+12*NTHUN,4 F0G09480 HTR TEXT+13*NTHUN,4 F0G09490 HTR TEXT+14*NTHUN,4 F0G09500 HTR TEXT+15*NTHUN,4 F0G09510 HTR TEXT+16*NTHUN,4 F0G09520 HTR TEXT+17*NTHUN,4 F0G09530 HTR TEXT+18*NTHUN,4 F0G09540 HTR TEXT+19*NTHUN,4 F0G09550 HTR TEXT+20*NTHUN,4 F0G09560 TLOUT TSX WRITE,4 WRITE OUT MESSAGE ON SYSOU1 (22)F0G09640 PZE ILCCD,,6 (22)F0G09641 TSX (SECL),4 GO TO SOURCE ERROR RECORD (22)F0G09642 ILCCD BCI 6, ILLEGAL CONTROL CARD IN DEBUG DECK. (22)F0G09643 BSS 41 PATCH SPACE (22)F0G09644 REM F0G09650 REM F0G09660 LC1 SYN ONE F0G09670 LC6 SYN SIX F0G09680 LOWBL SYN BL F0G09690 EJECT F0G09700 ENTWH LDI* (FGBX) HAS BSS BEEN READ IN $F0G09710 LFT 1 $F0G09720 TRA SKPBS YES $F0G09721 CLA 9F33 NO $F0G09722 RFT 100000 IS SYSTEM IN 2ND FILE $F0G09723 STO 9F08 YES $F0G09724 TSX (LOAD),4,1 READ IN BSS $F0G09730 9F08 BCI 1,9F0800 $F0G09731 9F33 BCI 1,9F3300 $F0G09732 9F32 BCI 1,9F3200 $F0G09733 SKPBS TSX (TAPE),4 SKIP BSS RECORD $F0G09740 PZE SKRCW,,(SKBP) F0G09750 PZE ,,SYSTAP $F0G09760 ENTBS LDI* (FGBX) $F0G09770 CLA 9F32 $F0G09771 RFT 100000 IS SYSTEM IN 2ND FILE $F0G09772 STO 9F07 YES $F0G09773 RNT 400000 ARE THERE DEBUG CARDS. F0G09780 TRA REINT NO. F0G09790 AXT TABL-DDBG-BOTTOM+1,1 YES. CLEAR TO TOP OF F0G09800 STZ TABL-DDBG+1,1 LOADING TABLES F0G09810 TIX *-1,1,1 F0G09820 AXT DDBG,1 INITIALIZE FOR TOP OF LOADING F0G09830 SXA SPS2,1 TABLES TO BE TABL-DDBG. F0G09840 TXI *+1,1,2 F0G09850 SXD CKPL4,1 F0G09860 SXD TAG,1 F0G09870 SXD G4,1 F0G09880 SXD CKPL3,1 F0G09890 AXT STENT,2 F0G09900 SXA LOSYM,2 F0G09910 AXT BOTTOM,1 F0G09920 SXA TABL-DDBG,1 F0G09930 TXI *+1,1,3 F0G09940 SXA S,1 F0G09950 STZ TABL-DDBG-1 F0G09960 AXT 2,1 F0G09970 SXD TABL-DDBG-1,1 F0G09980 CLA STHD+2,1 F0G09990 STO BOTTOM+2,1 F0G10000 TIX *-2,1,1 F0G10010 TRA INIT1 F0G10020 REINT AXT 0,1 NO DEBUG. INITIALIZE FOR TOP OF LOADING F0G10030 SXA SPS2,1 TABLES TO BE TABL. F0G10040 SXD CKPL4,1 F0G10050 SXD TAG,1 F0G10060 AXT L,2 F0G10070 SXA LOSYM,2 F0G10080 AXT BOTTOM,1 F0G10090 SXA S,1 F0G10100 AXT 2,1 F0G10110 SXD G4,1 F0G10120 SXD CKPL3,1 F0G10130 INIT1 ZSA PROG $F0G10140 STZ R F0G10150 STZ T $F0G10160 AXT TOPMEM,1 TO REINITIALIZE LCOMN (24)F0G10161 RNT 40000 WAS THERE * IOP $F0G10162 TRA IOPDON NO, PROCEED (24)F0G10163 AXT BOTIOP,1 USE BOTIOP INSTEAD OF $F0G10164 SXA COMN,1 TOPMEM $F0G10165 AXT 6,1 AND MOVE INSTRUCTIONS TO $F0G10166 CLA SAVIOP+6,1 BSS SO THAT CORES ARE $F0G10167 STO PROG-1,1 ZEROED TO BOTIOP, NOT $F0G10168 TIX *-2,1,1 TO TOPMEM $F0G10169 AXT BOTIOP-1,1 $F0G10170 CLA SAVIOP+6 KILL PRE-EXECUTION $F0G10171 STO TOPR1 TAPE STATISTICS $F0G10172 REM $F0G10173 REM $F0G10174 REM $F0G10180 REM $F0G10190 IOPDON SXA LCOMN,1 $F0G10200 STZ MULPC $F0G10210 STZ SKIP $F0G10220 STZ LIBSW $F0G10230 TRA ENTBSS F0G10240 STHD BCI 1,(STHD) F0G10250 BCI 1,(FIL) F0G10260 REM INSTRUCTIONS STORED IN BSS (AT PROG) $F0G10261 REM WHEN * IOP WAS PRESENT $F0G10262 SAVIOP STO BOTIOP,1 $F0G10263 TIX PROG-8,1,1 $F0G10264 LXD TAG,1 $F0G10265 TXI BOTIOP-4,1,BOTIOP-4-TABL $F0G10266 STZ BOTIOP-3,1 $F0G10267 TIX BOTIOP-4,1,1 $F0G10268 TRA TOPR2 KILL TAPE STATISTICS $F0G10269 EJECT F0G10270 * AFTER LOADING A SUBPROGRAM A CHECK OF THE DEBUG TABLE F0G10280 * IS MADE TO SEE IF DEBUG SNAPS ARE REQUESTED IN F0G10290 * THE SUBPROGRAM. IF SO THE PROGRAM BREAK IS EXTENDED TO IN- F0G10300 * CLUDE COUNTER TESTS, CALLING SEQUENCES, AND FORMATS FOR DUMP-F0G10310 * ING, AND STR INSTRUCTIONS INSERTED IN THE SUBPROGRAM. F0G10320 IUPCM EQU -207 NOMINAL TOP OF COMMON $F0G10330 TAPOUT EQU 6 OUTPUT TAPE NUMBER - RE FORTRAN F0G10340 NESYTB EQU 1000 STORAGE FOR SYMBOL TABLE F0G10350 NEFMTT EQU 207 STORAGE FOR GENERATING FORMAT F0G10360 NSPCH EQU 7 NUMBER OF SPECIAL LIST WORDS F0G10370 NEDBTB EQU 500 STORAGE FOR DEBUG TABLES F0G10380 * F0G10390 1H NEXT CHARACTER F0G10400 TEMP BSS 7 F0G10410 L(10) DEC 10 F0G10420 REM SPECIAL CHARACTERS F0G10430 ENDMK OCT 77 END MARK 9 F0G10440 LPAR OCT 74 ( 8 F0G10450 CMA OCT 73 , 7 F0G10460 DOLS OCT 53 $ 6 F0G10470 MINUS OCT 40 - 5 F0G10480 RPAR OCT 34 ) 4 F0G10490 DECPT OCT 33 . 3 F0G10500 PLUS OCT 20 + 2 F0G10510 DASH OCT 14 - 1 F0G10520 CTEST BSS 0 F0G10530 REM PICKS UP NEXT CHARACTER FROM DTBLS AND PUTS IN AC F0G10540 C0190 SXA C0194,4 F0G10550 LXD CHCTR,4 F0G10560 LDQ RESIDU F0G10570 C0191 TIX C0193,4,1 F0G10580 LXD FWA,4 F0G10590 LDQ 0,4 F0G10600 TXI C0192,4,-1 F0G10610 C0192 SXD FWA,4 F0G10620 LXA L(6),4 F0G10630 C0193 PXD 0,0 F0G10640 LGL 6 F0G10650 SXD CHCTR,4 F0G10660 STQ RESIDU F0G10670 C0194 AXT **,4 F0G10680 TRA 1,4 F0G10690 * F0G10700 REM CONVERT SUCCESSIVE NUMERICS TO BINARY F0G10710 REM RESULT - RIGHT ADJUSTED IN 1G F0G10720 REM CALL - TSX C0180,2 F0G10730 REM NEXT CHARACTER LEFT IN AC F0G10740 C0180X TSX C0190,4 NEXT CHARACTER TO AC F0G10750 C0180 STO 1G F0G10760 TSX C0190,4 F0G10770 CAS L(9) F0G10780 TRA 1,2 EXIT F0G10790 L(0) NOP F0G10800 STO 1G+1 F0G10810 CLA 1G F0G10820 ALS 2 F0G10830 ADD 1G F0G10840 ALS 1 F0G10850 ADD 1G+1 F0G10860 TRA C0180 F0G10870 * F0G10880 REM PUT IN 1G, 1G+1 SUCCESIVE BCD UNTIL PUNCTUATION F0G10890 REM IRA = 0 FOR 6 OR LESS CHARACTERS, = -1 FOR MORE THAN 6 F0G10900 REM IRC = PUNCTUATION TAG F0G10910 REM 1H = PUNCTUATION CHARACTER F0G10920 REM CALL TSX C0160,2 F0G10930 C0160X TSX C0190,4 F0G10940 C0160 SXA C0164,2 F0G10950 LXA L(0),3 F0G10960 STZ 1G CLEAR F0G10970 STZ 1G+1 1G, 1G + 1 F0G10980 C0161 AXT CTEST-ENDMK,4 F0G10990 CAS CTEST,4 F0G11000 FWA TXI *+2,0,** DEC CONTAINS COM OF NEXT WORD IN DTBLS F0G11010 CHCTR TXI C0163,0,** PUNCTUATION ENCOUNTERED/DEC = CHAR CNT F0G11020 TIX *-3,4,1 F0G11030 TXL C0162,2,30 F0G11040 TXI *+1,1,-1 START STORING IN 1G + 1 F0G11050 TXL MTM,1,-2 LEAVE FOR MORE THAN 12 CHAR F0G11060 LXA L(0),2 F0G11070 C0162 ALS 30,2 F0G11080 ORS 1G,1 STORE CHARACTER F0G11090 TSX C0190,4 GET NEXT CHARACTER F0G11100 TXI C0161,2,6 F0G11110 C0163 STO 1H SAVE PUNCTUATION F0G11120 PXD 0,0 PLACE BLANKS F0G11130 LDQ BLANKS AFTER F0G11140 LGL 36,2 SYMBOL F0G11150 ORS 1G,1 IF NEEDED F0G11160 CLA 1H F0G11170 C0164 AXT **,2 F0G11180 TRA 1,2 RETURN F0G11190 * F0G11200 REM INSPECTS FIRST CHARACTER IF NUMERIC SETS I = 0 F0G11210 REM OTHERWISE I = -0 F0G11220 REM THEN GOES TO C0180, C0160 AS REQUIRED F0G11230 REM NEXT CHARACTER IN THE AC AND 1H F0G11240 C0150 TSX C0190,4 F0G11250 SXA C0153,2 F0G11260 CAS L(9) F0G11270 TXI C0151,0,0 NON-NUMERIC F0G11280 NOP F0G11290 TSX C0180,2 F0G11300 STO 1H SAVE NEXT CHARACTER F0G11310 STZ I I = 0 F0G11320 TRA C0153 F0G11330 C0151 TSX C0160,2 F0G11340 CLS L(1) F0G11350 C0152 STO I I = -1 F0G11360 CLA 1H F0G11370 C0153 AXT **,2 F0G11380 TRA 1,2 F0G11390 * F0G11400 REM ROYCNV,4/ CALLS=C0190, F0G11410 REM ROYCNV DOES FIXED AND FLOATING POINT CONVERSION F0G11420 REM ROYCNV= ENTRY POINT FOR FIXED OR FLOATING POINT INTEGERS. F0G11430 N EQU TEMP F0G11440 DOE EQU TEMP+1 F0G11450 CHSAVE EQU 1H F0G11460 H EQU TEMP+2 F0G11470 POINT EQU DECPT F0G11480 G EQU TEMP+3 F0G11490 EKE EQU TEMP+4 F0G11500 11Z EQU MINUS F0G11510 12Z EQU PLUS F0G11520 ROYCNV STO N SAVE DECIMAL DIGIT IN N. F0G11530 ROYCVN EQU ROYCNV F0G11540 SXD EXITT,4 SAVE C(XR4) FOR RETURN. F0G11550 STZ DOE CLEAR DOE (IMPLICIT EXPONENT). F0G11560 CLA CM1 PICK UP SWITCH CONTROL, F0G11570 EXITT TXI IN2,0,** AND GO SET SWITCH. F0G11580 REM DECPNT= ENTRY POINT FOR FLOATING POINT FRACTIONS. F0G11590 DECPNT STZ N CLEAR N (NO INTEGER). F0G11600 SXD EXITT,4 SAVE C(XR4) FOR RETURN. F0G11610 STZ DOE CLEAR DOE (IMPLICIT EXPONENT). F0G11620 NC7 CAL CM1 PICK UP SWITCH CONTROL. F0G11630 IN2 STP CM2 SET SWITCHES CM2, AND F0G11640 STP CM3 CM3. F0G11650 TOV NC5 TURN OFF OV TRIGGER. F0G11660 NC5 TSX C0190,4 *GO GET NEXT NB CHARACTER IN THE AC. F0G11670 SLW CHSAVE SAVE IT F0G11680 NC1 CAS L(10) AND COMPARE WITH TEN. F0G11690 CM1 TXL NC2,0,0 CHAR EXCEEDS 10, SO IS NON-NUMERIC. F0G11700 PXD ,0 CLEAR THE AC (MACHINE ERROR). F0G11710 STO H CHARACTER IS NUMERIC, SO HOLD IT. F0G11720 CLA N MULTIPLY THE PREVIOUS F0G11730 ALS 2 PARTIAL RESULT (OR ZERO) F0G11740 ADD N BY 10, F0G11750 ALS 1 AND ADD IN F0G11760 ADD H THE CURRENT DIGIT. F0G11770 CM2 TXH NC3,0,0 SWITCH (NO TRANSFER IF INTEGER). F0G11780 TOV NC4 TEST OVERFLOW, AND F0G11790 STO N IF NONE, SAVE NEW PARTIAL RESULT. F0G11800 TXI NC5,0,0 THEN GO PICK UP NEXT CHARACTER. F0G11810 NC2 CAS POINT COMPARE NON-NUMERIC WITH A POINT. F0G11820 TXI CM3,0,0 IF GREATER THAN 27, GO OUT. F0G11830 TXI NC7,0,0 IF POINT, GO BACK AND SET SWITCH. F0G11840 CAS L(E) IF LESS THAN 27, COMPARE WITH E. F0G11850 TXI CM3,0,0 IF GREATER THAN 21, GO OUT. F0G11860 TXI EC1,0,0 IF E, GO TO EXPONENT ROUTINE. F0G11870 CM3 TXH FN4,0,0 SWITCH (NO TRANSFER IF INTEGER). F0G11880 CLA N PICK UP CONVERTED CONSTANT, AND F0G11890 MS9506 ALS 18 STORE IN THE F0G11900 STO G DECREMENT OF G F0G11910 TXI EXITR,0,0 GO TAKE EXITR. F0G11920 NC3 TOV NC8 IF THERE WAS NO OVERFLOW, F0G11930 STO N SAVE PARTIAL RESULT, AND F0G11940 CLS L(1) SUBTRACT 1 FROM DOE F0G11950 NC9 ADD DOE TO ADJUST EXPONENT F0G11960 STO DOE IN FINAL RESULT. F0G11970 NC8 TXI NC5,0,0 THEN GO PICK UP NEXT CHARACTER. F0G11980 NC4 CLA L(1) ADD 1 TO DOE , F0G11990 TXI NC9,0,0 IF THERE WAS INTEGER OVERFLOW. F0G12000 EC1 TSX C0190,4 *GO GET NEXT NB CHARACTER IN THE AC. F0G12010 SLW CHSAVE SAVE IT FOR STATE B, AND F0G12020 STZ EKE CLEAR EKE (EXPLICIT EXPONENT). F0G12030 CAS 11Z COMPARE CHARACTER WITH A DASH. F0G12040 TXI FN5,0,0 IF GREATER THAN 32, GO OUT. F0G12050 TXI EC3,0,0 IF A DASH, SET EKE MINUS. F0G12060 CAS 12Z IF LESS THAN 32, COMPARE WITH PLUS. F0G12070 TXI FN5,0,0 IF GREATER THAN 16, GO OUT. F0G12080 TXI EC6,0,0 IF PLUS, GO EXAMINE NEXT CHAR. F0G12090 CAS DASH IF LESS THAN 16, COMPARE WITH MINUS. F0G12100 TXI FN5,0,0 IF GREATER THAN 12, GO OUT. F0G12110 EC3 CLS EKE IF MINUS, SET EKE TO -0. F0G12120 CAS L(10) COMPARE WITH TEN. F0G12130 TXI FN5,0,0 IF NON-NUMERIC, GO EXAMINE NEXT CH. F0G12140 EC4 PXD ,0 CLEAR ACC, F0G12150 EC5 STO EKE SAVE PARTIAL RESULT(OR O) IN EKE. F0G12160 EC6 TSX C0190,4 *GO GET NEXT NB CHARACTER IN THE AC. F0G12170 SLW CHSAVE SAVE IT FOR STATE B, F0G12180 CAS L(10) AND COMPARE WITH TEN. F0G12190 TXI FN5,0,0 CHAR EXCEEDS 10, SO IS NON-NUMERIC. F0G12200 PXD ,0 CLEAR THE AC (MACHINE ERROR). F0G12210 STO H CHARACTER IS NUMERIC, SO HOLD IT. F0G12220 CLA EKE MULTIPLY THE PREVIOUS F0G12230 ALS 2 PARTIAL RESULT (OR ZERO) F0G12240 ADD EKE BY 10, F0G12250 ALS 1 AND ADD IN F0G12260 ACL H THE CURRENT DIGIT. F0G12270 TXI EC5,0,0 CONTINUE UNTIL NON-NUMERIC IS MET. F0G12280 FN5 CLA EKE COMBINE EXPLICIT EXPONENT F0G12290 ADD DOE WITH IMPLICIT EXPONENT, F0G12300 STO DOE AND SAVE IN DOE. F0G12310 FN4 CLA N IF N CONTAINS ZERO, TAKE F0G12320 TZE MS9500 FLO PT CONSTANT RETURN. F0G12330 STA K1 PUT INTEGER INTO FLO PT WORD, F0G12340 ARS 15 ADJUST, AND F0G12350 TZE FN1 IF MORE THAN 15 BITS IN LENGTH F0G12360 ORA K2 AFFIX CORRECT EXPONENT. F0G12370 FN1 FAD K1 THEN FLOATING ADD THE RESULT F0G12380 RQL 8 OF INTEGER CONVERSION, AND F0G12390 RND ROUND --TO OBTAIN F0G12400 ORA K3 NORMALIZED RESULT. F0G12410 LXA DOE,1 EXAMINE THE C(DOE), AND F0G12420 TXL MS9500,1,0 IF ZERO, TAKE FLO PT RETURN. F0G12430 TXL FN2,1,50 IF GREATER THAN 50, THEN F0G12440 TRA PLST ERROR. --GO TO PLST. F0G12450 FN2 LDQ DOE DETERMINE WHETHER INTEGER WAS F0G12460 TQP FN3 TO THE RIGHT OR TO THE LEFT OF DP. F0G12470 FDP TAB,1 IF TO THE RIGHT, DIVIDE BY A F0G12480 STQ N SUITABLE CONSTANT F0G12490 CLA N TO ADJUST RESULT F0G12500 ACL K4 AND TEST FOR OUT OF RANGE. F0G12510 PBT IF P=1, SKIP TO ARITH RETURN. F0G12520 TRA PLST ERROR. --GO TO PLST. F0G12530 MS9500 STO G STORE IN G, AND F0G12540 EXITR LXD EXITT,4 RESTORE THE C(XR4), AND F0G12550 TRA 1,4 *RETURN TO MAIN ROUTINE. F0G12560 FN3 STO N IF INTEGER WAS SITUATED F0G12570 LDQ N TO THE LEFT OF THE DECIMAL POINT, F0G12580 FMP TAB,1 MULTIPLY BY A SUITABLE F0G12590 ACL K5 CONSTANT TO ADJUST AND TEST RANGE. F0G12600 PBT F0G12610 TXI MS9500,0,0 RETURN TO ARITHMETIC ROUTINE. F0G12620 CER TRA PLST F0G12630 K1 OCT 233000000000 CONSTANT USED BY ROYCNV. F0G12640 K2 OCT 252000000000 CONSTANT USED BY ROYCNV. F0G12650 K3 OCT 400000000 CONSTANT USED BY ROYCNV. F0G12660 K4 OCT 335000000000 CONSTANT USED BY ROYCNV. F0G12670 K5 OCT 43000000000 CONSTANT USED BY ROYCNV. F0G12680 L(E) BCD 100000E F0G12690 OCT 375536246150 48-TABLE USED BY ROYCNV. F0G12700 OCT 372430204754 47-TABLE USED BY ROYCNV. F0G12710 OCT 366700324573 46-TABLE USED BY ROYCNV. F0G12720 OCT 363546566774 45-TABLE USED BY ROYCNV. F0G12730 OCT 360436770626 44-TABLE USED BY ROYCNV. F0G12740 OCT 354713132675 43-TABLE USED BY ROYCNV. F0G12750 OCT 351557257061 42-TABLE USED BY ROYCNV. F0G12760 OCT 346445677215 41-TABLE USED BY ROYCNV. F0G12770 OCT 342726145174 40-TABLE USED BY ROYCNV. F0G12780 OCT 337570120775 39-TABLE USED BY ROYCNV. F0G12790 OCT 334454732312 38-TABLE USED BY ROYCNV. F0G12800 OCT 330741367020 37-TABLE USED BY ROYCNV. F0G12810 OCT 325601137163 36-TABLE USED BY ROYCNV. F0G12820 OCT 322464114134 35-TABLE USED BY ROYCNV. F0G12830 OCT 316755023372 34-TABLE USED BY ROYCNV. F0G12840 OCT 313612334310 33-TABLE USED BY ROYCNV. F0G12850 OCT 310473426555 32-TABLE USED BY ROYCNV. F0G12860 OCT 304770675742 31-TABLE USED BY ROYCNV. F0G12870 OCT 301623713116 30-TABLE USED BY ROYCNV. F0G12880 OCT 276503074076 29-TABLE USED BY ROYCNV. F0G12890 OCT 273402374713 28-TABLE USED BY ROYCNV. F0G12900 OCT 267635456171 27-TABLE USED BY ROYCNV. F0G12910 OCT 264512676456 26-TABLE USED BY ROYCNV. F0G12920 OCT 261410545213 25-TABLE USED BY ROYCNV. F0G12930 OCT 255647410337 24-TABLE USED BY ROYCNV. F0G12940 OCT 252522640262 23-TABLE USED BY ROYCNV. F0G12950 OCT 247417031702 22-TABLE USED BY ROYCNV. F0G12960 OCT 243661534466 21-TABLE USED BY ROYCNV. F0G12970 OCT 240532743536 20-TABLE USED BY ROYCNV. F0G12980 OCT 235425434430 19-TABLE USED BY ROYCNV. F0G12990 OCT 231674055530 18-TABLE USED BY ROYCNV. F0G13000 OCT 226543212741 17-TABLE USED BY ROYCNV. F0G13010 OCT 223434157116 16-TABLE USED BY ROYCNV. F0G13020 OCT 217706576512 15-TABLE USED BY ROYCNV. F0G13030 OCT 214553630410 14-TABLE USED BY ROYCNV. F0G13040 OCT 211443023471 13-TABLE USED BY ROYCNV. F0G13050 OCT 205721522451 12-TABLE USED BY ROYCNV. F0G13060 OCT 202564416672 11-TABLE USED BY ROYCNV. F0G13070 OCT 177452013710 10-TABLE USED BY ROYCNV. F0G13080 OCT 173734654500 09-TABLE USED BY ROYCNV. F0G13090 OCT 170575360400 08-TABLE USED BY ROYCNV. F0G13100 OCT 165461132000 07-TABLE USED BY ROYCNV. F0G13110 OCT 161750220000 06-TABLE USED BY ROYCNV. F0G13120 OCT 156606500000 05-TABLE USED BY ROYCNV. F0G13130 OCT 153470400000 04-TABLE USED BY ROYCNV. F0G13140 OCT 147764000000 03-TABLE USED BY ROYCNV. F0G13150 OCT 144620000000 02-TABLE USED BY ROYCNV. F0G13160 OCT 141500000000 01-TABLE USED BY ROYCNV. F0G13170 TAB OCT 136400000000 00-TABLE USED BY ROYCNV. F0G13180 * F0G13190 REM SEARCHES SYMBOL TABLE FOR BCD CHARACTER IN AC (TERMINATED) F0G13200 REM WITH A BLANK IF LESS THAN 6 CHARACTERS) F0G13210 REM RETURNS 1,4 NOT FOUND F0G13220 REM RETURNS 2,4 FOUND IRA = TAG FOR LOCATING F0G13230 STSCH LXA L(1),1 F0G13240 LXD STBLE,2 F0G13250 CAS STBL,1 F0G13260 TXI *+2,0,0 F0G13270 TRA 2,4 FOUND F0G13280 TXI *+1,1,2 F0G13290 TIX *-4,2,2 $F0G13300 TRA 1,4 NOT IN F0G13310 * F0G13320 REM DETERMINE UPPER LOWER P - D AND ERASEABLE F0G13330 CERASE SXA CERASA,4 SAVE XR4 (20)F0G13340 CLA UMC8 (20)F0G13350 ADD COMN (20)F0G13360 STA UCOMMN LOWER COMMON (20)F0G13370 CLA STBLE (20)F0G13380 STA LCOMPC-1 E LOWER P.D.-1 (REL) (20)F0G13390 STA UMC8-2 A UPPER ERASABLE (REL) (20)F0G13400 L(ADD) ADD LADD (20)F0G13410 STA UCOMMN-2 J UPPER ERASABLE (ABS) (20)F0G13420 STA UCOMMN-3 (20)F0G13430 ADD L(1) (20)F0G13440 STA LPROGD LOWER PROGRAM DATA (20)F0G13450 LXD STBLE,2 NUMBER OF ENTRIES IN SYMBOL TABLE (20)F0G13460 LXA L(1),1 (20)F0G13470 CEAPP CLA STBL-1,1 (20)F0G13480 PDX 0,4 (20)F0G13490 TXH CERASB,4,2 GO TILL 3 IN DECREMENT (20)F0G13500 TXI *+1,1,2 GET NEXT TABLE ENTRY (20)F0G13510 TIX CEAPP,2,2 ANY MORE ENTRIES (20)F0G13520 CERASA AXT **,4 NO, RETURN TO CALLER (20)F0G13530 TRA 1,4 (20)F0G13540 CERASB CAL STBL+1,1 NEXT HIGHER ENTRY (20)F0G13550 PDX 0,4 (20)F0G13560 SXA PATCHB,4 SAVE DECREMENT (20)F0G13570 CAL STBL,1 SYMBOL ITSELF (20)F0G13580 ARS 30 (20)F0G13590 SUB L(8) (20)F0G13600 TZE CERASC 8) I.E. FORMAT (20)F0G13610 ADD L(2) (20)F0G13620 TZE CERASC 6) (20)F0G13630 TXI *-6,1,2 (20)F0G13640 CERASC CAL STBL+1,1 (20)F0G13650 PDX 0,4 (20)F0G13660 TXH *+2,4,2 GO FOR 3 (I.E. GOOD ERASABLE) (20)F0G13670 CAL UMC8-2 (20)F0G13680 L(SUB) SUB L(1) (20)F0G13690 STA LCOMPC-2 D LOWER ERASE-1 (REL) (20)F0G13700 ADD LADD (20)F0G13710 STA LCOMMN-2 G LOWER ERASE-1 (ABS) (20)F0G13720 CAL PBREAK (20)F0G13730 SUB L(1) (20)F0G13740 STA UMC8-1 B PROG. BREAK-1 (20)F0G13750 ADD LADD (20)F0G13760 STA UCOMMN-1 K P.B.-1 + LADD (20)F0G13761 PATCHB AXT **,4 (20)F0G13762 TXL *+2,4,1 TEST FOR PROG. VAR. (20)F0G13763 CAL UCOMMN-3 YES, USE LOWER P.D.-1 (20)F0G13764 STA LCOMMN-1 NO, USE PROG. BR.-1+LADD (20)F0G13770 TRA CERASA (20)F0G13780 PZE (NOT USED) (20)F0G13790 PZE (NOT USED) (20)F0G13800 * F0G13810 REM COMPUTES ABS ADDRESS OF ENTRY STBL-1,1 F0G13820 STAA STZ TEMP F0G13830 CAL STBL-1,1 F0G13840 STA TEMP ADDRESS IN SYMBOL TABLE F0G13850 ARS 15 F0G13860 PDX 0,2 BIT PATTERN TO IRB F0G13870 TXL STAARN,2,0 RETURN FOR NO RELOCATION F0G13880 CLA TEMP F0G13890 SUB PBREAK F0G13900 TPL UM TRANSFER FOR UPPER MEMORY F0G13910 LM TXL LMA,2,2 F0G13920 CLA TEMP (LM BIT 11) (UM BIT 10) F0G13930 ADD COMN ADD COMMON REASSIGNMENT F0G13940 STA TEMP F0G13950 STAARN TRA 1,4 F0G13960 LMA CLA TEMP (LM BIT 10) (UM BIT 11) F0G13970 ADD LADD ADD LOADING ADDRESS F0G13980 TXI *-4,0,0 F0G13990 UM TXL LM+1,2,2 F0G14000 TXI LMA,0,0 F0G14010 REM LM 10 = LM + LADD, LM 11 = LM + CR F0G14020 REM UM 10 = UM + CR, UM 11 = UM + LADD F0G14030 * F0G14040 REM ALPHABETIC IN AC - FORM SYMBOL - LOOK UP IN F0G14050 REM SYMBOL TABLE - ADJUST ADDRESS - (USED FOR IF PROCESSING) F0G14060 REM (OCTAL DUMP) FIELD SEPARATOR IN 1H AT COMPLETION F0G14070 TSX C0190,4 F0G14080 FSAA SXA FSAAR,2 F0G14090 TSX C0160,2 FORM SYMBOL F0G14100 CLA 1G F0G14110 TXH FSAAS,1,0 SPECIAL CHARACTER F0G14120 TSX STSCH,4 SEARCH SYMBOL TABLE F0G14130 TXI FSERR,0,0 NOT IN F0G14140 TSX STAA,4 ADJUST ADDRESS F0G14150 FSAAB CLA 1H F0G14160 SUB LPAR F0G14170 TZE *+4 F0G14180 CLA TEMP NOT SUBSCRIPTED F0G14190 FSAAR AXT **,2 F0G14200 TRA 1,2 RETURN F0G14210 TSX C0180X,2 GET SUBSCRIPT F0G14220 SUB RPAR F0G14230 TNZ FSERR F0G14240 CLA TEMP SUBTRACT F0G14250 SBM 1G SUBSCRIPT F0G14260 ADM L(1) ADD 1 F0G14270 STA TEMP F0G14280 TSX C0190,4 NEXT CHARACTER TO F0G14290 STO 1H 1H F0G14300 TRA FSAAR F0G14310 FSAAS AXT 0,3 F0G14320 AXT 4,4 LOOK FOR F0G14330 CAS TSPCH,2 SPECIAL SYMBOL F0G14340 TXI *+2,0,0 F0G14350 TXI FSERR+3,0,0 FOUND F0G14360 TXI *+1,2,-1 F0G14370 TXI *+1,1,1 F0G14380 TIX *-5,4,1 F0G14390 FSERR NZT VI F0G14400 TRA PLIST (IF) TROUBLE F0G14410 TRA MTCB (LIST) TROUBLE F0G14420 CLA UCOMMN,1 F0G14430 STO TEMP REFERENCE ADDRESS F0G14440 TRA FSAAB F0G14450 * F0G14460 * F0G14470 REM CHECKS AC FOR - TO MTCB OTHERWISE F0G14480 CACMD CAS MINUS F0G14490 TRA *+2 F0G14500 TRA 1,4 F0G14510 SUB DASH F0G14520 TZE 1,4 F0G14530 TRA MTCB F0G14540 REM NEXT CHARACTER, WORD, RETURN 1,4 FOR YES OR NO F0G14550 REM OTHERWISE PLIST, MQ = + NO, MQ = - FOR YES, F0G14560 REM USED FOR IF COMPILING F0G14570 YESNO SXA *+2,4 F0G14580 TSX C0160X,2 FORM FIELD F0G14590 AXT **,4 RESTORE 4 F0G14600 CLA 1G F0G14610 CAS YES F0G14620 TXI *+2,0,0 F0G14630 TXI *+6,0,0 YES ENCOUNTERED F0G14640 SUB NO F0G14650 TNZ PLST ILLEGAL F0G14660 LDQ L(0) HERE FOR NO (MQ=+) F0G14670 CLA 1H NEXT CHARACTER F0G14680 TRA 1,4 F0G14690 LDQ IFINS+3 HERE FOR YES (MQ=-) F0G14700 TRA *-3 F0G14710 REM BIT PATTERN GENERATOR FOR IFS F0G14720 REM BPIFZ FOR ZERO, BPIF1 FOR 1 F0G14730 BPIFZ CLA BPIF F0G14740 ALS 1 F0G14750 STA BPIF F0G14760 TRA 1,4 F0G14770 BPIF1 CLA BPIF F0G14780 ORA L(1) F0G14790 TRA BPIFZ+1 F0G14800 * F0G14810 REM SUBROUTINE FOR COMPILING F0G14820 REM IRA = STORING TAG, IRB = NO OF INST TO COMPILE F0G14830 REM LC = INITIAL ADD, LCP = PSEUDO INITIAL ADD F0G14840 REM MQ = BIT PATTERN, CALL TSX COMPLE,4 F0G14850 REM RTN = 2,4 WITH IRA INCREMENTED BY -1 F0G14860 COMPLE CLA* 1,4 INSTRUCTION TO AC F0G14870 STO* LCP STORE F0G14880 TQP *+5 F0G14890 PXA 0,1 ADJUST ADDRESS F0G14900 SUB LC FOR ADDRESS OF F0G14910 ACL* 1,4 TYPE F0G14920 STA* LCP *(+ OR-) NUMBER F0G14930 TXI *+1,1,-1 MODIFY STORING TAG F0G14940 RQL 1 NEXT BIT OF BIT PATTERN F0G14950 TIX COMPLE,2,1 F0G14960 PXA 0,1 CHECK F0G14970 SUB LC FOR F0G14980 LAS OVLP OVERLAP F0G14990 TRA PTOVL OF F0G15000 NOP DATA OR F0G15010 ADD LCOMN TABLES F0G15020 TMI PDOVL AND PROGRAM F0G15030 TRA 2,4 RETURN F0G15040 * F0G15050 REM THIS TAKES NAM AND SUBS, AND STORES BCD PACKED F0G15060 REM TO THE RIGHT IN BUF, + 1, + 2 AND COMPILES IN FORMAT F0G15070 REM FOLLOWED BY NUMERIC F0G15080 NSTB CLA BLANKS BLANK F0G15090 FMTCP AXT **,1 ADDRESS = COM OF FORMAT TAG F0G15100 TXL OVFO,1,-NEFMTT+3 FORMAT TOO LARGE F0G15110 SXD NSTBEA,1 F0G15120 STO FMT,1 BLANKS AS NEXT FORMAT WORD F0G15130 LXA L(0),2 F0G15140 CAL SUBS BCD SUBS TO AC F0G15150 TZE NSTBC TRA FOR NOSUBSCRIPT F0G15160 ALS 6 FOLLOW F0G15170 ORA RPAR SUBSCRIPT WITH) F0G15180 LGR 6 F0G15190 TXI *+1,2,6 F0G15200 TNZ *-2 NEXT CHAR F0G15210 TXL NSTBA,2,30 LEAVE IF LESS THAN 6 CHAR F0G15220 STQ FMT+2,1 F0G15230 TXI *+1,1,1 UPDATE BUF STORING TAG F0G15240 LXA L(0),2 RESET CHAR COUNTING TAG F0G15250 NSTBA CAL LPAR PRECEED SUBSCRIPT WITH ( F0G15260 LGR 6 F0G15270 TXI *+1,2,6 F0G15280 NSTBC CAL NAM NAME TO AC F0G15290 NSTBD TXL NSTBE,2,30 F0G15300 STQ FMT+2,1 F0G15310 TXI *+1,1,1 UPDATE STORING TAG F0G15320 LXA L(0),2 RESET 2 F0G15330 NSTBE LGR 6 F0G15340 TXI *+1,2,6 F0G15350 TNZ NSTBD F0G15360 CAL BLANKS F0G15370 NSTBEA TXH *+2,1,** SKIP BLANK FOR GREATER THAN 6 CHAR F0G15380 SLW FMT+1,1 STORE BLANKS F0G15390 L(36) LGR 36,2 FILL WITH BLANKS F0G15400 STQ FMT+2,1 F0G15410 NSTBF LDQ 15H PRECEED NAME F0G15420 LXA FMTCP,1 WITH F0G15430 SLQ FMT,1 15H F0G15440 TXI *+1,1,-3 F0G15450 LXD CCNT,2 C-COUNT F0G15460 TXI *+1,2,1 F0G15470 TXL *+3,2,3 F0G15480 CLA ESL E/ F0G15490 TXI *+2,2,-4 F0G15500 CLA ECM E, F0G15510 STO FMT,1 F0G15520 TXI *+1,1,-1 F0G15530 SXA FMTCP,1 F0G15540 SXD CCNT,2 SAVE WORD COUNT F0G15550 TRA 1,4 F0G15560 OVFO LXD COMTG,1 F0G15570 TRA EXIT+2 F0G15580 * F0G15590 REM THIS TAKES 1G AND RIGHT ADJUSTS SYMBOL F0G15600 RGHTA LDQ 1G F0G15610 AXT -6,2 F0G15620 TXI *+1,2,6 F0G15630 TXH *+5,2,30 LEAVE FOR 6 CHARACTER SYMBOL F0G15640 PXD 0,0 F0G15650 LGL 6 F0G15660 SUB ABLANK F0G15670 TNZ *-5 F0G15680 LDQ 1G F0G15690 PXD 0,0 F0G15700 SXA *+1,2 F0G15710 LGL ** F0G15720 TRA 1,4 F0G15730 * F0G15740 REM TAKES AC (RIGHT ADJ) AND PUTS IN LEADING BLANKS F0G15750 REM RESULT IN MQ F0G15760 BLKSR LXA L(0),2 F0G15770 LGR 6 F0G15780 TZE *+2 F0G15790 TXI *-2,2,6 F0G15800 CAL BLANKS F0G15810 LGR 30,2 F0G15820 TRA 1,4 F0G15830 * F0G15840 REM TAKES MQ AND CONVERTS TO BCD STORING INDIRECTLY 1,4 F0G15850 TOBCD STZ* 1,4 F0G15860 LXA L(36),2 F0G15870 PXD 0,0 F0G15880 DVP L(10) F0G15890 ALS 36,2 F0G15900 ORS* 1,4 F0G15910 TIX *-4,2,6 F0G15920 TRA 2,4 F0G15930 EFNZ CLA EFNRT,1 TRANSFER F0G15940 STA EFNZA TO NEXT F0G15950 LXD COMTG,4 COUNTER TEST F0G15960 PXA 0,4 MODIFY EXIT F0G15970 SUB LCP FOR F0G15980 STA EFNRT,1 THIS EFN F0G15990 PXA 0,4 INSTEAD OF F0G16000 SUB LC RETURNING TO F0G16010 STA TRA2 F0G16020 ACL L(1) F0G16030 EFNZA STA ** OBJECT PROGRAM F0G16040 TRA CNTRC-3 F0G16050 REM INCORRECT IF FORMAT ENCOUNTERED F0G16060 PLST CLA 1H F0G16070 PLIST CAS DOLS F0G16080 TXI *+2,0,0 F0G16090 TRA LIST-1 $ ENCOUNTERED F0G16100 SUB ENDMK F0G16110 TZE POET-5 F0G16120 TSX C0190,4 NEXT CHARACTER F0G16130 TRA PLIST F0G16140 REM THIS CHECK FOR COMMA AND 77 F0G16150 MTCB CLA 1H RESET NEXT CHARACTER F0G16160 AXT -EXIT,2 ERROR LOAD F0G16170 MTC CAS CMA F0G16180 TRA *+2 F0G16190 TRA 1,2 EXIT F0G16200 SUB ENDMK F0G16210 TZE MTCA F0G16220 TSX C0190,4 NEXT CHAR. TO AC F0G16230 TRA MTC-1 SET ERROR EXIT F0G16240 MTCA LXD COMTG,1 F0G16250 CLA EXIT+1 SET F0G16260 SLW EXIT+1 EXIT SWITCH F0G16270 TRA 1,2 F0G16280 MTM TSX C0190,4 F0G16290 SUB ENDMK F0G16300 TNZ *-2 F0G16310 TRA POET-5 F0G16320 TROP2 TRA ORIGIN+2 F0G16330 TSWE NZT SWTBLN F0G16340 TRA 1,4 F0G16350 STZ SYMSW F0G16360 SXA RESTOR,1 F0G16370 SXA RESTOR+1,2 F0G16380 SXA RESTOR+2,4 F0G16390 STO S(AC) F0G16400 CLA TROP2 INSERT STR RETURN F0G16410 REM (TRA ORIGIN+2) IN LOCATION 2 LATER $F0G16420 STO ORIGIN+2 AND TRA AS OP CODE IN 3RD COMPILED INSTR.F0G16430 CLA S PUT TRA SW F0G16440 STA LC IN 2 F0G16450 STA ORIGIN+2 F0G16460 AXT 0,1 MOVE F0G16470 AXT 36,2 STBL INSTRUCTIONS F0G16480 LDQ BPSWT1 F0G16490 TSX COMPLE,4 F0G16500 PZE SW+36,2 F0G16510 AXT 20,2 F0G16520 LDQ BPSWT2 F0G16530 TSX COMPLE,4 F0G16540 PZE SW+56,2 F0G16550 LDC SWTBLN,2 MOVE F0G16560 AXT 0,4 TABLE F0G16570 CLA SWTBLE,4 F0G16580 STO* LCP F0G16590 TXI *+1,1,-1 F0G16600 TXI *+1,4,-1 F0G16610 TIX *-4,2,1 F0G16620 CLA MSK3 FOLLOWED BY F0G16630 STO* LCP 77...77 F0G16640 PXA 0,1 CHECK F0G16650 SUB LCP FOR DATA F0G16660 PAX 0,1 SAVE F0G16670 TXI *+1,1,1 S F0G16680 SXA S,1 FOR LINK LOADING F0G16690 ADD LCOMN OVERLAP F0G16700 TMI PDOVL F0G16710 TRA RESTOR F0G16720 REM PROGRAM FOR EXECUTING REPLACED INSTRUCTIONS ETC F0G16730 SW TXH 43,0,0 1 F0G16740 SXD 20,4 2 F0G16750 SXD 40,2 3 F0G16760 STO 49 4 F0G16770 STQ 49 5 F0G16780 SXD 11,1 6 F0G16790 CLS -6 7 F0G16800 STO -7 8 F0G16810 LXA 0,1 9 F0G16820 SXA 42,1 10 F0G16830 STZ 0 11 F0G16840 TXI 1,1,-1 12 F0G16850 SXA 0,1 13 F0G16860 LXD -13,1 14 F0G16870 CLA 42,1 15 F0G16880 CAS 39 16 F0G16890 TXI 2,0,0 17 F0G16900 TRA 26 18 F0G16910 LGR 18 19 F0G16920 LAS 0 20 F0G16930 TXI -6,1,-2 21 F0G16940 TXI 2,0,0 22 F0G16950 TXI -8,1,-2 23 F0G16960 LGL 18 24 F0G16970 STA 15 25 F0G16980 LDQ* 0 26 F0G16990 CLM 27 F0G17000 ORA 30,1 28 F0G17010 TMI 12 29 F0G17020 STQ 9 30 F0G17030 STP 8 31 F0G17040 LDQ 24 32 F0G17050 STQ 18 33 F0G17060 CLA 19 34 F0G17070 LDQ 19 35 F0G17080 LXD -19,1 36 F0G17090 LXD -15,4 37 F0G17100 LXD 5,2 38 F0G17110 HTR 0 39 F0G17120 TRA 0 40 F0G17130 STQ 10 41 F0G17140 STP 9 42 F0G17150 TXI -3,0,0 43 F0G17160 CLS -43 44 F0G17170 STO -44 45 F0G17180 CLA 7 46 F0G17190 LDQ 7 47 F0G17200 LXD -31,1 48 F0G17210 LXD -27,4 49 F0G17220 LXD -7,2 50 F0G17230 NOP 0 51 F0G17240 TRA 0 52 F0G17250 HTR 0 53 F0G17260 HTR 0 54 F0G17270 MSK3 OCT 777777777777 55 F0G17280 NOP 0 56 F0G17290 BPSWT1 OCT 776537164777 F0G17300 BPSWT2 OCT 637760000000 F0G17310 * F0G17320 REM SEARCH DEBUG TABLE FOR SUBPROGRAM JUST LOADED F0G17330 SSWT PZE $F0G17340 SYMSW PZE F0G17350 S(AC) PZE F0G17360 * F0G17370 STENT STL SYMSW SYMBOL TABLE ENTRY F0G17380 TRA *+2 F0G17390 TSSWT STZ SYMSW F0G17400 SXA RESTOR,1 SAVE INDEX F0G17410 SXA RESTOR+1,2 REGISTERS F0G17420 SXA RESTOR+2,4 AND F0G17430 STO S(AC) AC F0G17440 NZT SSWT F0G17450 TRA TSYMSW NO DEBUG REQUESTED F0G17460 BEGIN LAC DTBLS-1,1 2S COMP OF NUMBER OF ENTRIES F0G17470 TXL *+8,1,0 LEAVE FOR NO ENTRIES F0G17480 SXD *+6,1 F0G17490 LXA L(0),1 F0G17500 CLA SNAME PROGRAM JUST LOADED F0G17510 SUB DTBLS,1 F0G17520 TZE BEGNA FOUND F0G17530 TXI *+1,1,-2 UPDATE F0G17540 TXH *-4,1,** F0G17550 TRA TSYMSW-2 F0G17560 BEGNA CLA DTBLS+1,1 INITIALIZE F0G17570 STD FWA C0190 FOR F0G17580 SXD CHCTR,0 PROPER TABLE F0G17590 REM INITIALIZE F0G17600 FRMON STZ EFNCT F0G17610 SXD COMTG,0 F0G17620 CLA PBREAK COMPUTE EXECUTION F0G17630 ADD LADD ADDRESS FOR BEGINNING F0G17640 STA LC OF GENERATED INSTRUCTS F0G17650 REM GET EFN AND MAKE TABLE ENTRIES F0G17660 TSX CERASE,4 COMPUTE UPPER + LOWER ERASABLE ADD F0G17670 TSX C0190,4 INSURE F0G17680 SUB ENDMK PROPER F0G17690 TNZ MTM BEGINNING (I.E. 77) F0G17700 EFNA TSX C0190,4 F0G17710 TSX C0160,2 GET EFN IN BCD F0G17720 TXH MTM,1,0 ILLEGAL EFN F0G17730 SUB ENDMK F0G17740 TNZ MTM ILLEGAL CARD(77 MUST FOLLOW EFN) F0G17750 CLA 1G EFN TO AC F0G17760 STO CEFN EFN IN BCD F0G17770 TSX STSCH,4 F0G17780 TXI MTM,0,0 EFN NOT IN SYMBOL TABLE F0G17790 SXD EFNTAG,1 F0G17800 LXD EFNCT,3 F0G17810 TXL EFNB,1,0 F0G17820 SXD *+6,2 F0G17830 LXA L(1),1 F0G17840 CAS EFNTB,1 F0G17850 TXI *+2,0,0 F0G17860 TXI EFNZ,0,0 MULTIPLE SNAPS AT THIS EFN F0G17870 TXI *+1,1,1 F0G17880 TXL *-4,1,** F0G17890 EFNB TXI *+1,2,1 UPDATE F0G17900 TXH MTM,2,10 F0G17910 LDC SWTBLN,4 F0G17920 TXL *+2,4,48 F0G17930 TRA MTM F0G17940 SXD EFNCT,2 EFN COUNT F0G17950 STO EFNTB,2 STO EFN F0G17960 LXD COMTG,4 SAVE IN EFNRT F0G17970 PXA 0,4 THE ABSOLUTE EXECUTION F0G17980 SUB LCP ADDRESS OF THE NEXT COMPILED INSTRUCTION F0G17990 STA EFNRT,2 STO RETURN ADDRESS F0G18000 LXD SWTBLN,2 UPDATE F0G18010 PXA 0,4 PUT ADDRESS OF SNAP EXIT F0G18020 SUB LC IN TRA2 F0G18030 STA TRA2 SAVE SNAP EXIT ADDRESS F0G18040 ACL L(1) F0G18050 STA SWTBLE,2 SNAP TO SWTABLE ADDRESS F0G18060 EFNBA STZ TEMP F0G18070 LXD EFNTAG,4 COMPUTE F0G18080 CAL STBL-1,4 ABSOLUTE LOCATION F0G18090 ACL LADD OF EFN TO START F0G18100 STA EFNC SEARCH F0G18110 CAL STBL-1,4 F0G18120 ACL LADD F0G18130 STO EFNCX F0G18140 LXA L(0),4 F0G18150 EFNC LDQ **,4 START F0G18160 SLQ TEMP SEARCH F0G18170 LXA L(1),1 FOR LOGICAL F0G18180 CLA TEMP END OF F0G18190 LDI* EFNC STATEMENT F0G18200 CAS L(7) F0G18210 RFT 700000 F0G18220 TRA EFNE F0G18230 CAS ITEST,1 STARTING WITH TZE F0G18240 TXI *+2,0,0 F0G18250 TXI EFND,0,0 FOUND TABLE ENTRY F0G18260 TXI *+1,1,1 F0G18270 TXL *-4,1,ITEST-IITEST F0G18280 TXI EFNC,4,-1 NEXT INSTRUCTION F0G18290 EFND TXL EFNE,1,ITEST-NOADDC EXAMINE ADDRESS OF STO,STQ,SLW ONLY F0G18300 CAL* EFNC F0G18310 ANA MSK1 F0G18320 PAX 0,1 F0G18330 TXH EFND-1,1,IUPCM+167 F FCN ARG = NO GOOD F0G18340 LDQ LCOMMN-1 BETWEEN L. PROG. DATA F0G18350 TLQ *+3 AND 77730=OK $F0G18360 TNZ EFND-1 SNAP AT ARGUMENTS TOO $F0G18361 TXI *+1,1,8 $F0G18362 TXI *+1,4,1 CHECK PREVIOUS FOR CLA-1 $F0G18363 CLA* EFNC (MOST SIGNIFICANT AC) $F0G18364 SUB LCLAM1 IF SO EXAMINE LEAST $F0G18365 TNZ QTEST SIGNIFICANT STO, IF NOT $F0G18366 TXI *+1,4,-2 GO TEST FOR LDQ-3 $F0G18367 CLA* EFNC CHECK NEXT FOR CLA-2 $F0G18368 SUB LCLAM2 $F0G18369 TNZ *+2 IF NOT SNAP ORIGINAL STO $F0G18370 TXI EFNE,4,-1 $F0G18371 TXI EFNE,4,1 $F0G18372 QTEST CLA* EFNC CHECK PREVIOUS FOR LDQ-3 $F0G18373 SUB LLDQM3 (MOST SIGNIFICANT MQ) $F0G18374 TNZ *+5 IF NOT SNAP ORIGINAL STO $F0G18375 TXI *+1,4,-2 $F0G18376 CLA* EFNC CHECK NEXT FOR LDQ-4 $F0G18377 SUB LLDQM4 $F0G18378 TNZ QTEST-1 $F0G18379 TXI EFNE,4,-1 IF NOT SNAP ORIGINAL STO $F0G18380 EFNE CLA* EFNC SAVE $F0G18381 STO SWTBLE+1,2 REPLACED INSTRUCTION F0G18390 CAL L(STR) PUT STR F0G18400 STP* EFNC IN OBJECT PROG F0G18410 PXA 0,4 PUT EXIT ADDRESS (FROM OBJECT) F0G18420 SUB EFNCX IN F0G18430 ALS 18 DEC OF F0G18440 STD SWTBLE,2 SWTBLE F0G18450 TXH *+3,1,ITEST-NOADDC SET TABLE F0G18460 CLS SWTBLE,2 ENTRY NEGATIVE F0G18470 STO SWTBLE,2 FOR NON-STO,STQ F0G18480 TXI *+1,2,-2 UPDATE STABLE TAG F0G18490 SXD SWTBLN,2 F0G18500 REM START OF COMPILING F0G18510 LXD COMTG,1 F0G18520 LDQ L(TR2) F0G18530 STQ* LCP COMPILE TRA 2 AS FIRST INSTR F0G18540 CNTRC TXI *+1,1,-1 F0G18550 STQ* LCP AND NEXT LOCATION TO F0G18560 TXI *+1,1,-1 PREVENT FLUBS F0G18570 SXD COMTG,1 F0G18580 * F0G18590 REM ADJUST ADDRESSES FOR CNS TESTS F0G18600 CLA TRA2 F0G18610 STA L(CNI)+3 F0G18620 STA L(CNI)+4 F0G18630 STA L(CNI)+6 F0G18640 STA IFINS+2 F0G18650 STA IFINS+3 F0G18660 STA IFINS+4 F0G18670 REM DETERMINE IF DUMP OR TRACE F0G18680 LXA L(4),2 SKIP F0G18690 TSX C0190,4 4 CHARACTERS F0G18700 TIX *-1,2,1 F0G18710 TSX C0190,4 F0G18720 CAS L(9) F0G18730 TRA MTM EXIT FOR TRACE IF ANYBODY WANTS IT F0G18740 NOP 5TH CHARACTER NUMERIC F0G18750 TSX C0180,2 (I.E. N1) F0G18760 SUB CMA COMMA F0G18770 TNZ MTM MUST FOLLOW N1 F0G18780 CLA 1G STORE F0G18790 STA N1 N1 F0G18800 TSX C0180X,2 GO FOR N2 F0G18810 LXA 1G,2 STORE F0G18820 SXA N2,2 N2 F0G18830 CAS CMA F0G18840 TXI *+2,0,0 F0G18850 TXI CNTCRA,0,0 N3 SPECIFIED F0G18860 SUB DOLS F0G18870 TNZ MTM F0G18880 CLA L(1) N3 NOT SPECIFIED - ASSUME 1 F0G18890 TRA CNTCRB-1 F0G18900 CNTCRA TSX C0180X,2 GO FOR N3 F0G18910 SUB DOLS F0G18920 TNZ MTM ILLEGAL F0G18930 CLA 1G STORE F0G18940 STA N3 N3 F0G18950 CNTCRB LXA N1,2 MOVE N1, N2, N3 F0G18960 TXI *+1,2,-1 INTO (N1-1) F0G18970 SXD L(CNI)+3,2 COUNTER F0G18980 SXD L(CNI)+5,2 TEST F0G18990 LXA N2,2 INSTRUCTIONS F0G19000 SXD L(CNI)+4,2 N2 F0G19010 LXA N3,2 F0G19020 TXI *+1,2,-1 N3-1 F0G19030 SXD L(CNI)+7,2 F0G19040 REM COMPILE COUNTER TEST F0G19050 TXI *+1,1,1 REMOVE FLUB CATCHER F0G19060 LDQ BPCNR F0G19070 LXA L(10),2 F0G19080 TSX COMPLE,4 F0G19090 PZE L(CNI)+10,2 F0G19100 REM IF COMPILATION F0G19110 SXD COMTG,1 SAVE COMPILING TAG F0G19120 * F0G19130 TSX C0150,2 GET NEXT FIELD F0G19140 CLA 1G F0G19150 SUB L(IF) F0G19160 TNZ LIST NO IF CLAUSE F0G19170 CLA 1H F0G19180 SUB LPAR F0G19190 TNZ LIST VARIABLE IF F0G19200 IF STZ BPIF INITIALIZE BIT PATTERN F0G19210 STZ VI VARIABLE COUNT F0G19220 CLA * SET FIRST F0G19230 STO IFINS OP TO CLA F0G19240 IFPA TSX C0190,4 NEXT CHARACTER TO AC F0G19250 AXT -IFMRA,4 SET 4 FOR EXIT FROM ROYCVN F0G19260 LDQ L(10) F0G19270 TLQ *+2 F0G19280 TRA ROYCNV GO CONVERT NUMERIC F0G19290 LXA L(5),1 COMPARE WITH F0G19300 CAS CTEST,1 FIRST FIVE CHAR OF CTEST F0G19310 TRA *+2 F0G19320 TRA IFA FOUND F0G19330 TIX *-3,1,1 F0G19340 TSX FSAA,2 ASSUME VARIABLE F0G19350 CLA TEMP ADJUSTED ADDRESS F0G19360 STA IFINS F0G19370 TSX BPIFZ,4 GENERATE ZERO BIT F0G19380 TRA IFB F0G19390 IFA TXH IFMR,1,4 IRA = 5 MINUS (40) F0G19400 TXH PLIST,1,3 IRA = 4 RPAR (34) F0G19410 TXH DECPNT,1,2 IRA = 3 DECPT (33) F0G19420 TXH IFPA,1,1 IRA = 2 PLUS (20) F0G19430 IFMR CLA C0151+1 F0G19440 STO IFINS SET TO CLS F0G19450 IFMRA TRA IFPA F0G19460 CLA G CONVERTED NUMBER F0G19470 STO IFINS+5 F0G19480 CLS L(5) SET F0G19490 STA IFINS F0G19500 CLM F0G19510 STO VI VI NEGATIVE F0G19520 TSX BPIF1,4 GENERATE ONE BIT F0G19530 IFB CLA 1H F0G19540 CAS DASH EXAMINE F0G19550 TRA *+2 SIGN F0G19560 TRA IFCMI IN F0G19570 CAS MINUS IF F0G19580 TRA *+2 EXPRESSION F0G19590 TRA IFCMI F0G19600 SUB PLUS F0G19610 TNZ PLST F0G19620 IFCPL CLA L(ADD) PLUS F0G19630 TRA IFD-1 F0G19640 IFCMI CLA L(SUB) MINUS F0G19650 STO IFINS+1 F0G19660 IFD TSX C0190,4 FIRST CHAR OF V2 F0G19670 AXT -IFDA,4 SET ROYCVN EXIT F0G19680 LDQ VI F0G19690 CAS L(9) F0G19700 TRA IFDB ALPHABETIC F0G19710 NOP GO CONVERT F0G19720 TQP ROYCVN NUMERIC F0G19730 TRA PLIST ERROR F0G19740 IFDB SUB DECPT F0G19750 TNZ *+3 F0G19760 TQP DECPNT GO CONVERT F0G19770 TRA PLST F0G19780 ADD DECPT F0G19790 TSX FSAA,2 PROCESS VARIABLE V2 F0G19800 CLA TEMP ADJUSTED ADDRESS F0G19810 STA IFINS+1 F0G19820 TSX BPIFZ,4 F0G19830 IFDA TRA IFF-1 F0G19840 CLA L(4) ADDRESS OF *+4 F0G19850 STA IFINS+1 F0G19860 CLA G STORE CONVERTED F0G19870 STO IFINS+5 NUMBER F0G19880 TSX BPIF1,4 F0G19890 CLA 1H F0G19900 IFF SUB RPAR ) MUST FOLLOW F0G19910 TNZ PLST EXPRESSION F0G19920 TSX YESNO,4 F0G19930 SUB CMA F0G19940 TNZ PLST F0G19950 TQP IFG NO SNAP FOR TMI F0G19960 CLA L(3) SNAP F0G19970 STA IFINS+3 FOR MINUS F0G19980 TSX BPIF1,4 1 IN BIT PATTERN F0G19990 TRA *+2 F0G20000 IFG TSX BPIFZ,4 0 IN BIT PATTERN F0G20010 LGR 2 F0G20020 ALS 1 F0G20030 STO BPIF F0G20040 PXD 0,0 F0G20050 LGL 1 F0G20060 STO TEMP+1 F0G20070 TSX YESNO,4 F0G20080 SUB CMA F0G20090 TNZ PLST F0G20100 TQP IFH NO SNAP FOR TZE F0G20110 CLA L(4) SNAP F0G20120 STA IFINS+2 TZE F0G20130 TSX BPIF1,4 1 IN BIT PATTERN F0G20140 TRA *+2 F0G20150 IFH TSX BPIFZ,4 0 IN BIT PATTERN F0G20160 ORA TEMP+1 F0G20170 ALS 1 F0G20180 STO BPIF F0G20190 TSX YESNO,4 F0G20200 SUB DOLS F0G20210 TNZ PLST F0G20220 TQP IFI F0G20230 CLA L(2) SNAP F0G20240 STA IFINS+4 TPL F0G20250 TSX BPIF1,4 1 IN BIT PATTERN F0G20260 TRA *+2 F0G20270 IFI TSX BPIFZ,4 0 IN BIT PATTERN F0G20280 LDQ BPIF F0G20290 LGL 30 BIT PATTERN TO LEFT OF MQ F0G20300 LXD COMTG,1 LOAD COMPILING TAG F0G20310 TXI *+1,1,1 REMOVE SAFETY PLUG F0G20320 L(7) AXT 7,2 F0G20330 TSX COMPLE,4 F0G20340 PZE IFINS+7,2 F0G20350 SXD COMTG,1 F0G20360 TSX C0150,2 NEXT FIELD F0G20370 REM COMPILES FIRST FIVE FORMAT WORDS + CAL + TSXS F0G20380 * F0G20390 LIST STZ CCNT ZERO CHARACTER COUNT F0G20400 CLA XLPAR F0G20410 STO LPAR F0G20420 CLA PE+3 F0G20430 STO FMTCP+7 F0G20440 CAL EFND SET EXIT F0G20450 STP EXIT+1 +1 TO TXL F0G20460 SXD TEMP+4,1 F0G20470 CLA SNAME PLACE SUBPROGRAM F0G20480 NZT SNAME NAME IN FORMAT F0G20490 CLA MAINW F0G20500 STO FMT+1 F0G20510 LISTAB CLA 1G SAVE F0G20520 STO TEMP+3 1G F0G20530 CAL CEFN CURRENT EFN IN BCD F0G20540 SLW 1G F0G20550 TSX RGHTA,4 RIGHT ADJUSTED AND F0G20560 TSX BLKSR,4 PRECEEDED WITH BLANKS F0G20570 STQ FMT+3 STORED IN FMT+3 F0G20580 LXA TRA2,1 DETERMINE F0G20590 TXI *+1,1,1 ADDRESS OF F0G20600 SXA CNTOUT,1 COUNTER F0G20610 LAC L(7),1 INITIALIZE FORMAT F0G20620 SXA FMTCP,1 STORING TAG F0G20630 LXD COMTG,1 PULL F0G20640 TXI *+1,1,1 PLUG F0G20650 AXT 3,2 F0G20660 LDQ BPCALT F0G20670 TSX COMPLE,4 F0G20680 PZE CALTN+3,2 F0G20690 CLA STHW COMPILE F0G20700 STO* LCP TSX (STH), 4 F0G20710 TXI *+1,1,-1 F0G20720 SXA FMTL,1 PZE FORMAT LOCATION F0G20730 CLA FMTL F0G20740 STO* LCP F0G20750 TXI *+1,1,-1 F0G20760 LDQ L(1) COMPILE F0G20770 AXT 4,2 COUNTER F0G20780 TSX COMPLE,4 PRINT OUT F0G20790 PZE CNTOUT+4,2 F0G20800 SXD COMTG,1 SAVE COMPILING TAG F0G20810 LXD TEMP+4,1 RESTORE 1 F0G20820 CLA TEMP+3 RESTORE F0G20830 STO 1G 1G F0G20840 CLA 1H F0G20850 * F0G20860 LISTC TRA LISTC+2 F0G20870 REM START COMPILING CALLING SEQUENCES F0G20880 TSX C0150,2 F0G20890 LDQ I F0G20900 CAS RPAR NB = NUMERIC BEGINNING 1) ETC F0G20910 TRA *+2 F0G20920 TRA PE F0G20930 TQP MTC-1 MOVE TO COMMA AND TRY AGAIN F0G20940 TXH SPCH,1,0 SPECIAL CHARACTER F0G20950 CLA 1G VARIABLE TO AC F0G20960 TSX STSCH,4 SEARCH SYMBOL TABLE F0G20970 TRA MTCB MOVE TO COMMA AND TRY AGAIN F0G20980 TSX STAA,4 ADJUST ADDRESS F0G20990 CLA 1G RIGHT ADJUST F0G21000 TSX RGHTA,4 AND PUT IN NAM F0G21010 SLW NAM F0G21020 CLA 1H F0G21030 CAS LPAR F0G21040 TXI *+2,0,0 F0G21050 TRA LISTD SUBSCRIPT COMING F0G21060 TSX MTC,2 CHECK FOR PROPER END OF FIELD F0G21070 STZ SUBS NO SUBSCRIPT F0G21080 TSX NSTB,4 GENERATE FORMAT F0G21090 LXD COMTG,1 F0G21100 CLA TEMP ADJUSTED ADDRESS F0G21110 STA SIGCL F0G21120 LXA L(2),2 F0G21130 CLA SIGCL+2,2 F0G21140 STO* LCP F0G21150 TXI *+1,1,-1 F0G21160 TIX *-3,2,1 F0G21170 EXIT SXD COMTG,1 SAVE COMPILING TAG F0G21180 TXL LISTC+1,0,0 EXIT SWITCH F0G21190 REM COMPLETE CALLING SEQUENCE F0G21200 CLA FIL F0G21210 STO* LCP TSX (FIL), 4 F0G21220 TXI *+1,1,-1 F0G21230 CLA TRA2 FINAL F0G21240 STO* LCP EXIT F0G21250 TXI *+1,1,-1 F0G21260 LXA FMTCP,2 FORMAT TAG F0G21270 CLA MSK2 COMPLETE FORMAT STATEMENT F0G21280 STO* LCP F0G21290 TXI *+1,1,-1 MOVE F0G21300 TXI *+1,2,1 FORMAT F0G21310 CLA FMT,2 F0G21320 TXH *-4,2,0 F0G21330 STO* LCP F0G21340 PXA 0,1 ASSURE F0G21350 SUB LC NO F0G21360 LAS OVLP OVERLAP F0G21370 TRA PTOVL F0G21380 NOP F0G21390 ADD LCOMN F0G21400 TMI PDOVL DATA OVERLAP F0G21410 PXA 0,1 PUT PROPER F0G21420 SUB LC ADDRESS F0G21430 TXI *+1,1,-1 IN F0G21440 SXD COMTG,1 TSX FMTL F0G21450 LXA FMTL,1 F0G21460 STA* LCP F0G21470 TSX C0190,4 F0G21480 CAS ENDMK F0G21490 TRA EFNA+1 F0G21500 TRA POET FINISHED F0G21510 TRA EFNA+1 F0G21520 POET LDC COMTG,1 NO OF WORDS GENERATED F0G21530 PXA 0,1 COMPUTE F0G21540 ACL PBREAK NEW F0G21550 ADD LADD EXECUTION F0G21560 STA S ADDRESS F0G21570 REM CONTROL TO MONITOR F0G21580 STZ STBLE SET SYMBOL TABLE ENTRY COUNTER TO ZERO F0G21590 STZ SSWT F0G21600 TSYMSW NZT SYMSW F0G21610 TRA RESTOR F0G21620 REM HERE TO LOAD SYMBOL TABLE F0G21630 LST LXD STBLE,4 NO IN SYMBOL TABLE F0G21640 LXA RESTOR,1 F0G21650 LXA RESTOR+1,2 F0G21660 TXH LSTA,4,0 F0G21670 CLA IM+2,1 STORE NAME F0G21680 STO STNME IN STNME F0G21690 TRA PATCHD (20)F0G21700 ALS 1 TIMES 2 F0G21710 STD LSTB OF STBL ENTRIES F0G21720 TXI *+1,1,-2 MODIFY INDEX F0G21730 TXI *+1,2,-2 FOR FIRST CARD F0G21740 LSTA CLA IM+2,1 MOVE F0G21750 STO STBL-1,4 IM F0G21760 TXI *+1,4,1 TO STBL F0G21770 LSTB TXH RESTOR,4,** F0G21780 TXH RESTOR,4,NESYTB-1 $F0G21790 TXI *+1,1,-1 F0G21800 TIX LSTA,2,1 F0G21810 SXD STBLE,4 F0G21820 RESTOR AXT **,1 F0G21830 AXT **,2 F0G21840 AXT **,4 F0G21850 CLA S(AC) F0G21860 NZT SYMSW F0G21870 TRA 1,4 F0G21880 TRA L F0G21890 STNME BCI 1,X X X SYMBOL TABLE NAME F0G21900 REM SUBSCRIPTED VARIABLE F0G21910 LISTD TSX C0150,2 NEXT FIELD F0G21920 LDQ I F0G21930 TQP *+2 NUMERIC FIELD F0G21940 TRA MTC-1 ALPHA FIELD-ILLEGAL SUBSCRIPT $F0G21950 LDQ 1G S1 F0G21960 STQ S1 F0G21970 TSX TOBCD,4 S1 TO BCD F0G21980 PZE SUBS AND STORE IN SUBS F0G21990 CLA 1H F0G22000 CAS RPAR F0G22010 TXI *+2,0,0 F0G22020 TXI LISTE,0,0 SINGLE CELL COMING F0G22030 TSX CACMD,4 F0G22040 TSX C0150,2 NEXT FIELD F0G22050 SUB RPAR F0G22060 TNZ MTCB ILLEGAL F0G22070 LXA 1G,1 S2 F0G22080 SXD ARRAY+9,1 F0G22090 LXA S1,1 S1 F0G22100 SXA ARRAY,1 F0G22110 TXI *+1,1,5 F0G22120 SXA ARRAY+3,1 F0G22130 LXA TEMP,1 VARIABLE LOCATION F0G22140 TXI *+1,1,1 INCREASED F0G22150 SXA ARRAY+6,1 BY 1 AND STORED F0G22160 CLA 1G F0G22170 SUB S1 S2 MINUS S1 F0G22180 TMI MTCA-2 S2 IS LESS THAN S1 AND THAT IS ILLEGAL F0G22190 ADD L(1) PLUS 1 F0G22200 XCA F0G22210 PXD 0,0 F0G22220 DVP L(6) DIVIDED BY 6 F0G22230 STO TEMP AND STORED F0G22240 LXA FMTCP,1 FORMAT TAG F0G22250 TXL EXIT+1,1,-NEFMTT+8 FORMAT TOO LARGE F0G22260 TSX TOBCD,4 INTEGRAL PART OF DIVISION TO BCD F0G22270 PZE ARRFI AND STORED IN FORMAT F0G22280 CLA SLASH F0G22290 ALS 30 F0G22300 ORS ARRFR F0G22310 CAL NAM F0G22320 TSX BLKSR,4 PUT NAME IN F0G22330 STQ ARRFI+2 FORMAT F0G22340 STQ ARRFR+1 F0G22350 CLA ARRFI F0G22360 TZE LISTDA LESS THAN 6 CELLS TO SNAP F0G22370 LGR 30 F0G22380 CLA SLASH F0G22390 LGR 6 F0G22400 STQ ARRFI F0G22410 L(5) AXT 5,2 F0G22420 CLA ARRFI+5,2 MOVE F0G22430 STO FMT,1 TO FORMAT F0G22440 TXI *+1,1,-1 UPDATE F0G22450 TIX *-3,2,1 F0G22460 CAL BLANKS F0G22470 STD ARRFR F0G22480 LISTDA CLA TEMP REMAINDER AFTER DIVISION F0G22490 TZE LISTDB NO REMAINDER ( NO. OF CELLS IS DIVISIBLE 6F0G22500 LDQ TEMP CONVERT F0G22510 TSX TOBCD,4 REMAINDER TO BCD F0G22520 PZE TEMP AND STORE IN TEMP F0G22530 CLA TEMP MODIFY F0G22540 STA ARRFR+2 FORMAT ( WORD COUNT) F0G22550 LXA L(4),2 GENERATE F0G22560 CLA ARRFR+4,2 FORMAT F0G22570 STO FMT,1 F0G22580 TXI *+1,1,-1 UPDATE FORMAT TAG F0G22590 TIX *-3,2,1 F0G22600 LISTDB SXA FMTCP,1 SAVE FORMAT TAG F0G22610 LXD COMTG,1 LOAD COMPILE TAG F0G22620 AXT 14,2 F0G22630 LDQ BPARY BIT PATTERN F0G22640 TSX COMPLE,4 F0G22650 PZE ARRAY+14,2 F0G22660 SXD COMTG,1 SAVE COMPILING TAG F0G22670 TRA MTCA-2 CHECK FOR PROPER FIELD TERMINATION F0G22680 LISTE CLA TEMP F0G22690 ADM L(1) F0G22700 SUB S1 F0G22710 STA TEMP F0G22720 TSX C0190,4 F0G22730 TSX MTC,2 CHECK FOR PROPER END OF FIELD F0G22740 TRA EXIT-9 F0G22750 REM LIST ENTRY GREATER THAN 6 CHARACTERS F0G22760 SPCH AXT NSPCH,4 F0G22770 LXA L(0),3 IRA, IRB = 0 F0G22780 CLA 1G F0G22790 CAS TSPCH,2 SEARCH TABLE F0G22800 TXI *+2,0,0 F0G22810 TRA ESPCH,2 EXIT F0G22820 TXI *+1,2,-1 F0G22830 TIX *-4,4,1 F0G22840 TRA MTCB NOT IN SPECIAL DUMP TABLE F0G22850 * F0G22860 REM COMMON DATA DUMP F0G22870 CDMP CLA 1H F0G22880 CAS LPAR F0G22890 TRA *+2 F0G22900 TRA CDMPB SUBSCRIPTED COMMON F0G22910 SXA *+2,1 F0G22920 TSX MTC,2 CHECK END OF FIELD F0G22930 AXT **,1 F0G22940 REM HERE TO DUMP ALL OF COMMON F0G22950 CLA UMC8,1 F0G22960 STO U U F0G22970 SUB LCOMPC,1 F0G22980 STO NNL F0G22990 CLA LCOMPC,1 F0G23000 ADD L(1) F0G23010 STA L1 L1 F0G23020 CLA LCOMMN,1 F0G23030 ADD L(1) F0G23040 STA L2 L2 F0G23050 CDMPA CLA L(G) F0G23060 STO FMTCC SET F0G23070 CAL FMCMN+1 FORMAT F0G23080 ARS 6 TO G OR O F0G23090 ALS 6 F0G23100 ORA FMTCC F0G23110 SLW FMCMN+1 F0G23120 PXD 0,0 F0G23130 LDQ NNL NUMERATOR F0G23140 TQP *+2 F0G23150 TRA LISTC+1 NNL WAS NEGATIVE- IE L2 IS LESS THAN L1 F0G23160 DVP L(6) NL = NNL/6 + 1 IF REMAINDER F0G23170 TZE *+4 F0G23180 XCA F0G23190 ADD L(1) F0G23200 XCA F0G23210 TSX TOBCD,4 CONVERT TO BCD F0G23220 PZE FMCMN AND F0G23230 LDQ FMCMN PRECEED F0G23240 LGL 12 BY F0G23250 CAL SLASH SLASH F0G23260 LGL 30 F0G23270 ORA LPAR FOLLOW BY ( F0G23280 SLW FMCMN F0G23290 LXA FMTCP,1 GENERATE F0G23300 TXL EXIT+1,1,-NEFMTT+2 FORMAT TOO LARGE F0G23310 LXA L(3),2 FORMAT F0G23320 CLA FMCMN+3,2 F0G23330 STO FMT,1 F0G23340 TXI *+1,1,-1 F0G23350 TIX *-3,2,1 F0G23360 SXA FMTCP,1 SAVE FORMAT TAG F0G23370 SXD CCNT,0 RESET CHAR COUNTER F0G23380 LXA L1,2 PLACE F0G23390 SXA CMDMP+3,2 ADDRESSES F0G23400 LXA L2,2 IN F0G23410 SXA CMDMP+6,2 COMPILED F0G23420 LXA U,2 INSTRUCTIONS F0G23430 SXD CMDMP+11,2 F0G23440 LXD COMTG,1 COMPILE F0G23450 LDQ BPCMDP INSTRUCTIONS F0G23460 L(12) AXT 12,2 F0G23470 TSX COMPLE,4 F0G23480 PZE CMDMP+12,2 F0G23490 TRA EXIT F0G23500 * F0G23510 REM SUBSCRIPTED COMMON F0G23520 CDMPB SXA CDMPE,1 F0G23530 TSX C0150,2 GET FIRST SUBSCRIPT. F0G23540 LDQ I F0G23550 TQP *+2 NUMERIC F0G23560 TSX CDMPD,4 SYMBOL, CONVERT TO SUBSCRIPT F0G23570 TSX CACMD,4 F0G23580 CLA 1G F0G23590 STA S1 F0G23600 TSX C0150,2 GET S2 F0G23610 LDQ I F0G23620 TQP *+2 F0G23630 TSX CDMPD,4 SYMBOL, CONVERT TO SUBSCRIPT F0G23640 SUB RPAR F0G23650 TNZ MTCB NOT FOLLOWED BY ) F0G23660 CLA 1G F0G23670 STO S2 F0G23680 LDQ S1 INSURE S1 F0G23690 TLQ *+4 LESS THEN S2 F0G23700 STQ S2 INTERCHANGE F0G23710 STO S1 SUBSCRIPTS F0G23720 CLA S2 F0G23730 SUB S1 F0G23740 ADD L(1) F0G23750 STO NNL F0G23760 CLA UMC8,1 F0G23770 SUB S1 F0G23780 ADD L(1) F0G23790 STA U U F0G23800 CLA UMC8,1 F0G23810 SUB S2 F0G23820 ADD L(1) F0G23830 STO L1 L1 F0G23840 CLA UCOMMN,1 F0G23850 SUB S2 F0G23860 ADD L(1) F0G23870 STO L2 L2 F0G23880 TSX C0190,4 F0G23890 TSX MTC,2 CHECK END OF FIELD F0G23900 TRA CDMPA F0G23910 CDMPD TXH MTC-1,1,0 SPECIAL VARIABLE ILLEGAL. F0G23920 SXA CDMPF,4 F0G23930 CLA 1G F0G23940 TSX STSCH,4 F0G23950 TRA MTCB NOT IN SYMBOL TABLE. F0G23960 CAL STBL-1,1 F0G23970 ANA MSK1 F0G23980 STO TEMP F0G23990 CLA 1H F0G24000 SUB LPAR F0G24010 TNZ CDMPE-1 NOT SUBSCRIPTED. F0G24020 TSX C0180,2 F0G24030 SUB RPAR F0G24040 TNZ MTCB F0G24050 TSX C0190,4 GET NEXT PUNCTUATION. F0G24060 STO 1H F0G24070 CLA TEMP F0G24080 SUB 1G F0G24090 ADD L(1) F0G24100 TRA CDMPE F0G24110 CLA TEMP F0G24120 CDMPE AXT **,1 F0G24130 CAS LCOMPC,1 F0G24140 TRA *+1 GREATER THAN LOWEST DATA. F0G24150 CAS UMC8,1 EQUAL LOWEST DATA. F0G24160 TRA MTCB LESS THAN LOWEST, GREATER THEN HIGHEST. F0G24170 TRA *+1 EQUAL HIGHEST DATA. F0G24180 SSM LESS THAN HIGHEST F0G24190 ADD UMC8,1 F0G24200 ADD L(1) F0G24210 STO 1G F0G24220 CLA 1H F0G24230 CDMPF AXT **,4 F0G24240 TRA 1,4 F0G24250 * F0G24260 ODMP CLA L(O) F0G24270 STO FMTCC F0G24280 SXA VI,4 SET VI TO NON ZERO F0G24290 CLA 1H F0G24300 CAS LPAR F0G24310 TRA *+2 F0G24320 TRA ODMPC SUBSCRIPTED F0G24330 TSX MTC,2 NO SUBSCRIPT-CHECK FOR END OF FIELD F0G24340 CLA STHW F0G24350 STA L1 F0G24360 STA L2 F0G24370 CLA UMC8 F0G24380 STA U F0G24390 LDQ L1 INSURE L1,L2 F0G24400 TLQ *+5 LESS THAN U F0G24410 STQ U INTERCHANGE F0G24420 STO L1 (L1,L2),U F0G24430 STO L2 F0G24440 CLA U F0G24450 ODMPA SUB L1 GET NNL F0G24460 ADM L(1) F0G24470 STO NNL F0G24480 TRA CDMPA+2 F0G24490 ODMPC TSX FSAA-1,2 F0G24500 CLA TEMP F0G24510 STA L1 GET L1,L2 F0G24520 STA L2 F0G24530 CLA 1H F0G24540 TSX CACMD,4 F0G24550 TSX FSAA-1,2 F0G24560 CLA 1H F0G24570 SUB RPAR F0G24580 TNZ MTCB F0G24590 TSX C0190,4 F0G24600 TSX MTC,2 F0G24610 CLA TEMP F0G24620 TRA ODMPA-7 F0G24630 BDMP CLA L(A) F0G24640 TRA ODMP+1 F0G24650 DDMP CLA L(G) F0G24660 TRA ODMP+1 F0G24670 * F0G24680 REM RIGHT PARENTHESES ENCOUNTERED F0G24690 PE CAL 1G F0G24700 ZET I F0G24710 ARS 30 I = -1 ALPHA F0G24720 ALS 6 I = 0 F0G24730 ORA RPAR C) OR 1) F0G24740 SLW TEMP+5 F0G24750 TSX C0160X,2 GET NEXT FIELD IN BCD F0G24760 LDQ 1G F0G24770 CAL TEMP+5 F0G24780 LGR 12 F0G24790 STQ 1G 1G = C) XXB-OR 1) 1B F0G24800 PEA CLA 1H F0G24810 TSX MTC,2 CHECK LEGAL END F0G24820 PEC CLA 1G F0G24830 TSX STSCH,4 SEARCH SYMBOL TABLE F0G24840 TRA MTCB MOVE TO COMMA F0G24850 TSX STAA,4 ADJUST ADDRESS F0G24860 TSX RGHTA,4 PREPARE NAM F0G24870 SLW NAM AND SUBS F0G24880 STZ SUBS FOR FORMAT F0G24890 ZET I F0G24900 TRA EXIT-9 GO COMPILE SINGLE CELL F0G24910 PED CLA STBL-1,1 GET F0G24920 STZ TEMP+6 F0G24930 STA TEMP+6 RANGE F0G24940 CAL STBL+1,1 OF F0G24950 PDX 0,2 TYPE OF SYMBOL F0G24960 TXH *+2,2,0 USE UMC8-2 IF NO PROG DATA F0G24970 CAL UMC8-2 F0G24980 ANA MSK1 1) TYPE F0G24990 SUB TEMP+6 F0G25000 STA EDATA F0G25010 ADD TEMP PLACE F0G25020 STA EDATA+1 LDQ ADDRESS F0G25030 LXA EDATA,2 F0G25040 TXL EXIT-9,2,1 GO FOR SINGLE CELL F0G25050 CLA PLUS F0G25060 STO LPAR ADJUST F0G25070 CLA FMTCP+11 FOR + INSTEAD OF( ) F0G25080 STO FMTCP+7 F0G25090 PEE SXD S2,2 F0G25100 TSX NSTB,4 GENERATE FORMAT F0G25110 LXD S2,2 F0G25120 CAL SUBS F0G25130 ADD L(1) F0G25140 CVR CVRT1,0,6 UPDATE ADDEND F0G25150 SLW SUBS F0G25160 TIX PEE,2,1 F0G25170 CLA XLPAR F0G25180 STO LPAR RESTORE F0G25190 CLA PE+3 FOR NORMAL ARRAY F0G25200 STO FMTCP+7 DUMPING F0G25210 L(4) AXT 4,2 F0G25220 LXD COMTG,1 F0G25230 LDQ BPEDT F0G25240 TSX COMPLE,4 F0G25250 PZE EDATA+4,2 F0G25260 TRA EXIT F0G25270 * F0G25280 REM CONSTANTS F0G25290 L(1) DEC 1 F0G25300 L(2) DEC 2 F0G25310 L(3) DEC 3 F0G25320 L(6) DEC 6 F0G25330 L(8) DEC 8 F0G25340 L(9) DEC 9 F0G25350 NO BCI 1,NO F0G25360 L(IF) BCI 1,IF F0G25370 YES BCI 1,YES F0G25380 L(O) BCD 100000O F0G25390 L(G) BCI 1,00000G F0G25400 L(A) BCD 100000A F0G25410 MSK1 OCT 77777 F0G25420 MSK2 OCT 347777777777 F0G25430 BLANKS BCD 1 F0G25440 ABLANK BCD 100000 F0G25450 LCLAM1 CLA TOPMEM $F0G25451 LCLAM2 CLA TOPMEM-1 $F0G25452 LLDQM3 LDQ TOPMEM-2 $F0G25453 LLDQM4 LDQ TOPMEM-3 $F0G25454 REM INSTRUCTION TEST F0G25460 DUP 1,3 F0G25470 IITEST OCT 77700000000 F0G25480 SLW SLW 0 FOR BOOLEA N F0G25490 STO STO 0 F0G25500 STQ STQ 0 F0G25510 DUP 1,3 F0G25520 NOADDC OCT 77700000000 F0G25530 CAL CAL 0 F0G25540 TRA TRA 0 F0G25550 TZE TZE 0 F0G25560 TXI TXI 0,0,0 F0G25570 ITEST BSS 0 F0G25580 * F0G25590 REM LOCATIONS FOR SYMBOL FORMATION ETC F0G25600 RESIDU F0G25610 1G DEC 0,0 CONVERTED FIELD $F0G25620 I +0 = NUMERIC -0 = NON NUMERIC F0G25630 N1 F0G25640 N2 F0G25650 N3 F0G25660 REM DATA CONCERNING SYMBOL TABLE (* SUPPLIED BY MONITOR) F0G25670 LPROGD LOWER ABSOLUTE PROGRAM DATA F0G25680 LC PZE 0,1 LOCATION COUNTER (P.B + LADD) INITIALLY F0G25690 LCP EQU LC F0G25700 PZE UPPER ERASEABLE (REL) LAST LOC F0G25710 PZE PROGRAM BREAK-1 OF TOTAL F0G25720 UMC8 PZE IUPCM $F0G25730 PZE LOWER ERASEABLE-1 (REL) FIRST LOC F0G25740 PZE LOWER PROG DATA-1 (REL) OF TOTAL F0G25750 LCOMPC * LOWER COMMON ON PROG CARD ARRAY DUMP F0G25760 PZE LOWER ERASEABLE-1 (ABS) FIRST LOC F0G25770 PZE LOWER PROGRAM DATA-1 (ABS) COPIED OF F0G25780 LCOMMN * LOWER ABS COMMON-1 TOTAL ARRAY DMF0G25790 PZE UPPER ERASABLE (ABS) F0G25800 PZE UPPER ERASABLE (ABS) F0G25810 PZE PROGRAM BREAK-1 + LOADING ADDRESS F0G25820 UCOMMN * UPPER ABSOLUTE COMMON F0G25830 * F0G25840 REM DATA FOR STABLE SUBPROGRAM F0G25850 SWTBLE BSS 50 DEC = EXIT ADD = ENTR TO SNAP F0G25860 SWTBLN NO OF ENTRIES IN SWTBLE F0G25870 REM IF DATA F0G25880 VI F0G25890 IFINS CLA 0 F0G25900 PZE 0 F0G25910 TZE 0 F0G25920 TMI 0 F0G25930 TPL 0 F0G25940 PZE 0 F0G25950 TRA 2 F0G25960 BPIF PZE F0G25970 REM EFN DATA F0G25980 EFNCT NO OF EFN FOR A GIVEN SUB-PROG F0G25990 EFNTAG DEC = TAG ENTRY F0G26000 DEC ,,,,,,,,,0 TABLE OF EFN FOR SNAPS (BCD) $F0G26010 EFNTB EQU * SYMBOL TO REFERENCE ABOVE $F0G26011 DEC ,,,,,,,,,0 RETURN ADDRESS FOR CORR EFN $F0G26020 EFNRT EQU * SYMBOL TO REFERENCE ABOVE $F0G26021 TRA2 TRA 0 EXIT FROM SNAP F0G26030 COMTG COMPILING TAG F0G26040 CEFN CURRENT EFN IN BCD F0G26050 EFNCX ADD OF BEGINNING EFN F0G26060 REM COMPILED INSTRUCTIONS F0G26070 L(TR2) TRA 2 F0G26080 L(STR) STR F0G26090 REM COUNTER TEST INSTRUCTIONS F0G26100 L(CNI) AXT 0,1 0 F0G26110 TXI 1,1,1 1 1 F0G26120 SXA -2,1 1 F0G26130 TXL **,1,** CNS,(N1-1)0 3 F0G26140 TXH **,1,** CNS,N2 0 4 F0G26150 TXH 2,1,** (N1-1) 1 5 F0G26160 TXI **,0,0 CNS 0 6 F0G26170 TXI 1,1,** (N3-1) 1 7 F0G26180 SXD -3,1 1 8 F0G26190 TRA 2 F0G26200 BPCNR OCT 313000000000 F0G26210 REM FORMAT + LIST F0G26220 15H BCD 115H F0G26230 NAM F0G26240 SUBS F0G26250 FMTAG F0G26260 ESL BCI 1,G15.7/ F0G26270 ECM BCI 1,G15.7, F0G26280 SLASH BCD 100000/ F0G26290 CCNT F0G26300 ARRAY AXT **,1 0 S1 F0G26310 LXA 2,4 1 1 F0G26320 SXD 8,4 2 1 F0G26330 PXD **,1 3 0 S1+5 F0G26340 XCA 4 0 F0G26350 STR 5 0 F0G26360 LDQ **,1 6 0 F0G26370 STR 7 0 F0G26380 TXI 1,1,1 8 1 F0G26390 TXH 5,1,** 9 1 S2 F0G26400 TXL -4,1,** 10 1 S1+5 INITIALLY F0G26410 TXI 1,1,5 11 1 F0G26420 SXD -2,1 12 1 F0G26430 TXI -10,1,-5 13 1 F0G26440 BPARY OCT 301760000000 F0G26450 ARRFI F0G26460 BCD 1 (7H F0G26470 PZE F0G26480 BCI 1,I5,6G1 F0G26490 BCD 18.7/), F0G26500 ARRFR BCD 1 7H F0G26510 PZE F0G26520 BCD 1I5, F0G26530 BCI 1,G18.7/ F0G26540 SIGCL LDQ ** F0G26550 STR F0G26560 MAINW BCD 1MAIN F0G26570 FMTCC F0G26580 FMT BCD 7(32H0 EFN COUNTI6//1P F0G26590 BSS NEFMTT-7 F0G26600 STHW TSX ORIGIN,4 F0G26610 FMTL PZE ** F0G26620 FIL TSX ORIGIN+1,4 F0G26630 REM INSTRUCTIONS FOR PLACING TAPE NO IN AC F0G26640 CALTN CAL 2 F0G26650 TRA 2 F0G26660 PZE 0,0,TAPOUT F0G26670 BPCALT TNX 0,0,0 F0G26680 REM INSTRUCTIONS FOR COUNTER PRINT F0G26690 CNTOUT LXA **,1 F0G26700 PXD 0,1 F0G26710 XCA F0G26720 STR F0G26730 FMCMN PZE F0G26740 BCI 1,O11,6G F0G26750 BCD 118.7/) F0G26760 REM INST FOR COMMON DUMP F0G26770 CMDMP AXT 0,4 0 F0G26780 LXA 2,1 1 F0G26790 PXA 0,1 0 F0G26800 XCL ** 0 L1 IN ADDRESS F0G26810 STR 0 F0G26820 AXT 6,2 0 F0G26830 LDQ **,4 0 L2 IN ADDRESS F0G26840 STR 0 F0G26850 TXI 1,4,-1 1 F0G26860 TIX -3,2,1 1 F0G26870 TXI 1,1,6 1 F0G26880 TXL -9,1,** 1 U IN DEC F0G26890 BPCMDP OCT 201700000000 F0G26900 REM L1 = P.C. + 1 FOR UN-SUBSCRIPTED (LCOMPC+1) F0G26910 REM L1 = 77462-S2 + 1 FOR SUBSCRIPT F0G26920 REM L2 = ABS LCOM. + 1 FOR UNSUBSCRIPTED (LCOMMN+1) F0G26930 REM L2 = ABS UCOM.-S2 + 1 FOR SUBSCRIPT (UCOMMN-S2+1) F0G26940 REM U = 77462 FOR UNSUBSCRIPTED F0G26950 REM U = 77462-S1 + 1 FOR SUBSCRIPTED F0G26960 TSPCH BCD 1COMMON F0G26970 BCD 1PROGRA F0G26980 BCD 1ERASAB F0G26990 BCD 1ERASEA F0G27000 BCD 1OCTALD F0G27010 BCD 1BCDDUM F0G27020 BCD 1DECIMA F0G27030 BSS 7 F0G27040 NL F0G27050 NNL F0G27060 U F0G27070 L1 F0G27080 L2 F0G27090 S1 F0G27100 S2 F0G27110 ESPCH TRA CDMP F0G27120 TXI CDMP,1,1 F0G27130 TXI CDMP,1,2 F0G27140 TXI CDMP,1,2 F0G27150 TRA ODMP F0G27160 TRA BDMP F0G27170 TRA DDMP F0G27180 BSS 7 F0G27190 REM FOR ERASEABLE F0G27200 XLPAR BCD 100000( F0G27210 EDATA AXT **,1 F0G27220 LDQ **,1 F0G27230 STR F0G27240 TIX -2,1,1 F0G27250 BPEDT ADD 0 F0G27260 REM CONVERSION TABLE FOR BCD ADDITION. $F0G27270 DUP 1,10 $F0G27280 CVRT1 VFD 6/*-CVRT1,30/CVRT1 $F0G27290 DUP 1,10 $F0G27300 VFD 6/*-CVRT1-10,30/CVRT1+1 $F0G27310 * PATCH SPACE FROM HERE TO NDBG $F0G27470 PATCHD CLA IM+3,1 STORE PROGRAM DATA ORIGIN (20)F0G27471 STA STBLE IN SYMBOL TABLE (20)F0G27472 TRA LST+7 TIMES TWO (20)F0G27473 BSS 47 PATCH SPACE (20)F0G27474 NDBG EQU * F0G27580 REM TABLES ETC NEEDED FOR SEARCH OF D-TABLES F0G27590 STBL BES NESYTB F0G27600 STBLE BSS 1 NO. OF SYMBOLS IN SYMBOL TABLE F0G27610 BSS 1 ADDRESS=2* NUMBER OF SUBPROGRAMS TO SNAP F0G27620 DTBLS BSS NEDBTB STORAGE FOR DEBUG TABLES F0G27630 ENDBG EQU * F0G27640 TCD -1 $F0G27645 TTL RECORD 8 OR 33 BSS CONTROL F0H00000 ABS $F0H00010 LBL 9F08,H F0H00030 ORG SYSCUR $F0H00040 IFF WHICH $F0H00046 LBL 9F33,LIST $F0H00047 IFF WHICH,Z $F0H00048 LBL 9F08,LIST $F0H00049 IFF WHICH $F0H00050 BCI 1,9F3300 $F0H00052 IFF WHICH,Z $F0H00054 BCI 1,9F0800 $F0H00056 ORG (LODR) $F0H00060 IFF WHICH $F0H00070 TXI ENTBS,,330 ENTRY POINT,,RECORD NO. $F0H00072 IFF WHICH,Z $F0H00074 TXI ENTBS,,80 ENTRY POINT,,RECORD NO. $F0H00076 REM F0H00090 LLIST EQU ENDBG $F0H00100 NMMSP EQU 50 MAXIMUM NUMBER OF MISSING ROUTINES F0H00110 FMR EQU LLIST-NMMSP LOCATION OF FIRST MISSING SUBROUTINE F0H00120 BUFSIZ EQU 28 BUFFER SIZE F0H00130 PRCBRK EQU BOTTOM-1 PROG. BREAK IN DEC., COMMON IN ADDRESS F0H00140 REM F0H00160 * F0H00170 ORGBSS ORG LLIST+1 F0H00180 ENTBSS RFT 400000 IS THERE DEBUG $F0H00200 TRA *+4 YES. LOADING TABLES ALREADY CLEARED. F0H00210 AXT TABL-BOTTOM+1,1 NO. CLEAR TO TOP OF F0H00220 STZ TABL+1,1 LOADING TABLES F0H00230 TIX *-1,1,1 F0H00240 LFT 2 IS THIS A CHAIN JOB F0H00250 TRA CHENT YES. F0H00260 RNT 200000 IS THERE BINARY INPUT F0H00270 TRA EOFA2 NO F0H00280 TRA L YES, A2 INPUT (TAPE 5) F0H00290 CHENT SIL 1 SET FLAG TO INDICATE BSS $F0H00300 STI* (FGBX) HAS BEEN READ IN. $F0H00310 AXT 8,1 SET UP TO READ B1. F0H00320 AXT 0,2 F0H00330 * F0H00340 INITL SXD RDTPN,1 TAPE NUMBER F0H00350 PXD ,0 F0H00360 TXL *+3,1,4 F0H00370 TXH *+2,1,5 F0H00380 CAL BSRCW IF TAPE 5 SET SIGN MINUS IN ERROR RETURN F0H00390 STP RDTPN+1 F0H00400 TXI *+1,1,(SCHU) F0H00410 SXA TEOF,1 F0H00420 SXA RDTPN,2 LABEL F0H00430 INITB AXT INITS+1,1 SET UP TO READ 2 BUFFERLOADS INITIALLY F0H00440 SXA INITS,1 F0H00450 * F0H00460 L ZET LIBSW $F0H00461 TRA RDLIB READ LIBRARY $F0H00462 * READ INTO ALTERNATE BUFFERS F0H00470 AXT 0,1 $F0H00480 NZT BUFPOS F0H00490 AXT -BUFSIZ-1,1 F0H00500 SXD BUFPOS,1 F0H00510 TSX (TAPE),4 F0H00520 BUF2CW,1,(RBEP) F0H00530 RDTPN ,,MINTAP $F0H00540 MZE RDERR F0H00550 INITS TRA *+1 F0H00560 AXT TEOF,1 1ST TIME THROUGH READ 2ND BUFFERLOAD F0H00570 SXA INITS,1 F0H00580 TRA L GO BACK TO FILL OTHER BUFFER F0H00590 * F0H00600 TEOF NZT (SCHU)+MINTAP WAS PREVIOUS READ AN END OF FILE. $F0H00610 TRA EOF YES F0H00620 REM HERE TO START CARD PROCESSING (KNOWN TO BE BINARY AND F0H00630 REM NON-BLANK) F0H00640 LBIN LDI IM,1 9L F0H00650 RIL 500 REMOVE COL BIN BITS FROM WORD COUNT F0H00660 STI WDCNT F0H00670 LXD WDCNT,2 F0H00680 TXL ABSTC,2,0 NO WORD COUNT. TEST FOR ABS TRANSFER CARD. F0H00690 TXH ILLCD,2,32 SELF LOADER ILLEGAL F0H00700 LFT 400000 F0H00710 TRA TSTPC PROGRAM CARD OR SYMBOL TABLE F0H00720 STZ MULPC NOT PROG CARD F0H00730 LNT 200000 F0H00740 TRA SUM ABSOLUTE CARD F0H00750 LNT 40 CONTROL CARD PUNCH IN COL 13 F0H00760 TXI TSTSK,2,2 INCREASE WORD COUNT FOR REL CARD F0H00770 LDI* (FGBX) THIS IS CONTROL CARD. $F0H00780 RFT 400000 IS THERE DEBUG. F0H00790 TSX TSSWT,4 YES. F0H00800 CLA IM,1 F0H00810 STA T PROGRAM BREAK F0H00820 ADD S ADDED TO ABS LOC COUNTER F0H00830 STA S F0H00840 CLA IM+1,1 9R F0H00850 STA COMN COMMON F0H00860 TRA L GET NEXT CARD F0H00870 TSTPC LFT 200000 F0H00880 LOSYM TRA STENT SYMBOL TABLE. F0H00890 ZET MULPC IS THIS A FIRST OR CONTINUATION PC F0H00900 TRA SUM CONTINUATION $F0H00910 FIRST TRA SAV8L FIRST PC,INITIALIZE 8L+8R (31)F0H00920 STO 8R (31)F0H00925 LDI* (FGBX) $F0H00930 RFT 400000 IS THERE DEBUG. F0H00940 TSX TSSWT,4 YES. F0H00950 LDI IM,1 F0H00960 CLA IM+4,1 F0H00970 STO SNAME F0H00980 TSTSK ZET SKIP IS SIGNAL SET TO SKIP F0H00990 TRA L YES, GET NEXT CARD F0H01000 SUM ZET IM+1,1 9R F0H01010 LFT 100000 F0H01020 TRA SUMOK IGNORE CHECKSUM F0H01030 * CAL IM,1 F0H01040 ACL IM+2,1 COMPUTE CHECKSUM F0H01050 TXI *+1,1,-1 F0H01060 TIX *-2,2,1 F0H01070 LXD BUFPOS,1 RESTORE IR1 F0H01080 ERA IM+1,1 F0H01090 TNZ SUMNG CHECKSUM NO GOOD F0H01100 * NOP * NOP * NOP * NOP * NOP * NOP * NOP SUMOK LXD WDCNT,2 RESTORE WORD COUNT F0H01110 LFT 400000 F0H01120 TRA PRCD PROGRM CARD F0H01130 LNT 200000 F0H01140 TRA ABSCD ABSOLUTE CARD F0H01150 * LOAD REL CARD F0H01160 CLA IM,1 9L F0H01170 STA R F0H01180 CLS R COMPARE RELATIVE LOAD $F0H01190 ADD T ADDRESS WITH PROGRAM BREAK $F0H01191 TMI LDCMN HIGHER,LOADS COMMON $F0H01192 SUB S COMPUTE LOAD ORIGIN $F0H01193 STA TMPR ABS LOADING ADDRESS F0H01200 LDQ IM+3,1 8R F0H01210 CLA IM+2,1 8L F0H01220 STO LLB F0H01230 LRD CLA LLB EXAMINE F0H01240 LGL 1 NEXT BIT F0H01250 SLW LLB TO DETERMINE DEC RELOCATION F0H01260 TPL LRE IGNORE F0H01270 CLA IM+4,1 RELOCATE F0H01280 ARS 18 DECREMENT F0H01290 TSX CB,4 AND F0H01300 ALS 18 STORE F0H01310 STD IM+4,1 F0H01320 LRE CLA LLB CHECK FOR F0H01330 LGL 1 ADDRESS RELOCATION F0H01340 SLW LLB F0H01350 TPL LRF IGNORE F0H01360 CLA IM+4,1 RELOCATE F0H01370 TSX CB,4 ADDRESS F0H01380 STA IM+4,1 F0H01390 LRF TXI *+1,1,-1 NEXT WORD F0H01400 TIX LRD,2,1 F0H01410 LXD WDCNT,2 RESTORE WORD COUNT F0H01420 PXA 0,2 F0H01430 ADM TMPR F0H01440 STA LRG F0H01450 LXD BUFPOS,1 F0H01460 CLA IM+4,1 MOVE IM F0H01470 LRG STO **,2 F0H01480 TXI *+1,1,-1 F0H01490 TIX LRG-1,2,1 F0H01500 TRA L GET NEXT CARD F0H01510 ABSCD TXH ILLCD,2,22 WORD COUNT GREATER THAN 22 ILLEGAL F0H01520 CLA IM,1 F0H01530 STA TMPR F0H01540 PXA 0,2 F0H01550 ADM TMPR F0H01560 STA ABSCD2 F0H01570 ABSCD1 CLA IM+2,1 F0H01580 ABSCD2 STO **,2 LOAD ABSOLUTE CARD F0H01590 TXI *+1,1,-1 F0H01600 TIX ABSCD1,2,1 F0H01610 TRA L F0H01620 ABSTC LFT 677777 IS THIS ABSOLUTE TRANSFER CARD. F0H01630 TRA L NO. IGNORE CARD WITH ZERO WORD COUNT. F0H01640 CLA IM,1 YES. F0H01650 STA PROG STORE ABSOLUTE TRANSFER ADDRESS. F0H01660 TRA L GET NEXT CARD. F0H01670 * F0H01680 REM PROCESS PROGRAM CARDS F0H01690 PRCD SXA LPG,2 WORD COUNT ON PROGRAM CARD F0H01700 TRA PATCH2 (25)F0H01710 PRCD0 ZET MULPC IS THIS A CONTINUATION PC (25)F0H01720 TXI *+2,1,2 YES, FIRST ENTRY POINT NAME IS 8L (25)F0H01730 TXI *+1,2,-2 FIRST PC, ENTRY PT NAMES START AT 7L (25)F0H01740 STZ NLDD (25)F0H01750 PRCD1 CLA IM+4,1 F0H01760 TSX CKPL,4 F0H01770 TRA PRCD3 F0H01780 STL NLDD F0H01790 PRCD2 TXI *+1,1,-2 F0H01800 TIX PRCD1,2,2 F0H01810 TESTPC TRA PATCH3 TEST PC FOR UNIQUE ENTRY PTS. (31)F0H01820 LXA LPG,2 (31)F0H01830 LXD BUFPOS,1 (31)F0H01840 PPRCD LDI* (FGBX) (31)F0H01850 ZET LIBSW IS THIS LIBRARY SEARCH (31)F0H01860 TRA LSPC YES (31)F0H01870 STZ SKIP (31)F0H01880 RNT 400000 IS THERE DEBUG. F0H01890 TRA LPC NO. F0H01900 CLA SNAME F0H01910 SUB STNME F0H01920 STL SSWT F0H01930 TZE LPC F0H01940 STZ SSWT F0H01950 STZ STBLE F0H01960 LPC LXD TAG,4 TAG FOR STORING LOC. OF VECTOR F0H01970 PXD 0,2 F0H01980 ADM TAG TAG = TXL VEC, 2, ** F0H01990 STD TAG DEC = NO ENTRIES + OLD ENTRIES F0H02000 PDC ,2 F0H02010 TXI *+1,2,TABL F0H02020 SXA OVLP,2 F0H02030 LXA LPG,2 F0H02040 TRA PATCH5 (31)F0H02050 PROC NZT 8L (31)F0H02060 TRA LPFA MULTIPLE PC,8L IS NAME (31)F0H02070 SXA LPG,2 F0H02080 CLA S LOCATION OF THIS VECTOR F0H02090 LDQ 8R LOAD 4TH WORD OF 1ST PROGRAM CARD (31)F0H02091 TQP *+5 IS EVEN LOADING REQUIRED,NO. $F0H02092 LBT YES,IS ADDRESS ALREADY EVEN.. $F0H02093 TRA *+3 YES $F0H02094 ADD SKRCW NO, ADD ONE $F0H02095 STA S AND STORE NEW LOAD ADDRESS $F0H02096 STA TABL,4 F0H02100 STZ TABL-1,4 F0H02110 STA LADD F0H02120 CLA 8L 3RD WORD OF FIRST PROGRAM CARD (31)F0H02130 ANA TMSK CLEAR TAG FIELD. F0H02140 STD TABL-1,4 STORE NO IN VECTOR F0H02150 STA T PROGRAM BREAK F0H02160 ADD S ABSOLUTE F0H02170 STA S PROGRAM BREAK F0H02180 PDX 0,2 F0H02190 ANA TMSK1 CLEAR EVERYTHING BUT TAG FIELD. F0H02200 TNZ PTOVL PROGRAM TOO LARGE. F0H02210 TXH *+3,2,0 F0H02220 ORA PRMSK NO VECTOR F0H02230 STP TABL-1,4 F0H02240 CLA 8R (31)F0H02260 RFT 400000 IF DEBUGGING STORE F0H02270 STA LCOMPC LOWER COMMON ON PROGRAM CARD F0H02280 TZE LPF DETERMINE COMMON DATA ASSIGNMENT F0H02290 ACL COMN $F0H02300 ANA ADMSK RETAIN ADDRESS ONLY (33)F0H02310 RFT 400000 IF DEBUGGING STORE LOWEST F0H02330 STA LCOMMN ABSOLUTE COMMON-1 IN LCOMMN F0H02340 CAS LCOMN AND F0H02350 LPF CLA LCOMN STORE F0H02360 NOP LOWEST F0H02370 STA LCOMN COMMON F0H02380 SUB S F0H02390 TMI PDOVL PROGRAM AND DATA OVERLAP F0H02400 STZ 8L PC PROCESSED, RESET 8L (31)F0H02401 NOP (31)F0H02403 LXA LPG,2 F0H02410 LPFA CLA S F0H02420 LDQ OVLP F0H02430 TLQ PTOVL PROGRAM AND TABLES OVERLAP F0H02440 CAL IM+5,1 F0H02450 ADD LADD ENTRY F0H02460 STA IM+5,1 POINTS F0H02470 TXI *+1,1,-2 F0H02480 TIX *-4,2,2 F0H02490 LXD BUFPOS,1 MOVE F0H02500 LXD TAG,4 IM F0H02510 TXI *+1,4,-1 TO F0H02520 ZET MULPC F0H02530 TXI *+1,1,2 MODIFY IRA FOR MULTIPLE PROGRAM CARD F0H02540 LPG AXT **,2 TABL F0H02550 CLA IM+4,1 F0H02560 STO TABL,4 F0H02570 TXI *+1,4,-1 F0H02580 TXI *+1,1,-1 F0H02590 TIX LPG+1,2,1 F0H02600 STL MULPC SET MULPC TO NON ZERO F0H02610 TRA L GET NEXT CARD F0H02620 PRCD3 CLA PRMSK F0H02630 STO IM+4,1 F0H02640 TRA PRCD2 F0H02650 * F0H02660 REM ROUTINE FOR ADJUSTING REL FIELD WHILE LOADING F0H02670 REM UM WITH 10 BIT = LM WITH 11 BIT = ADD + CR F0H02680 REM LM WITH 10 BIT = UM WITH 11 BIT = ADD + BASE F0H02690 CB STA R F0H02700 CLA LLB F0H02710 LGL 1 F0H02720 SLW LLB F0H02730 TMI LTA F0H02740 LT SLN 1 F0H02750 LTA CLS R F0H02760 ADD T F0H02770 TPL ADDS F0H02780 SLT 1 F0H02790 TRA PROGRM F0H02800 LDATA CLA R F0H02810 ADM COMN F0H02820 TRA 1,4 F0H02830 ADDS SLT 1 F0H02840 TRA LDATA F0H02850 PROGRM SUB S F0H02860 TRA 1,4 F0H02870 * F0H02880 REM ROUTINE TO SEE IF PROGRAM ALREADY IN CORE. F0H02890 REM RETURNS 1,4 IF ALREADY LOADED OR 2,4 IF NOT F0H02900 CKPL SXA CKPLR,4 F0H02910 LXD TAG,4 F0H02920 CKPL4 TXL CKPLR,4,0 OMIT CHECK FOR NO ENTRIES F0H02930 TXI *+1,4,-1 F0H02940 CKPL2 CAS TABL,4 F0H02950 TRA *+2 F0H02960 TRA CKPL1 PROGRAM ALREADY LOADED F0H02970 CKPL3 TXL CKPLR,4,2 F0H02980 TXI CKPL2,4,-2 F0H02990 CKPLR AXT **,4 NOT IN F0H03000 TRA 2,4 F0H03010 CKPL1 LXA CKPLR,4 F0H03020 TRA 1,4 F0H03030 * SKIP CARDS TO NEXT PROGRAM CARD F0H03040 SKPPR STL SKIP SET SWITCH TO SKIP (25)F0H03050 STL MULPC SET SWITCH FOR CONTINUATION PC (25)F0H03060 TRA L F0H03070 * ROUTINE TO CHANGE (STH), (TSH), (EXE) TO (STHM), (TSHM), (EXEM) F0H03080 ADDM CAS STH F0H03090 TRA *+2 F0H03100 CLA STHM F0H03110 CAS TSH F0H03120 TRA *+2 F0H03130 CLA TSHM F0H03140 CAS EXE F0H03150 TRA *+2 F0H03160 CLA EXEM F0H03170 TRA 1,4 F0H03180 * F0H03190 REM START PASS 2 -REPLACE BCD TRANSFER VECTOR BY TTR F0H03200 TDBLP STZ B4LD EOF WAS HIT ON LOGICAL 4 $F0H03201 LDI* (FGBX) $F0H03202 RFT 400000 ARE THERE DEBUG CARDS $F0H03203 TSX TSSWT,4 YES $F0H03204 STZ FMR CLEAR LOCATION OF FIRST MISSING ROUTINE $F0H03205 SPS2 AXT 0,2 SET IR B FOR PASS2 F0H03210 TRA PASS2 F0H03220 VEC CAL TABL+1,2 F0H03230 TNZ G3 F0H03240 CLA TABL+2,2 MAIN F0H03250 STA PROG STORE TRA ADDRESS F0H03260 TRA PASS2 F0H03270 G3 ANA PRMSK F0H03280 TNZ PASS2 BCD OR NO TRA VECTOR F0H03290 CLA TABL+1,2 NUMBER F0H03300 PDX 0,4 IN VECTOR TO IRC F0H03310 ARS 18 PLUS F0H03320 ADM TABL+2,2 LOCATION OF VECTOR F0H03330 STA BA F0H03340 NXTVC LXD TAG,1 F0H03350 BA CAL **,4 BCD NAME IN VECTOR F0H03360 ANA PRMSK F0H03370 TZE TIXVEC NOT BCD F0H03380 CLA* BA F0H03390 SXA *+2,4 F0H03400 TSX ADDM,4 CHANGE NAMES IF NECESSARY. F0H03410 AXT **,4 F0H03420 NXTNAM CAS TABL+1,1 LOOK FOR F0H03430 TTR TTR G4 NAME F0H03440 TRA FIX F0H03450 G4 TXL SAVNME,1,2 F0H03460 TXI NXTNAM,1,-2 F0H03470 SAVNME STO TMPR MISSING ROUTINE F0H03480 LXD LNMSP,1 F0H03490 CMPR CLA LLIST,1 F0H03500 TZE STONAM F0H03510 CAS TMPR F0H03520 LNMSP TXI G2,0,NMMSP F0H03530 TRA TIXVEC ALREADY IN F0H03540 G2 TIX CMPR,1,1 F0H03550 TRA MMSNG TOO MANY MISSING ROUTINES F0H03560 STONAM CLA TMPR F0H03570 STO LLIST,1 F0H03580 STZ LLIST+1,1 F0H03590 TRA TIXVEC F0H03600 FIX CLA TTR FOUND F0H03610 AA STO* BA F0H03620 CLA TABL+2,1 F0H03630 AAA STA* BA F0H03640 TIXVEC TIX NXTVC,4,1 F0H03650 PASS2 TXI *+1,2,2 F0H03660 TAG TXL VEC,2,** F0H03670 LXA PROG,4 F0H03680 TXL NOPRG,4,0 TRANSFER IF NO MAIN PROGRAM F0H03690 NZT FMR ARE THERE ANY MISSING ROUTINES F0H03700 TRA TOPRG NO F0H03710 TSX (LOAD),4,1 GO TO LIBRARY SEARCH $F0H03720 BCI 1,9F3400 $F0H03721 * F0H03730 TOPRG LDI* (FGBX) $F0H03740 RFT 400000 IS THERE DEBUG. F0H03750 TSX TSWE,4 YES F0H03760 LXA S,1 SAVE UPPER PROGRAM AND F0H03770 SXD PRCBRK,1 LOWER COMMON FOR WD I-O F0H03780 LXA LCOMN,2 F0H03790 SXA PRCBRK,2 F0H03800 LDI* (FGBX) $F0H03810 LFT 2 F0H03820 TRA WTLK CHAIN LINK F0H03830 * F0H03890 * WRITE AND PRINT TAPE STATISTICS F0H03900 TOPR1 STL NOSTON KILL ONLINE TAPE STATISTICS $F0H03910 CLA COMST FIRST STATISTICS LINE $F0H03920 TSX COMNT,4 F0H03930 CLA COMST1 F0H03940 TSX COMNT,4 F0H03950 AXT 18,1 F0H03980 LDQ BLNKS F0H03990 STQ IM+18,1 F0H04000 TIX *-1,1,1 F0H04010 TSX (STAT),4 F0H04020 SXA STAT3,1 ON RETURN, IR A CONTAINS ADDRESS +1 F0H04030 SXA STAT1,2 IR B CONTAINS ADDRESS OF TAPNO F0H04050 SXA STAT10,2 TAPNO=PZE,,NUMBER OF TAPES $F0H04060 STAT1 LXD **,2 GET NUMBER OF TAPES IN SYSTEM. F0H04070 SXD STAT4,2 F0H04080 SXD STAT6,2 F0H04090 SXD STAT13,2 F0H04100 AXT 1,1 F0H04110 STAT2 PXA 0,1 PUT CURRENT TAPE NUMBER $F0H04140 PAX 0,2 TO CURRENT TABLE ENTRY $F0H04150 TSX CNVT,4 CONVERT TO DECIMAL $F0H04160 SLW IM STORE AS LOGICAL TAPE NUMBER $F0H04170 AXT 2,4 GET READS/WRITES FOR LOGICAL TAPE $F0H04180 STAT3 CAL **,2 FROM TERST OR TERRT $F0H04190 STA TOTWT+2,4 STORE READS/WRITES IN $F0H04200 ARS 18 BUFFER, GET NOISE READ/WRITTEN $F0H04210 STA NOISW+2,4 STORE THAT IN BUFFER $F0H04220 STAT4 TXI *+1,2,** BUMP TO READ COUNTS $F0H04230 TIX STAT3,4,1 REPEAT ONCE $F0H04240 AXT 2,4 PREPARE ANOTHER $F0H04250 STAT5 CLA* STAT3 GET READ OR WRITE ERRORS $F0H04260 STA TOTRW+2,4 STORE IN BUFFER $F0H04270 STAT6 TXI *+1,2,** BUMP TO READ ERRORS $F0H04280 TIX STAT5,4,1 REPEAT ONCE $F0H04290 STAT7 CLA* STAT10 GET IOPUN ENTRY $F0H04292 ARS 18 F0H04300 STA POSER NUMBER OF POSITIONING ERRORS. F0H04310 AXT 7,2 F0H04320 PXA 0,0 F0H04330 ORA TOTWT+7,2 $F0H04340 TIX *-1,2,1 F0H04350 ANA ADMSK ISOLATE COUNTS $F0H04355 TZE STAT12 NO DATA FOR THIS TAPE. GET NEXT TAPE. F0H04360 SXA STAT9,1 SAVE NUMBER OF TAPES PROCESSED. F0H04370 AXT 0,1 F0H04380 AXT 6,2 F0H04390 STAT8 CLA TOTWT+6,2 CONVERT TAPE STATISTICS FROM F0H04400 TSX CNVT,4 BINARY TO BCD. F0H04410 SLW IM+4,1 STORE IN OUTPUT BUFFER. F0H04420 TXI *+1,1,-2 F0H04430 TIX STAT8,2,1 F0H04440 STAT9 AXT **,1 F0H04450 STAT10 LDQ* **,1 OBTAIN UCB WORD ONE $F0H04460 TSX (SYMUN,4 CONVERT TO ENGLISH $F0H04470 SLW IM+2 STORE IN OUTPUT LINE $F0H04640 STAT11 CLA POSER CONVERT AND STORE NO. OF F0H04750 TSX CNVT,4 POSITIONING ERRORS IN F0H04760 SLW IM+17 OUTPUT BUFFER. F0H04770 STAT16 CLA COMST2 WRITE AND PRINT TAPE F0H04780 TSX COMNT,4 STATISTICS FOR ONE LOGICAL TAPE. F0H04790 STAT12 TXI *+1,1,1 F0H04800 STAT13 TXL STAT2,1,** F0H04810 CAL SKRCW SIGNAL SIGN-ON THAT TAPE F0H04820 ORS* (FGBX) STATISTICS HAVE BEEN WRITTEN $F0H04830 TOPR2 STZ NOSTON F0H04840 STZ NOSTOF F0H04850 REM $F0H05135 TOPR CLA COMEX COMMENT EXECUTION F0H05140 TSX COMNT,4 F0H05150 TSX (TAPE),4 BACK A FILE ON SYSTAP $F0H05151 BSFCW,,(SKBP) $F0H05152 ,,SYSTAP $F0H05153 TSX (PRNT),4 F0H05160 SPACE,,1 F0H05170 AXT 7,1 $F0H05191 TSX (TAPE),4 $F0H05192 PZE 8,1,(CHKU) NORMALLY CLOSES OUT ONLY LOGICAL 1-7 $F0H05193 TIX *-2,1,1 $F0H05194 LDI* (FGBX) $F0H05195 L(1T) RNT 100000 WAS SYSTEM IN 2ND FILE $F0H05196 TRA *+4 NO $F0H05197 TSX (TAPE),4 YES, STACK ANOTHER BACKSPACE $F0H05198 BSFCW,,(SKBP) $F0H05199 ,,SYSTAP $F0H0519A RNT 40000 IS IOP TO REMAIN IN $F0H0519B TRA *+3 YES $F0H0519C TSX (TAPE),4 NO, RESTORE AVAILABILITY $F0H0519D ,,(SUAV) CHAIN BEFORE IT'S TOO LATE $F0H0519E TOV *+1 F0H05200 TQO *+1 F0H05210 CAL TROP2 LOAD TRANSFER TO OBJECT TIME DEBUG $F0H05211 RFT 400000 IS THERE DEBUG.. $F0H05212 SLW 2 YES, INITIALIZE STR LOCATION $F0H05213 AXT 0,2 F0H05220 AXT 0,4 F0H05230 DCT F0H05240 NOP F0H05250 SLF F0H05260 EFTM F0H05270 AXT 4,1 F0H05280 CLA PROG+1,1 F0H05290 STO TOPMEM,1 F0H05300 TIX *-2,1,1 F0H05310 LXD TAG,1 F0H05320 TXI TOPMEM-4,1,TOPMEM-4-TABL F0H05330 * CLEAR OUT MEMORY FROM BOTTOM OF LOADING TABLES F0H05340 STZ TOPMEM-3,1 F0H05350 TIX TOPMEM-4,1,1 F0H05360 AXT 0,1 F0H05370 PROG TRA ** GO GO GO GO GO GO GO GO GO GO GO GO GO GO F0H05380 REM $F0H05381 CNVT ANA ADMSK $F0H05382 XCA $F0H05383 SXA CNVT3,4 $F0H05384 AXT 0,4 $F0H05385 STZ TMPR1 $F0H05386 CNVT1 ZAC $F0H05387 DVP TEN $F0H05388 ALS 0,4 $F0H05389 ORS TMPR1 $F0H05390 CLA SKRCW $F0H05391 TLQ CNVT2 $F0H05392 TXI CNVT1,4,-6 $F0H05393 CNVT2 CAL BLNKS $F0H05394 ALS 6,4 $F0H05395 ORA TMPR1 $F0H05396 CNVT3 AXT **,4 $F0H05397 TRA 1,4 $F0H05398 REM $F0H05399 * PUT CHAIN LINK ON TAPE F0H05400 WTLK TXI *+1,1,-BOTTOM+1 F0H05410 SXD LKRCW,1 PUT WORD COUNT OF LINK IN CONTROL WORD F0H05420 LXA CURCHN,4 WHICH TAPE DOES THE LINK GO ON F0H05430 TXH *+2,4,4 F0H05440 TXH WTLKS,4,1 TAPE 2, 3, OR 4 F0H05450 AXT 4,4 ANYTHING ELSE MAKE 4 F0H05460 WTLKS SXD WTTPN,4 F0H05470 ZET B2CHN+2,4 DOES THIS TAPE HAVE A PREVIOUS LINK F0H05480 TRA WTLKN YES F0H05490 STL B2CHN+2,4 NO F0H05500 SXD *+3,4 REWIND IT F0H05510 TSX (TAPE),4 F0H05520 REWND,,(SKBP) F0H05530 ,,** F0H05540 WTLKN AXT 4,1 F0H05550 TSX (TAPE),4 WRITE THE LINK F0H05560 LNKCW+4,1,(WBNC) F0H05570 WTTPN ,,** F0H05580 IOERR F0H05590 TIX WTLKN+1,1,3 F0H05600 AXT 2,1 POSITION SYSTEM IN FRONT OF DEBUG RECORD $F0H05610 TSX (TAPE),4 F0H05620 BSRCW,,(SKBP) F0H05630 ,,SYSTAP $F0H05640 TIX *-3,1,1 F0H05650 TSX (LOAD),4,1 START AGAIN FOR NEXT LINK $F0H05660 9F07 BCI 1,9F0700 *SET TO 9F32 WHEN IN 2ND FILE $F0H05670 GOCHN AXT 2,1 F0H05680 TRA REWCH $F0H05710 WEFCH TSX (TAPE),4 WRITE EOF ON CHAIN LINK TAPE $F0H05730 ,,(WEFP) $F0H05740 ,,** $F0H05750 REWCH TSX (TAPE),4 F0H05760 REWND,,(SKBP) F0H05770 ,,CHNTAP $F0H05780 TXH GETL1,1,4 F0H05790 NZT B2CHN+2,1 IS THERE A LINK ON THIS TAPE F0H05800 TXI *-2,1,1 NO F0H05810 SXD WEFCH+2,1 YES, SET UP TO WRITE EOF $F0H05830 SXD REWCH+2,1 AND REWIND IT $F0H05840 TXI WEFCH,1,1 F0H05850 GETL1 AXT 4,1 F0H05860 LXA 1STCHN,4 WHICH TAPE HAS THE FIRST LINK F0H05870 TXH RDLK1,4,3 F0H05880 TXL RDLK1,4,1 F0H05890 SXD RDLK1+2,4 F0H05900 RDLK1 TSX (TAPE),4 GET THE FIRST LINK F0H05910 LNKCW+4,1,(RBNC) F0H05920 ,,TINTAP $F0H05930 TIX LK1L,1,3 TRANSFER FOR FIRST RECORD F0H05940 LXD PRCBRK,1 F0H05950 PXA ,1 F0H05960 LDC RDLK1+2,1 F0H05970 LDI (SCHU),1 F0H05980 IIA F0H05990 RFT 77777 WAS RECORD READ IN UP TO PROGRAM BREAK F0H06000 TRA LK1ER NO F0H06010 TSX (TAPE),4 CHAIN JOB- CLOSE OUT TAPE 8 $F0H06020 PZE 8,,(CHKU) $F0H06021 TRA TOPR1 $F0H06022 LK1L CLA CURCHN FIRST WORD (LABEL) F0H06030 SUB 1STCHN F0H06040 TZE RDLK1 IF IT CHECKS READ IN THE LINK F0H06050 * F0H06060 LK1ER CLA COMLK COMMENT CANT FIND 1ST LINK F0H06070 TSX COMNT,4 F0H06080 LXD RDLK1+2,4 F0H06090 SXD *+3,4 F0H06100 TSX (TAPE),4 AND GO TO MACHINE ERROR RECORD F0H06110 CHAIN,,(TPER) F0H06120 ,,** F0H06130 * F0H06140 EOF STZ MULPC F0H06150 LXD RDTPN,1 WHICH TAPE HIT THE EOF. F0H06160 TXL EFLS,1,1 SYSTEM LIBRARY F0H06170 TXH EFLS,1,8 LIBRARY TAPE F0H06180 TXL EFPCH,1,5 EOF BACKSPACE OVER IT (26)F0H06190 TXL TDBLP,1,7 B4 F0H06200 EOFA2 AXT 7,1 EITHER A2 OR B1 F0H06210 AXT 0,2 SET TO READ B4 F0H06220 STL B4LD F0H06230 LDI* (FGBX) $F0H06240 LFT 2 F0H06250 TRA INITL CHAIN JOB - B4 POSITION OK F0H06260 POSB4 TSX (TAPE),4 POSITION B4 AFTER FILE MARK F0H06270 SKPCW,,(SKBP) F0H06280 ,,MBNTAP $F0H06290 TRA INITL F0H06300 * WRITE COMMENTS F0H06360 COMNT SXA COMBC,4 F0H06370 STO COMCW F0H06380 ZET NOSTOF F0H06390 TRA COMNT1 $F0H06400 TSX (TAPE),4 WRITE MESSAGE OFF LINE F0H06410 COMCW,,(WDNC) F0H06420 ,,MLSTAP $F0H06430 LXA LINECT,4 $F0H06440 TXI *+1,4,1 $F0H06450 SXA LINECT,4 $F0H06460 COMNT1 ZET NOSTON $F0H06470 TRA COMBC $F0H06480 ZAC $F0H06488 STP COMCW $F0H06489 TSX (PRNT),4 PRINT MESSAGE ON LINE F0H06490 COMCW ** F0H06500 COMBC AXT **,4 F0H06510 TRA 1,4 F0H06520 * F0H06530 FIXB4 SXA B4OK,4 F0H06540 TSX (TAPE),4 BACKSPACE A RECORD AND SKIP A FILE ON B4 F0H06550 BSRCW,,(SKBP) F0H06560 ,,MBNTAP $F0H06570 SKPFI TSX (TAPE),4 F0H06580 SKPCW,,(SKBP) F0H06590 ,,MBNTAP $F0H06600 RDNDM TSX (TAPE),4 CHECK IF END MARK F0H06610 LBLCW,,(RBEC) F0H06620 ,,MBNTAP $F0H06630 NZT (SCHU)+MBNTAP $F0H06640 TRA RDNDM EMPTY FILE F0H06650 CLA CURCHN F0H06660 SUB ALL7NS F0H06670 TNZ SKPFI IF NOT END MARK SKIP ANOTHER FILE F0H06680 TSX (TAPE),4 F0H06690 BSRCW,,(SKBP) F0H06700 ,,MBNTAP $F0H06710 B4OK AXT **,4 F0H06720 TRA 1,4 F0H06730 * F0H06740 RDERR CLA RDTPN+1 FOR TAPE ERRORS $F0H06750 LDI* TEOF $F0H06760 TMI *+4 YES $F0H06770 RNT 100 WAS IT WRONG MODE READ $F0H06771 TRA IOERR NO $F0H06772 TRA ILLCD YES $F0H06773 RNT 100 WAS ERROR WRONG MODE READ (31)F0H06780 TRA ERRIO NO. F0H06790 TSX (TAPE),4 YES. WAS IT A BCD CARD ON A2. F0H06800 BUF1CW,,(RDEC) F0H06810 ,,MINTAP $F0H06820 IOERR NO F0H06830 NZT (SCHU)+MINTAP LET'S MAKE SURE IT WASN'T AN END OF FILE $F0H06840 TRA EOFA2 F0H06850 CAL IM IS THIS CARD BLANK $F0H06870 ERA BLNKS $F0H06880 TZE INITB YES, IGNORE IT $F0H06890 NBBCD CLA IM WAS IT *DATA F0H06920 SUB ASTSK F0H06930 TNZ ILLCD NO F0H06940 AXT 5,1 F0H06950 AXT 11,2 F0H06960 NXTWD AXT 6,4 F0H06970 LDQ IM+12,2 F0H06980 NXTC LGL 6 F0H06990 ERA BLANK IS THIS CHARACTER BLANK F0H07000 TZE CKNXT F0H07010 TNX ILLCD,1,1 NO MORE THAN 4 CHARACTERS F0H07020 ERA DATAT+4,1 IS THIS THE NEXT CHARACTER OF DATA F0H07030 TNZ ILLCD F0H07040 CKNXT TIX NXTC,4,1 F0H07050 TIX NXTWD,2,1 F0H07060 TNX EOFA2,1,1 TREAT DATA CONTROL CARD LIKE EOF F0H07070 ILLCD CLA COMCD COMMENT ILLEGAL CARD F0H07080 TSX COMNT,4 F0H07090 TOSIN TSX FIXB4,4 $F0H07130 CLA COMDL F0H07140 TSX COMNT,4 COMMENT EXECUTION DELETED F0H07150 CLA L(1T) $F0H07160 STT* (FGBX) MAKE SURE BSS BIT IS ON FOR ERROR RECORD $F0H07170 TSX (SECL),4 GO TO SIGN ON VIA SOURCE ERROR RECORD $F0H07180 ERRIO TSX FIXB4,4 F0H07230 TSX (TAPE),4 F0H07240 ,,(TPER) F0H07250 PZE RDTPN,,-1 (31)F0H07260 IOERR TSX FIXB4,4 F0H07270 TSX (MECL),4 LET IO PACKAGE GO TO MACHINE ERROR RECORD F0H07280 NOPRG CLA COMPR COMMENT NO MAIN PROGRAM F0H07300 TSX COMNT,4 F0H07310 TRASO TRA TOSIN GO TO SIGN ON F0H07320 * F0H07330 SUMNG LDI COMSM INCORRECT CHECKSUM $F0H07340 LDQ IM,1 F0H07350 RQL 18 $F0H07360 TSX (BCD5R,4 CONVERT MQ DECREMENT TO OCTAL $F0H07361 SLW COMSM+6 F0H07410 CLA SNAME F0H07420 TNZ *+2 F0H07430 CLA MAIN F0H07440 STO COMSM+7 F0H07450 PIA REGAIN MESSAGE PARAMETER $F0H07460 TRA TOSIN-1 AND GO TO SIGN ON $F0H07480 * F0H07490 MMSNG CLA COMSN COMMENT TOO MANY MISSING ROUTINES F0H07500 TRA TOSIN-1 AND GO TO SIGN ON $F0H07520 * F0H07530 PDOVL CLA COMPD COMMENT PROGRAM AND COMMON OVERLAP F0H07540 TRA TOSIN-1 AND GO TO SIGN ON $F0H07560 * F0H07570 PTOVL CLA COMPT COMMENT PROGRAM AND TABLES OVERLAP F0H07580 TRA TOSIN-1 AND GO TO SIGN ON $F0H07600 * F0H07610 LDCMN LDI COMLC LOADING COMMON $F0H07611 TRA SUMNG+1 AND GO TO SIGN ON $F0H07612 R F0H07620 S BOTTOM *INITIAL LOADING ADDRESS OF NEXT PROGRAM F0H07630 T *PROGRAM BREAK F0H07640 COMN PZE TOPMEM+1 *COMMON RELOCATION $F0H07650 LCOMN PZE TOPMEM *LOWEST COMMON USED F0H07660 OVLP TABL F0H07670 LIBSW *NON ZERO DURING LIBRARY SEARCH F0H07690 MULPC *NON ZERO AFTER PROGRAM CARD ENCOUNTERED F0H07700 SKIP *NON ZERO IF SET TO SKIP PROGRAM F0H07710 B4LD *NON ZERO WHEN LOADING FROM B4 F0H07720 WDCNT F0H07730 LADD F0H07740 LLB F0H07750 NLDD PZE ** F0H07760 SNAME * SUBPROGRAM NAME F0H07770 TMPR F0H07780 BUFPOS F0H07790 SKPCW ,,1 SKIP FILE CONTROL WORD FOR IO PACKAGE F0H07800 SKRCW 1 SKIP RECORD CONTROL WORD FOR IO PACKAGE F0H07810 ONEA SYN SKRCW F0H07820 BSRCW MZE 1 BACKSPACE RECORD CONTROL WORD FOR IO F0H07830 BSFCW MZE ,,1 BACKSPACE FILE CONTROL WORD FOR IO F0H07840 BSLCW MZE 1,,1 BACKSPACE 1 FILE AND 1 RECORD CW. F0H07850 REWND PZE ,,-1 REWIND CONTROL WORD FOR IO PACKAGE F0H07860 LBLCW IORT CURCHN,,1 CONTROL WD FOR READING CHAIN LABEL F0H07870 LNKCW IOCP CURCHN,,1 CONTROL WORDS FOR CHAIN LINK F0H07880 IOCP LKRCW,,1 F0H07890 IORT PROG,,1 F0H07900 LKRCW IORT PRCBRK,,** F0H07910 A4CHN *NON ZERO IF A CHAIN LINK HAS BEEN F0H07920 B3CHN F0H07930 B2CHN WRITTEN ON CORRESPONDING TAPE F0H07940 ALL7NS SVN -1,7,-1 F0H07950 PRMSK SVN F0H07960 DATAT OCT 44,41,3,41 F0H07970 NOSTON PZE F0H08070 NOSTOF PZE F0H08080 SVN DEC 7 F0H08090 TEN DEC 10 F0H08100 ADMSK PZE -1 F0H08110 TMSK OCT 77777077777 F0H08120 TMSK1 OCT 700000 F0H08130 COMST IORT *+1,,19 $F0H08140 BCI 9,0LOGICAL MACHINE TOTAL TOTAL NOI F0H08150 BCI 9,SE RECORDS TOTAL REDUNDANCIES POSITION F0H08160 BCI 1,ING F0H08170 COMST1 IORT *+1,,18 $F0H08180 BCI 9, TAPE TAPE WRITES READS WRITIN F0H08190 BCI 9,G READING WRITING READING ERRORS F0H08200 COMST2 IORT IM,,18 $F0H08210 ASTSK BCI 1,* F0H08260 CHAIN BCI 1,CHAIN F0H08270 MAIN BCI 1, MAIN F0H08280 BLANK BCI 1,00000 F0H08290 STH BCI 1,(STH) F0H08300 STHM BCI 1,(STHM) F0H08310 TSH BCI 1,(TSH) F0H08320 TSHM BCI 1,(TSHM) F0H08330 EXE BCI 1,(EXE) F0H08340 EXEM BCI 1,(EXEM) F0H08350 COMEX IORT *+1,,3 $F0H08360 SPACE BCI 5,0 EXECUTION DELETED $F0H08370 COMDL SPACE+1,,4 $F0H08400 COMSM IORT *+1,,9 $F0H08420 BCI 5,0 CHECKSUM ERROR. CARD ORIGIN $F0H08430 BLNKS BCI 2, $F0H08431 BCI 7, PROGRAM. LOADS ABOVE PROGRAM BREAK. $F0H08432 COMLC IORT COMSM+4,,11 $F0H08434 COMCD IORT *+1,,5 $F0H08440 BCI 5,0 ILLEGAL CARD IN BINARY DECK F0H08450 COMPR IORT *+1,,4 $F0H08460 BCI 4,0 MAIN PROGRAM MISSING F0H08470 COMSN IORT *+1,,5 $F0H08480 BCI 5,0 OVER 50 SUBROUTINES MISSING F0H08490 COMPD IORT *+1,,5 $F0H08500 BCI 5,0 PROGRAM AND COMMON OVERLAP F0H08510 COMPT IORT *+1,,6 $F0H08520 BCI 6,0 PROGRAM AND LOADING TABLES OVERLAP F0H08530 COMLK IORT *+1,,5 $F0H08540 BCI 5,01ST LINK NOT LOADED CORRECTLY F0H08550 BUF2CW IORT *+BUFSIZ+2,,BUFSIZ F0H08570 IM BSS BUFSIZ F0H08580 BUF1CW IORT *-BUFSIZ,,BUFSIZ F0H08590 BSS BUFSIZ $F0H08595 TOTWT EQU IM+18 USE INPUT BUFFER AS $F0H08600 TOTRD EQU TOTWT+1 TEMPORARY STORAGE $F0H08601 NOISW EQU TOTRD+1 FOR COUNTS PRINTED $F0H08602 NOISR EQU TOTRD+2 IN TAPE STATISTICS $F0H08603 TOTRW EQU NOISR+1 (FIRST 18 WORDS ARE $F0H08604 TOTRR EQU NOISR+2 USED FOR LINE IMAGE) $F0H08605 POSER EQU TOTRR+1 $F0H08606 MCHTP EQU POSER+1 $F0H08607 TMPR1 EQU MCHTP+1 $F0H08608 NDBSS1 EQU * F0H08609 PATCH5 ZET MULPC FIRST PROGRAM CARD.... (31)F0H08646 TXI PROC,1,2 NO (31)F0H08647 TXI PROC,2,-2 YES (31)F0H08648 PZE **NOT USED (31)F0H08649 PATCH2 ZET B4LD IS PUNCH TAPE BEING LOADED (25)F0H08650 TRA PPRCD (31)F0H08651 TRA PRCD0 NO, CHECK ENTRIES AGAINST THOSE IN TABL(25)F0H08652 EFPCH TSX (TAPE),4 BACKSPACE OVER EOF (26)F0H08653 PZE BSRCW,,(SKDP) ON INPUT TAPE (26)F0H08654 PZE ,,MINTAP (26)F0H08655 TRA EOFA2 (26)F0H08656 SAV8L STZ SKIP INITIALIZE (31)F0H08660 CLA IM+2,1 (31)F0H08661 STO 8L (31)F0H08662 CLA IM+3,1 (31)F0H08663 TRA FIRST+1 (31)F0H08664 PATCH3 ZET NLDD ANY UNIQUE ENTRY POINTS (31)F0H08665 TRA TESTPC+1 YES,RESET SKIP SWITCH (31)F0H08666 ZET MULPC NO IS THIS A MULTIPLE PC (31)F0H08667 TRA L (31)F0H08668 TRA SKPPR SKIP PROGRAM (31)F0H08669 REM F0H08670 REM F0H08680 REM F0H08690 REM F0H08700 NDBSS EQU BOTIOP-3 F0H08720 1STCHN EQU NDBSS+1 F0H08730 CURCHN EQU 1STCHN+1 F0H08740 TCD -1 $F0H08741 TTL RECORD 9 OR 34 LIBRARY SEARCH F0I00000 ABS $F0I00010 LBL 9F09,I F0I00030 ORG SYSCUR $F0I00040 IFF WHICH $F0I00046 LBL 9F34,LIST $F0I00047 IFF WHICH,Z $F0I00048 LBL 9F09,LIST $F0I00049 IFF WHICH $F0I00050 BCI 1,9F3400 $F0I00052 IFF WHICH,Z $F0I00054 BCI 1,9F0900 $F0I00056 ORG (LODR) $F0I00060 IFF WHICH $F0I00070 TXI ENTLS,,340 ENTRY POINT,,RECORD NO. $F0I00072 IFF WHICH,Z $F0I00074 TXI ENTLS,,90 ENTRY POINT,,RECORD NO. $F0I00076 REM F0I00090 * RECORD 9 OR 34 F0I00100 REM F0I00110 LBLK EQU 12 LIBRARY BLOCKING FACTOR $F0I00111 LIBSIZ EQU 24 WORDS PER LOGICAL LIBRARY RECORD $F0I00112 ORG FMR-227-LBLK*LIBSIZ $F0I00120 LBUF BSS LBLK*LIBSIZ INPUT AREA FOR BLOCKED LIBRARY $F0I00122 NDBUF EQU * $F0I00123 ORGLS ORG NDBUF-44 (FIRST 44 LOCATIONS ARE OVERWRITTEN) $F0I00124 COMLS IORT *+1,,4 $F0I00125 BCI 4,0LIBRARY ENTRY POINTS, $F0I00126 LNKID BCI 3, CHAIN 00000 , 0 $F0I00127 ENTLS LDI* (FGBX) $F0I00130 LXD (LIBT),1 WHICH TAPE HAS THE LIBRARY F0I00140 TXL A1LS,1,1 A1 F0I00150 TSX (TAPE),4 OTHER, BACK A RECORD ON SYSTAP $F0I00180 BSRCW,,(SKBP) F0I00190 ,,SYSTAP $F0I00200 TSX (TAPE),4 REWIND LIBT $F0I00280 REWND,,(SKBP) F0I00290 (LIBT),,-1 F0I00300 TRA HEDLS F0I00310 A1LS AXT 1,1 F0I00320 RNT 100000 IS SYSTEM TAPE IN 2ND FILE F0I00330 AXT 2,1 NO, SET TO SPACE 2 FILES F0I00340 SIR 100000 F0I00350 STI* (FGBX) $F0I00360 TSX (TAPE),4 SPACE TO LIBRARY F0I00370 SKPCW,,(SKBP) F0I00380 ,,SYSTAP $F0I00390 TIX *-3,1,1 F0I00400 HEDLS LNT 2 IS THIS A CHAIN JOB F0I00410 TRA WTLS NO F0I00420 CAL CURCHN YES, FORM LABEL FOR HEADING F0I00430 ARS 18 CONVERT RECORD NUMBER TO DECIMAL F0I00440 TSX CNVT,4 $F0I00450 SLW LNKID+1 SET IN OUTPUT LINE $F0I00460 CAL CURCHN PUT TAPE NUMBER IN MESSAGE F0I00580 ALS 6 F0I00590 ORA BLANK F0I00600 STA LNKID+2 F0I00610 AXT 7,1 MESSAGE LENGTH $F0I00620 SXD COMLS,1 F0I00630 WTLS TSX (TAPE),4 COMMENT ROUTINES REQUIRED F0I00640 COMLS,,(WDNP) F0I00650 ,,MLSTAP $F0I00660 AXT LBUF,4 SET LOAD ADDRESS FOR LIBRARY $F0I00661 SXA (LBLD),4 WHEN ON DISK OR HYPER $F0I00662 * CODING UP TO HERE OVER WRITTEN BY INPUT BUFFER $F0I00669 WTLS1 LDQ BLNKS F0I00670 AXT 0,1 F0I00680 AXT 2,2 FOR LINE COUNT F0I00690 AXT 20,4 20 WORDS (TEN NAMES) PER LINE F0I00700 GTFMR CLA FMR,1 PLACE NAMES IN BUFFER F0I00710 TZE LASTL F0I00720 STQ IM+20,4 F0I00730 STO IM+21,4 F0I00740 TXI *+1,1,-1 F0I00750 TIX GTFMR,4,2 F0I00760 TSX (TAPE),4 WRITE LINE F0I00770 LINCW,,(WDNC) F0I00780 ,,MLSTAP $F0I00790 TXI GTFMR-1,2,1 FOR NEXT LINE F0I00800 LASTL STQ IM+20,4 F0I00810 TIX *-1,4,1 F0I00820 TSX (TAPE),4 WRITE LAST LINE F0I00830 LINCW,,(WDNC) F0I00840 ,,MLSTAP $F0I00850 PXA ,2 F0I00860 ADD* (LNCT) $F0I00870 STO* (LNCT) $F0I00880 * F0I00890 BLS SXA NMR,1 COMPLEMENT OF NUMBER OF MISSING ROUTINES F0I00900 STL LIBSW INDICATE LIBRARY SEARCH IN PROGRESS F0I00910 BLS1 STZ LLFLG F0I00920 STZ EFLIB F0I00930 STZ LIBLD F0I00940 LXD (LIBT),1 SET TO READ LIBRARY TAPE F0I00950 SXD RDTPN,1 $F0I00951 SXA CKBLK,1 $F0I00952 TXI *+1,1,(SCHU) $F0I00953 SXA TEOF,1 $F0I00954 AXT LINTS+1,1 $F0I00955 SXA LINTS,1 $F0I00956 TRA RDBLK $F0I00957 * $F0I00958 REM ROUTINE READS BLOCKED RECORDS FROM LIBRARY TAPE $F0I00959 REM AND MOVES ONE CARD IMAGE AT A TIME TO IM $F0I00960 RDLIB LXA LNCD,1 NEXT CARD $F0I00961 TXH CKBLK+1,1,LBUF IS THIS FIRST CARD OF BLOCK $F0I00962 TSX (TAPE),4 CHECK READ FOR FIRST OF BLOCK $F0I00963 CKBLK **,,(CHKU) $F0I00964 AXT 0,4 $F0I00965 CLA* LNCD MOVE NEXT CARD TO IM $F0I00966 STO IM,4 $F0I00967 TXI *+1,4,-1 $F0I00968 TXH *-3,4,-LIBSIZ $F0I00969 TXI *+1,1,LIBSIZ SET FOR NEXT CARD $F0I00970 TXL LNXT,1,LBUF+LBLK*LIBSIZ-1 WAS IT LAST CARD $F0I00971 RDBLK TSX (TAPE),4 YES, START READING NEXT BLOCK $F0I00972 BLKIO,,(RBEP) $F0I00973 (LIBT),,-1 $F0I00974 PZE IOERR $F0I00975 AXT LBUF,1 RESET TO PICK UP FIRST CARD OF BLOCK $F0I00976 LNXT SXA LNCD,1 $F0I00977 AXT 0,1 SET BUFFER SWITCH $F0I00978 SXD BUFPOS,1 $F0I00979 LINTS TRA *+1 AFTER 1ST TIME, TRA TEOF $F0I00980 AXT TEOF,1 $F0I00981 SXA *-2,1 $F0I00982 TRA RDLIB 1ST TIME THROUGH GO BACK TO MOVE 1ST CARD $F0I00983 * $F0I00984 LNCD PZE LBUF,4 NEXT CARD TO BE MOVED $F0I00985 BLKIO IOCPN *,,3 IGNORE DUMMY WORDS $F0I00986 IOCT LBUF,,LBLK*LIBSIZ READ LIBRARY $F0I00987 * $F0I00988 * ENTER HERE FOR LIBRARY PROGRAM CARD $F0I00989 LSPC ZET MULPC IS THIS A CONTINUATION PROGRAM CARD F0I00990 TXI LSBB,1,2 YES, SET FOR 8L NAME F0I01000 NZT LIBLD WERE WE LOADING A PREVIOUS ROUTINE F0I01010 LSTRV TXI LSB,0,** NO F0I01020 * CHECK TRANSFER VECTOR OF LAST ROUTINE LOADED F0I01030 LSA LXD LSTRV,2 NUMBER IN TR. VEC. OF ROUTINE JUST LOADED F0I01040 TXL LSB,2,0 TRANSFER IF NO VECTOR F0I01050 PXA ,2 TRANSFER VECTOR LENGTH $F0I01060 ADD LADD PLUS LOAD ADDRESS OF PROGRAM $F0I01065 STA LSA1 TO LOCATE TRANSFER VECTOR $F0I01070 LXD LSTRV,2 F0I01080 LSA1 CLA **,2 NAME IN VECTOR F0I01090 TSX ADDM,4 F0I01100 TSX CKPL,4 CHECK FOR PREVIOUS LOADING F0I01110 TRA LSA2 ALREADY LOADED F0I01120 AXT 0,4 NOT IN F0I01130 LSA1A NZT FMR,4 IS NAME ALREADY IN MISSING LIST F0I01140 TRA LSA1B NO F0I01150 CAS FMR,4 F0I01160 TXI LSA1A,4,-1 F0I01170 TRA LSA2 YES F0I01180 TXI LSA1A,4,-1 F0I01190 LSA2 TIX LSA1,2,1 GET NEXT NAME IN VECTOR F0I01200 * EXAMINE PROGRAM CARD FOR NAMES OF MISSING ROUTINES F0I01210 LSB NZT FMR ANY MORE MISSING F0I01220 TRA LSF NO F0I01230 ZET EFLIB WAS THERE AN EOF IN LIBRARY F0I01240 TRA EFLS1 YES F0I01250 CLA 8L (31)F0I01280 STD LSTRV NUMBER IN TRANSFER VECTOR F0I01290 STZ LIBLD F0I01300 LXA LPG,2 RESTORE IR 2 F0I01310 TXI *+1,2,-2 REDUCE WORD COUNT BY 2 F0I01320 LSBB LAC NMR,4 F0I01330 TXI *+1,4,FMR F0I01340 SXA LSC,4 F0I01350 NMR AXC **,4 NUMBER OF MISSING ROUTINES F0I01360 CLA IM+5,1 F0I01370 LSBB1 TMI LSD1 LOOK FOR PRIMARY NAMES FIRST F0I01380 LSC CLA **,4 MISSING NAME F0I01390 TZE LSD F0I01400 SUB IM+4,1 NAME ON PROGRAM CARD F0I01410 TNZ LSD F0I01420 STL LIBLD FOUND F0I01430 STZ SKIP LOAD THIS ROUTINE $F0I01435 STZ* LSC REMOVE NAME FROM LIST OF MISSING ROUTINES F0I01440 LSD TIX LSC,4,1 F0I01450 LSD1 TXI *+1,1,-2 SET FOR NEXT NAME ON PROG CARD F0I01460 TIX NMR,2,2 F0I01470 ZET LIBLD WAS ENTRY FOUND $F0I01480 TRA LRES YES, GO PROCESS PROGRAM CARD $F0I01481 ZET MULPC NO, IS THIS FIRST PROGRAM CARD $F0I01482 TRA L NO,READ NEXT CARD (31)F0I01483 TRA SKPPR YES,SET SKIP (31)F0I01484 DUP 1,4 (31)F0I01485 PZE (31)F0I01486 LRES LXD BUFPOS,1 RESTORE 1 $F0I01500 CLS LSBB1 F0I01510 STO LSBB1 CHANGE TMI TO TPL OR TPL TO TMI F0I01520 TMI LSE HAVE WE LOOKED AT SECONDARY NAMES YET F0I01530 LXA LPG,2 NO F0I01540 ZET MULPC IS THIS A CONTINUATION PROGRAM CARD F0I01550 TXI NMR,1,2 YES, ADJUST FOR 8L NAME F0I01560 TXI NMR,2,-2 NO, REDUCE WORD COUNT F0I01570 LSE LAC NMR,4 PACK AND COUNT MISSING ROUTINES F0I01580 AXT 0,2 F0I01590 LSE1 XEC LSC F0I01600 TZE LSE2 F0I01610 STO FMR,2 F0I01620 TXI *+1,2,-1 F0I01630 LSE2 TIX LSE1,4,1 F0I01640 STZ FMR,2 F0I01650 SXA NMR,2 F0I01660 LXA LPG,2 RESTORE WORD COUNT F0I01670 LDI* (FGBX) (31)F0I01671 TRA LPC NO, GO PROCESS P.C. $F0I01672 DUP 1,8 (31)F0I01673 PZE (31)F0I01674 * HERE WHEN THERE ARE NO MORE MISSING ROUTINES F0I01690 LSF LXD (LIBT),1 WHICH TAPE HAS THE LIBRARY F0I01700 TXL LSF1,1,1 TRANSFER IF SYSTEM TAPE F0I01710 LSFR TSX (TAPE),4 REWIND IT F0I01720 REWND,,(SKBP) F0I01730 (LIBT),,-1 F0I01740 TRA SPS2 GO TO LOADING PASS 2 F0I01750 LSF1 TSX (TAPE),4 BACK SYSTEM OVER LIBRARY $F0I01810 BSLCW,,(SKBP) AND LIBRARY SEARCH. F0I01820 ,,SYSTAP $F0I01830 TRA SPS2 F0I01840 * HERE FOR END OF FILE IN LIBRARY F0I01850 EFLS TSX (TAPE),4 BACK OVER FILE MARK F0I01860 BSFCW,,(SKBP) F0I01870 (LIBT),,-1 F0I01880 STL EFLIB F0I01890 ZET LIBLD WERE WE LOADING F0I01900 TRA LSA YES, FINISH UP F0I01910 EFLS1 NZT LLFLG IS LOWER LEVEL FLAG ON F0I01920 TRA MSNGR NO, THERE ARE MISSING ROUTINES F0I01930 TSX (TAPE),4 YES, BACK OVER LIBRARY FOR ANOTHER PASS F0I01940 BSFCW,,(SKBP) F0I01950 (LIBT),,-1 F0I01960 LXD (LIBT),1 F0I01970 TXH BLS1,1,1 F0I01980 TSX (TAPE),4 LIBRARY ON 1, GET OVER FILE MARK F0I01990 SKPCW,,(SKBP) F0I02000 ,,SYSTAP $F0I02010 TRA BLS1 F0I02020 * F0I02030 MSNGR CLA COMNG COMMENT MISSING ROUTINES F0I02040 TSX COMNT,4 F0I02050 CLA TRASO LIST THEM AND GO TO SIGN ON F0I02060 STO BLS F0I02070 TRA WTLS1 F0I02080 8L PZE TEMPORARY STORAGE FOR 8 LEFT OF PC $F0I02081 8R PZE TEMPORARY STORAGE FOR 8 RIGHT OF P.C. $F0I02082 * F0I02090 LIBLD *NON ZERO WHILE LOADING LIBRARY ROUTINE F0I02100 LLFLG *NON ZERO WHEN LOWER LEVEL NAMES ADDED F0I02110 EFLIB *NON ZERO WHEN EOF IN LIBRARY F0I02120 LINCW IORT IM,,20 F0I02130 COMNG IORT *+1,,3 $F0I02170 BCI 3,0MISSING ROUTINES $F0I02180 LSA1B STO FMR,4 STORE IN LIST OF MISSING ROUTINES F0I02190 TXI *+1,4,-1 F0I02200 TXL MMSNG,4,-NMMSP TRANSFER IF TOO MANY MISSING F0I02210 STL LLFLG TURN ON LOWER LEVEL FLAG F0I02220 STZ FMR,4 F0I02230 SXA NMR,4 F0I02240 TRA LSA2 F0I02250 PBREAK EQU T F0I02260 ORIGIN EQU BOTTOM F0I02270 TABL EQU LBUF-1 LOADING TABLES FROM HERE DOWN $F0I02280 DDBG EQU TABL-ENTWH+1 F0I02290 DUP 1,3 (31)F0I02300 PZE (31)F0I02301 * PATCH SPACE FROM HERE TO NDLS (25)F0I02303 REM F0I02310 REM F0I02320 REM F0I02330 REM F0I02340 REM F0I02350 REM F0I02360 REM F0I02370 REM F0I02380 REM F0I02390 NDLS EQU FMR-1 F0I02400 END -1 F0I02630