$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