JOB Phase 24 of Fortran IV compiler -- 78F phase CTL 6611 * * Library maintenance * sfx x * x2 equ 94 x3 equ 99 * * Places in IOP phase * write4 equ 334 Write routine in Phase 4 read 4 equ 345 Read routine in Phase 4 getx14 equ 352 Where I/O routines get packet adr tapzx4 equ 367 Exit from tape I/O if 11&x1 zoned tape 4 equ 389 Tape I/O instruction tapex4 equ 456 Exit from system I/O eofx 4 equ 472 EOF exit from system I/O enter4 equ 555 Phase loader seek 4 equ 790 Unit ID for table hunter to seek look 4 equ 791 Phase 4 table hunter setx14 equ 821 Set X1 for packet hunter fills lookx4 equ 861 Hunter exit corix4 equ 915 Core size index and no-rwd flag pocket equ 916 Where cards get stacked need 4 equ 925 Phase ID for phase loader packt4 equ 949 System tape packet * ORG 950 950enter B 1280 Enter here from DET phase * * IOP routines come here if not tape, with packet address in X1 * 954notap BCE card,11&X1,R Q. Reader 962 BCE iscon,11&X1,C Q. Console 970 BCE punch,11&X1,P Q. Punch 978 BCE print,11&X1,L Q. Printer 986 B tapex4 Hmmm, exit without doing anything * * Device is card reader * 990card BLC eofx 4 995rdcd R 996 BIN rderr,? Q. Reader error 1001rstk n1 Might turn into SS 1003 LCA 80,99&X1 1010 B tapex4 1014rderr H 8,8 1021 B rdcd * * Device is 1407 console * 1025iscon MN tape 4&7,cons&7 D-modifier from tape I/O 1032 MZ tape 4&7,cons&7 to Console I/O 1039cons mu %T0,20&x1,w 1047loopc BIN waitc,* Q. Inquiry ready 1052 BIN loopc,) What does this D-modifier do 1057 B tapex4 1061waitc H 12,12 1068 B cons * * Device is punch * 1072 da 1x80,c recsv 80 1152punch SW 101 1156 MCW 99&X1,180 1163 P 1164 BIN pcher,! Q. Punch error 1169pstk1 n4 Might turn into stacker select 1171 MCW 180,recsv Save output record 1178 B tapex4 1182pcher H 7,7 1189 MCW recsv,180 Get saved record 1196 P 1197pstk2 n4 Might turn into stacker select 1199 BIN punch,! Turn off punch error and retry 1204 B punch Or just retry * * Device is printer * 1208print MCW 152&X1,333 1215 MCW 1216 MCW 333,prfc&1 1223 LCA gm,333 1230prfc CC 1 1232 BCV ovfl 1237repr W 1238 NOP 0,0 1245 BIN prerr,| Q. Printer error 1250 LCA gm,333 1257 CS 1258 B tapex4 1262prerr H 9,9 1269 B repr 1273ovfl CC 1 1275 b repr 1279gm dc @}@ * * Real work starts here * 1280start SBR tapzx4&3,notap 1287 BCE nrstk,pocket,0 Q. Stack in N/R 1295 MN pocket,rstk&1 No get pocket 1302 MCW ss and change NOP to SS 1306nrstk BCE npstk,pocket&1,0 Q. Stack in N/P 1314 MN pocket&1,pstk1&1 No, get pocket 1321 MCW ss and change NOP to SS 1325 MN pocket&1,pstk2&1 Sam Ting 1332 MCW ss 1336npstk SW gm 1340 SW gm2,gm3 1347 SW gm4,gm5 * * Set up I/O packets * 1354 SW corix4 Set no rewind flag 1358 MCW kinp,seek 4 Set 1365 SBR setx14&6,inppk-19 up 1372 SBR lookx4&3,*&5 INP 1379 B look 4 packet 1383 SW corix4 Set no rewind flag 1387 MCW klst,seek 4 Set 1394 SBR setx14&6,lstpk-19 up 1401 SBR lookx4&3,*&5 LST 1408 B look 4 pkt 1412bset B setlib Setup LIB packet 1416 MCW libpk-8,libu 1423 C packt4-8,libu system unit compare lib unit 1430 BE syseql Q. system unit eq lib unit * * System and library on different units. First record of LIB * unit must be LIBKEY. * 1435 SBR eoft&3,eoftb Set where EOFT branches 1442 B rdlib Read LIB, EOF goes to EOFTB 1446 C lib10,libkey lib10 compare libkey 1453 BE libeq Q. lib10 eq libkey 1458eoftb B setlib 1462 B nomsg List NO LIBRARY message * * Library and system on same unit. Position after LIBKEY record * 1466syseql SBR eoft&3,nomsg Set NO LIBRARY msg as eof exit 1473 B rdlib Read LIB, EOF goes to EOFT 1477 C lib10,libkey lib10 compare LIBKEY 1484 BU syseql Q. lib10 ne LIBKEY * * LIB unit positioned after LIBKEY * 1489libeq B rdinp Read a control card 1493 B clrls 1497 MCW in80,lst80 1504 B wrtls Write LST 1508 B clrls * * Determine kind of control card * 1512 BCE list,in16,L LIST 1520 BCE copy,in16,C COPY 1528 BCE build,in16,B BUILD 1536 BCE endcd,in16,E END 1544 C in11,blnk6 1551 BE nolab Q. No label 1556 BCE delet,in16,D DELET 1564 BCE inser,in16,I INSER 1572nolab B clrls 1576 MCW inval,lst53 Set Invalid Control Card msg 1583dkhlt H godet Load DET phase * * BUILD card * 1587build BCE bldnl,eorb,E Q. No library 1595 BCE libeq,eorb,B Q. OK to write LIB directly 1603 B keyh Hunt for LIBKEY 1607 B clrls 1611 MCW found,lst46 Set existing lib found msg 1618 B wrtls Write LST 1622 B eoflb Write EOF on LIB 1626bldnl MCW kb,eorb Set OK to write LIB directly 1633 SBR bbset&3,libeq 1640 B libeq * * COPY card * 1644copy MCW k1,cpflg Set COPY flag 1651 B libeq * * END card * 1655endcd BW gotw1,swch&4 Q. Is branch around WK1 setup on 1663end2 BCE nodl,rm,| Q. No list of deletes 1671 B setwk1 1675 B wwk1 Write WK1 1679gotw1 SBR eoft&3,lbend 1686 B keyh Hunt for LIBKEY 1690 B aftrk After hunting for LIBKEY 1694lbend B delst List deleted modules 1698nodl BCE *&5,cpflg,1 Q. Copying WK1 to LIB 1706 B end3 1710endl SBR eoft&3,wk1f 1717 B keyh Hunt for LIBKEY 1721 B setwk1 1725 B rdwk1 Read WK1, EOF to EOFT 1729 C wk1pk&10,libkey 1736 BE gotk Q. WK1 record eq LIBKEY 1741 NOP 31 1745 H 1746 B endl * * Found LIBKEY on WK1, copy the rest to LIB * 1750gotk B rdwk1 Read WK1, EOF to EOFT 1754 MCW wk1pk&80,lib80 1761 B wrlib 1765 B gotk * Done copying WK1 to LIB 1769wk1f B eoflb 1773 B setwk1 1777end3 B setlib 1781endsw B clrls-0 1785 MCW endrun,lst28 1792 B wrtls Write LST 1796 BWZ end4,lstpk-8,2 Unzoned means LST is tape 1804 BCE godet,lstpk-8,O O means LST assigned to OMIT 1812 CC 1 1814 B godet 1818end4 MN lstpk-8,*&4 Get unit number 1825 WTM 0 1830 MN lstpk-8,*&4 Get unit number 1837 BSP 0 1842godet MCW kdet,need 4 Load DET phase 1849 B enter4 * * DELET card. Add the label to the list above this phase. * 1853delet BCE *&5,eorb, Q. Nothing known about LIB 1861 B listf 1865 MCM rm,rm 1872 SBR x3 Addr of RM & 1 1876 CW 0&X3 1880 SBR x3 Addr of RM 1884 MCW in11,lab-1 Save label 1891 MCW lab,6&X3 Label and RM to RM&6, 1898deleb B libeq-0 clobbering old RM 1908lab DCW @ |@ * * LIST card * 1909list B clrls 1913 B keyh Hunt for LIBKEY 1917 SBR eoft&3,listf Set EOF exit 1924listl B rdlib Read LIB, EOF goes to EOFT 1928 BCE *&5,lib72,H Q. First card of module 1936 B listl 1940 BCE listh,in21,H Q. List headers 1948 BCE listn,in6, Q. No label on LIST card 1956 SW in6 1960 C lib6,in11 LIB label compare card label 1967 CW in6 1971 BU listl 1976listn MCW lib80,lst80 1983 B wrtls Write LST 1987 BCE liste,lib72,. Q. Last card of module 1995 B rdlib Read LIB, EOF goes to EOFT 1999 B listn 2003listh MCW lib6,lst18 2010 B wrtls Write LST 2014 B listl 2018listf BCE listx,in6, 2026 B clrls 2030 MCW in11,nfnd-21 Label to NOT FOUND message 2037 MCW nfnd,lst37 NOT FOUND message 2044 B wrtls Write LST 2048listx B bset 2052liste BCE listl,in6, 2060 B bset * * INSER card * 2064inser BCE insnl,eorb,E Q. No library 2072insr2 SBR eoft&3,insrf Set EOF exit 2079insrl B rdlib Read LIB, EOF goes to EOFT 2083 BCE *&5,lib72,H Q. First card of module 2091 B insrl 2095 C in11,lib6 Card label compare LIB label 2102 BU insrl 2107 BCE insnd,rm,| Q. No DELET list 2115 SBR x3,rm 2122insdl SW 0&X3 2126 C in11,5&X3 Card label comp DELET list item 2133 CW 0&X3 2137 BU *&5 2142 B insrf 2146 SBR x3,6&X3 2153 BCE insnd,0&X3,| 2161 B insdl 2165insnd SBR deleb&3,*&5 2172 B delet Put label in DELET list 2176 SBR deleb&3,libeq 2183 MCW delin,lst55 Set DELETE AND INSERT message 2190 B wrtls Write LST 2194 BCE insmw,in21,* What does INSER* mean 2202insrf B insm Go insert a module 2206bbset B bset-0 * * INSER card and no library * 2210insnl B clrls 2214 MCW asbld,lst30 Set ASSUMED BUILD message 2221 MCW kb,eorb 2228 SBR bbset&3,libeq 2235 B wrtls Write LST 2239 B insr2 * INSER* card is not documented 2243insmw SBR aftks&3,insnm 2250 SW swch&4 Turn on branch around WK1 setup 2254 MCW k1,cpflg Set COPY flag 2261 SBR endsw&3,insnb Come back to INSNB 2268 B end2 Pretend we have an END card 2272insnm B insm Go insert a module 2276 SBR aftks&3,aftkl 2283 B aftkl 2287insnb SBR endsw&3,clrls 2294 MCW kbl,cpflg Turn off COPY flag 2301 CW swch&4 Turn off branch around WK1 setup 2305 B bset * * END processing comes here after hunting for LIBKEY * 2309aftrk MCW eoft&3,aftkx&3 2316aftkl SBR eoft&3,aftke Set EOF exit from RDLIB 2323 B rdlib Read LIB, EOF goes to EOFT 2327 MCW lib80,wk1pk&80 2334 BCE aftkh,lib72,H Q. First card of module 2342aftki B wwk1 Write WK1 2346 B aftkl 2350aftkh B dodel 2354aftks BW aftkl-0,delfg Q. Was a module deleted 2362 B aftki 2366aftke B eofw1 2370 B setwk1 2374aftkx B 0 * * Clear list buffer * 2378clrls SBR clrlx&3 2382 MCW kbl,lst133 2389 MCW lst133 2393clrlx B 0 * * Write LST * 2397wrtls SBR wrtlx&3 2401 SBR getx14&6,lstpk-19 2408 SBR tapex4&3,*&5 2415 B write4 2419wrtlx B 0 * * Write WK1 * 2423wwk1 SBR wwk1x&3 2427 SBR getx14&6,wk1pk-19 2434 SBR tapex4&3,*&5 2441 B write4 2445wwk1x B 0 * * Write LIB * 2449wrlib SBR wrlbx&3 2453 SBR getx14&6,libpk-19 2460 SBR eofx 4&3,lbful Set LIB is full exit 2467 SBR tapex4&3,*&5 2474 B write4 2478 MCW ku,uorr 2485wrlbx B 0 * * Read LIB * 2489rdlib SBR rdlbx&3 2493 LCA lst100,lib100 2500 SBR getx14&6,libpk-19 2507 SBR eofx 4&3,eoft 2514 SBR tapex4&3,*&5 2521 B read 4 2525 MCW ku,uorr 2532 B *&1 2536rdlbx B 0-0 * * Read WK1 * 2540rdwk1 SBR rd1x&3 2544 SBR getx14&6,wk1pk-19 2551 SBR eofx 4&3,eoft 2558 SBR tapex4&3,rd1x 2565 B read 4 2569rd1x B 0-0 * * Read INP * 2573rdinp SBR rdinx&3 2577 SBR getx14&6,inppk-19 2584rdine SBR eofx 4&3,dkerr-0 2591 SBR tapex4&3,*&5 2598 B read 4 2602rdinx B 0 * * EOF while writing LIB * 2606lbful B clrls 2610 MN libpk-8,eofm LIB unit number to EOF msg 2617 MCW eofm,lst30 2624 B wrtls Write LST 2628hful H 2629 B hful * * List deleted modules * 2633delst SBR dellx&3 2637 BCE dellx,rm,| Q. No list of deleted modules 2645 B clrls 2649 MCW built,lst29 TAPE HAS BEEN BUILT 2656 B wrtls Write LST 2660 B clrls 2664 MCW delmg,lst48 THESE WERE DELETED 2671 B wrtls Write LST 2675 B clrls 2679 SBR x3,rm 2686delll BCE dellf,0&X3,| Q. Finished the list 2694 SW lst6 2698 MCW 5&X3,lst11 Name to line 2705 CW lst6 2709 B wrtls Write LST 2713 SBR x3,6&X3 Bump to next one 2720 B delll Go try to do next one 2724dellf B clrls 2728 MCW follw,lst72 2735 B wrtls Write LST 2739dellx B 0 * * Delete library modules specified in the list above this phase. * 2743dodel SBR dodlx&3 2747 SBR x3,rm Start at top of this phase 2754dodll BCE nodel,0&X3,| Q. No more names to delete 2762 C 5&X3,lib6 List name compare LIB name 2769 BE delit Q. List name eq LIB name 2774 SBR x3,6&X3 No, bump to next name 2781 B dodll and look again 2785nodel CW delfg Clear ,,deleted module,, flag 2789 B dodlx 2793delit SW delfg Set ,,deleted module,, flag 2797 MCM 6&X3,0&X3 Move the delete list down * Skip the library module 2804dodlr B rdlib Read LIB, EOF to AFTKE via EOFT 2808 BCE dodlx,lib72,. Q. Last card of module 2816 B dodlr 2820dodlx B 0 * * More INSER processing * 2824insm SBR insmx&3 2828 SBR rdine&6,dkerr 2835insml B rdinp 2839 BCE *&5,in72,H Q. First card of module 2847insme B dkerr-0 Not a branch after H card 2851 SBR insme&3,*&5 Turn off branch to DKERR 2858 B insmc 2862 BCE insmc,in72,. Q. Last card of module 2870 BCE insmc,in72,E Q. Permitted 2878 BCE insmc,in72,R card 2886 BCE insmc,in72,0 of 2894 BCE insmc,in72,K module 2902 BCE insmc,in72,C * * Deck setup is in error * 2910dkerr B clrls 2914 MCW cca,lst133 Set page eject after print 2921 MCW dkerm,lst54 DECK SETUP IN ERROR message 2928 B wrtls Write LST 2932 B dkhlt * * Process a permitted card. * 2936insmc BCE inswl,eorb,B Q. OK to write on LIB 2944swch BIN havw1,% Branch if WK1 setup 2949 SW swch&4 Turn on branch around WK1 setup 2953 B setwk1 Setup WK1 packet 2957 B wwk1 Write WK1 2961havw1 MCW in80,wk1pk&80 2968 B wwk1 Write WK1 2972 B inset Go test for end of module 2976inswl MCW in80,lib80 2983 B wrlib Write LIB 2987inset BCE *&5,in72,. Q. Last card of module 2995 B insml No, Back around for another card 2999 SBR insme&3,dkerr Turn on branch to DKERR 3006 BCE eoflb,eorb,B Write EOF on LIB 3014insmx B 0-0 * * Hunt in LIB for LIBKEY * 3018keyh SBR keyhx&3 3022 BCE keyhx,uorr,R Q. LIB position immed aft LIBKEY 3030 B setlib 3034keyhl B rdlib Read LIB, EOF goes to EOFT 3038 C lib10,libkey 3045 BU keyhl 3050 MCW kr,uorr Set LIB position is after LIBKEY 3057keyhx B 0-0 * * Setup LIB packet * 3061setlib SBR x2 3065 MCW klib,seek 4 3072 SBR setx14&6,libpk-19 3079 SBR lookx4&3,*&5 3086 B look 4 3090 B 0&X2 * * Setup WK1 packet * 3094setwk1 SBR x2 3098 MCW kwk1,seek 4 3105 SBR setx14&6,wk1pk-19 3112 SBR lookx4&3,*&5 3119 B look 4 3123 B 0&X2 * * List NO LIBRARY message * 3127nomsg LCA lst100,lib100 3134 MCW libkey,lib10 3141 B clrls 3145 MCW nolib,lst37 3152 B wrtls Write LST 3156 MCW ke,eorb Set no library flag 3163 B wrlib 3167 B eoflb Write EOF on LIB 3171 B libeq * * Write EOF on LIB * 3175eoflb SBR eoflx&3 3179 BWZ *&5,libpk-8,2 Q. Unzoned means tape 3187 B eoflx 3191 MN libpk-8,*&4 Get unit number 3198 WTM 0-0 3203 MN libpk-8,*&4 Get unit number 3210 BSP 0-0 3215eoflx B 0-0 * * Write EOF on WK1 * 3219eofw1 SBR eof1x&3 3223 BWZ *&5,wk1pk-8,2 Q. Unzoned means tape 3231 B eof1x 3235 MN wk1pk-8,*&4 Get unit number 3242 WTM 0-0 3247 MN wk1pk-8,*&4 Get unit number 3254 BSP 0-0 3259eof1x B 0-0 * 3263eoft B 0-0 EOF target 3286inppk DCW #20 da 1x80,c in6 6 in11 11 in16 16 in21 21 in72 72 3366in80 80 3367gm2 dc @}@ 3387libpk DCW #20 da 1x100,c lib6 6 lib10 10 lib72 72 lib80 80 3487lib100 100 3488gm3 DC @}@ 3508lstpk DCW #20 da 1x200,c lst6 6 lst11 11 lst18 18 lst28 28 lst29 29 lst30 30 lst37 37 lst46 46 lst48 48 lst53 53 lst54 54 lst55 55 lst72 72 lst80 80 3608lst100 100 3641lst133 133 3709gm4 DC @}@ 3729wk1pk DCW #20 3779 DCW @*$*LIBRARY @ 3829 dc #50 LIBKEY record 3830gm5 DC @}@ 3831libu DCW #1 Library unit 3832delfg DCW #1 WM means deleted a LIB module 3833cpflg DCW #1 1 means copy WK1 to LIB 3834eorb DCW #1 E or B or blank * Blank = nothing known about LIB * E = no LIB, B = OK to write LIB 3835uorr DCW #1 R if LIB position is after LIBKEY 3845libkey DCW @*$*LIBRARY@ 3872nolib DCW @NO LIBRARY EXISTS IN SYSTEM@ 3915inval DCW @INVALID CONTROL CARD - RESTART LIBRARY RUN @ 3933endrun DCW @END OF LIBRARY RUN@ 3969found DCW @EXISTING LIBRARY FOUND AND OVERLAYED@ 3988built DCW @TAPE HAS BEEN BUILT@ 4026delmg DCW @FOLLOWING SUBROUTINES WERE NOT DELETED@ 4046asbld DCW @ASSUMED BUILD OPTION@ 4096 DCW @ROUTINES NOT IN LIBRARY OR DELETE CARD FOLLOWED AN@ 4108follw DC @ INSERT CARD@ 4135nfnd DCW @000000 NOT FOUND IN LIBRARY@ 4155eofm DCW @END OF TAPE - UNIT 0@ 4201delin DCW @ROUTINE ALREADY IN LIBRARY - DELETE AND INSERT@ 4245dkerm DCW @DECK SETUP IS IN ERROR - RESTART LIBRARY RUN@ 4246ss SS 4249kinp DCW @INP@ 4252klst DCW @LST@ 4258blnk6 DCW #6 4259kb DCW @B@ 4260k1 DCW 1 4263kdet DCW @DET@ 4264kbl DCW #1 4265ku DCW @U@ 4266cca DCW @A@ Skip to channel 1 after 4267kr DCW @R@ 4270klib DCW @LIB@ 4273kwk1 DCW @WK1@ 4274ke DCW @E@ ORG 4575 4575rm DCW @|@ 4576gmwm DCW @}@ END