COMLOC BCD 02/23/68 1225.5 2557 00000 1 COMLOC - GET CTSS COMMON LOCATION. PAGE 1 7/18/65 - NOEL I. MORRIS UNLIST M CALL MACRO SUBR,LIST 00003 ENTRY COMLOC 1 COMLOC - GET CTSS COMMON LOCATION. PAGE 2 FIND SYMBOL VALUE IN SYMBOL TABLE. TRANSFER VECTOR 00000 222346236360 BCOCT LINKAGE DIRECTOR 00001 000000000000 00002 234644434623 00003 0634 00 4 00033 COMLOC SXA XR4,4 SAVE XR4 00004 -0520 00 0 00137 NZT SUBSQ CHECK FOR FIRST ENTRY 00005 0020 00 0 00037 TRA READIN FIRST TIME, GO READ IN SYMBOL TABLE 00006 -0500 60 4 00001 GET CAL* 1,4 GET SYMBOL 00007 0100 00 0 00035 TZE GETNAM ARGUMENT ZERO - GET SYSTEM ANME 00010 -0774 00 4 00000 SC AXC **,4 SYMBOL TABLE COUNT 00011 -0340 00 4 00000 LAS LAS **,4 SEARCH FOR SYMBOL 00012 0020 00 0 00014 TRA *+2 .. 00013 1 00001 4 00027 TXI FOUND,4,1 FOUND, GO GET IT 00014 2 00002 4 00011 TIX *-3,4,2 .. 00015 0602 00 0 00141 SLW NOTFND NOT FOUND, PRINT COMMENT 00016 0534 00 4 00033 LXA XR4,4 BUT FIRST TEST FOR AN ERROR RETURN 00017 -0500 00 4 00002 CAL 2,4 IN THE NEXT ARGUMENT 00020 -0320 00 0 00177 ANA =O777777700000 GET PREFIX,TAG AND DECREMENT 00021 0322 00 0 00166 ERA =O300000000000 MAKE SURE ITS A PTH 00022 0100 60 4 00002 TZE* 2,4 RETURN WITH ZERO AC TO ERROR LOC 00023 COMENT NOTFND,6,( NOT FOUND IN SYMBOL TABLE.) 00023 0074 00 4 00140 TSX WRFLX,4 .003 00024 3 00006 0 00141 PAR NOTFND,,6 .005 00025 -0754 00 0 00000 ZAC SET VALUE TO ZERO 00026 0020 00 0 00033 TRA XR4 AND RETURN 00027 -0500 60 0 00011 FOUND CAL* LAS GET VALUE IN BCD OCTAL 00030 0602 00 0 00135 SLW TEM TEMPORARY FOR BCOCT 00031 CALL $BCOCT(TEM) CONVERT TO BINARY 00031 0074 00 4 00000 TSX $BCOCT,4 .002 00032 3 00000 0 00135 PAR TEM .004 00033 0774 00 4 00000 XR4 AXT **,4 RESTORE XR4 00034 0020 00 4 00002 TRA 2,4 RETURN 00035 0500 00 0 00136 GETNAM CLA SYSNAM GET NAME OF CTSS IN USE 00036 0020 00 0 00033 TRA XR4 RETURN 1 COMLOC - GET CTSS COMMON LOCATION. PAGE 3 READ IN (LOAD FILE) AND SYMTB FILE. 00037 -0625 00 0 00137 READIN STL SUBSQ SET SUBSEQUENT ENTRY INDIC. 00040 0634 00 1 00126 SXA XR1,1 SAVE XRS 00041 0634 00 2 00127 SXA XR2,2 .. 00042 CALL WHOAMI((BUFF,,4)) GET NAME OF SYSTEM 00042 0074 00 4 00147 TSX WHOAMI,4 .002 00043 3 00004 0 00134 PAR BUFF,,4 .004 00044 CALL TSSFIL SWITCH INTO CTSS FILES 00044 0074 00 4 00150 TSX TSSFIL,4 .002 00045 -0500 00 0 00136 CAL SYSNAM GET SYSTEM NAME 00046 -0320 00 0 00162 ANA =O770000 NUMBER FOR SYMTB FILE 00047 -0602 00 0 00132 ORS SFL .. 00050 CALL FSTATE(SFL,SFL+1(LTH,,1)) FIND LENGTH OF SYMTB FILE 00050 0074 00 4 00151 TSX FSTATE,4 .002 00051 3 00000 0 00132 PAR SFL .004 00052 3 00000 0 00133 PAR SFL+1 .004 00053 3 00001 0 00134 PAR LTH,,1 .004 00054 0534 00 4 00134 LXA LTH,4 SET UP WORDCOUNT IN RDFILE 00055 -0634 00 4 00077 SXD RSF+4,4 .. 00056 CALL GETMEM GET CURRENT MEMORY BOUND 00056 0074 00 4 00152 TSX GETMEM,4 .002 00057 0621 00 0 00077 STA RSF+4 STORE FOR RDFILE 00060 0737 00 2 00000 PAC ,2 POINTERS TO BUFFER ORG 00061 0737 00 1 00000 PAC ,1 .. 00062 0361 00 0 00134 ACL LTH INCREASE MEMBND TO FIT FILE 00063 0734 00 4 00000 PAX ,4 STORE FOR REFORMAT CHECK 00064 1 77776 4 00065 TXI *+1,4,-2 .. 00065 -0636 00 4 00115 SCD TXL,4 .. 00066 CALL SETMEM RESET MEMORY BOUND 00066 0074 00 4 00153 TSX SETMEM,4 .002 00067 CALL OPEN(=HR,SFL,SFL+1) READ SYMTB FILE 00067 0074 00 4 00154 TSX OPEN,4 .002 00070 3 00000 0 00171 PAR =HR .004 00071 3 00000 0 00132 PAR SFL .004 00072 3 00000 0 00133 PAR SFL+1 .004 00073 RSF CALL RDFILE(SFL,SFL+1,=0(**,,**)) 00073 0074 00 4 00155 TSX RDFILE,4 .002 00074 3 00000 0 00132 PAR SFL .004 00075 3 00000 0 00133 PAR SFL+1 .004 00076 3 00000 0 00160 PAR =0 .004 00077 3 00000 0 00000 PAR **,,** .004 00100 CALL CLOSE(SFL,SFL+1) .. 00100 0074 00 4 00156 TSX CLOSE,4 .002 00101 3 00000 0 00132 PAR SFL .004 1 COMLOC - GET CTSS COMMON LOCATION. PAGE 4 READ IN (LOAD FILE) AND SYMTB FILE. 00102 3 00000 0 00133 PAR SFL+1 .004 00103 CALL USRFIL RETURN TO USER'S FILE DIRECTORY 00103 0074 00 4 00157 TSX USRFIL,4 .002 1 COMLOC - GET CTSS COMMON LOCATION. PAGE 5 REFORMAT SYMBOL TABLE FOR FAST LOOKUP. 00104 0774 00 4 00004 AXT 4,4 FOUR ENTRIES PER CARD 00105 -0500 00 1 00000 LOOP CAL ,1 GET VALUE IN OCTAL BCD 00106 0602 00 2 00000 SLW ,2 STORE IN COMPACTED TABLE 00107 -0500 00 1 00001 CAL 1,1 SYMBOL IN BCD 00110 0560 00 1 00002 LDQ 2,1 .. 00111 -0763 00 0 00022 LGL 18 SHIFT INTO AC 00112 0602 00 2 00001 SLW 1,2 STORE 00113 1 77775 1 00114 TXI *+1,1,-3 NEXT SYMBOL 00114 1 77776 2 00115 TXI *+1,2,-2 .. 00115 -3 00000 1 00120 TXL TXL END,1,** CHECK FOR END 00116 2 00001 4 00105 TIX LOOP,4,1 NEXT ENTRY 00117 1 77776 1 00104 TXI LOOP-1,1,-2 SET PICKUP FOR NEXT CARD 00120 0756 00 2 00000 END PCA ,2 FIRST LOC'N NOT USED BY TABLE 00121 0621 00 0 00011 STA LAS STORE FOR LOOKUP 00122 CALL SETMEM AND RESET MEMORY BOUND 00122 0074 00 4 00153 TSX SETMEM,4 .002 00123 0402 00 0 00077 SUB RSF+4 CALCULATE LENGTH OF TABLE 00124 0361 00 0 00161 ACL =1 .. 00125 0621 00 0 00010 STA SC .. 00126 0774 00 1 00000 XR1 AXT **,1 RESTORE XRS 00127 0774 00 2 00000 XR2 AXT **,2 .. 00130 0534 00 4 00033 LXA XR4,4 .. 00131 0020 00 0 00006 TRA GET NOW GO GET SYMBOL VALUE 1 COMLOC - GET CTSS COMMON LOCATION. PAGE 6 STORAGE AND CONSTANTS. 00132 234644000000 SFL BCI 2,COM000 SYMTB 00133 606270446322 00134 BUFF SYN * 00134 0 00000 0 00000 LTH PZE 00135 0 00000 0 00000 TEM PZE 00136 0 00000 0 00000 SYSNAM PZE 00137 0 00000 0 00000 SUBSQ PZE END REMOTE SEQUENCES 00140 0101 00 0 00176 WRFLX TIA =HWRFLX .002 00141 606060606060 NOTFND BCI 6, NOT FOUND IN SYMBOL TABLE. .002 00142 604546636026 00143 466445246031 00144 456062704422 00145 464360632122 00146 432533606060 00147 0101 00 0 00175 WHOAMI TIA =HWHOAMI .002 00150 0101 00 0 00173 TSSFIL TIA =HTSSFIL .002 00151 0101 00 0 00164 FSTATE TIA =HFSTATE .002 00152 0101 00 0 00165 GETMEM TIA =HGETMEM .002 00153 0101 00 0 00172 SETMEM TIA =HSETMEM .002 00154 0101 00 0 00167 OPEN TIA =HOPEN .002 00155 0101 00 0 00170 RDFILE TIA =HRDFILE .002 00156 0101 00 0 00163 CLOSE TIA =HCLOSE .002 00157 0101 00 0 00174 USRFIL TIA =HUSRFIL .002 1 COMLOC - GET CTSS COMMON LOCATION. PAGE 1 POST PROCESSOR ASSEMBLY DATA 200 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 10 SC 125 120 END 115 6 GET 131 11 LAS 27, 121 134 LTH 53, 54, 62 73 RSF 55, 57, 123 132 SFL 47, 51, 52, 71, 72, 74, 75, 101, 102 135 TEM 30, 32 115 TXL 65 126 XR1 40 127 XR2 41 33 XR4 3, 16, 26, 36, 130 134 BUFF 43, 134 105 LOOP 116, 117 154 OPEN 67 0 BCOCT 31 156 CLOSE 100 27 FOUND 13 137 SUBSQ 4, 37 140 WRFLX 23 3 COMLOC 0 151 FSTATE 50 152 GETMEM 56 35 GETNAM 7 141 NOTFND 15, 24 155 RDFILE 73 37 READIN 5 153 SETMEM 66, 122 136 SYSNAM 35, 45 150 TSSFIL 44 157 USRFIL 103 147 WHOAMI 42 0 NO ERROR IN ABOVE ASSEMBLY. ACORE BCD 09/20/68 0016.8 2329 00000 1 XLIBE ROUTINE TO RETURN THE ADDRESS OF A GIVEN ENTRY IN CORE-A PAGE 1 JIM BIXBY 8/03/67 THIS ROUTINE, ON THE FIRST CALL, READS THE LOAD FILE FROM M1416 CMFL02 INTO CORE, COMPRESSES IT, AND SETS UP FOR OTHER CALLS. THEN IT PERFORMS THE REQUESTED LOOKUP. ON SUBSEQUENT CALLS, IT JUST PERFORMS THE LOOUP ON THE COMPACTED TABLE 00011 ENTRY ACORE EXTERN TSSFIL,USRFIL,FSTATE,GETMEM,SETMEM EXTERN OPEN,RDWAIT,CLOSE,WRFLX TRANSFER VECTOR 00000 636262263143 TSSFIL 00001 646251263143 USRFIL 00002 266263216325 FSTATE 00003 272563442544 GETMEM 00004 622563442544 SETMEM 00005 464725456060 OPEN 00006 512466213163 RDWAIT 00007 234346622560 CLOSE 00010 665126436760 WRFLX 00011 0634 00 4 00160 ACORE SXA XR4,4 SAME 'EM 00012 0634 00 1 00161 SXA XR1,1 .. THE NEXT INSTRUCTION IS CHANGED TO A TRA MAIN AFTER THE INITIALIZATION TAKES PLACE 00013 0020 00 0 00014 GATE TRA *+1 00014 0760 00 0 00016 LMTM FROM HERE TO MAIN, WE LOAD THE FILE AND COMPRESS IT 00015 0634 00 6 00125 SXA XR6,6 SAVE MORE REGISTERS 00016 0634 00 7 00126 SXA XR7,7 00017 0634 00 2 00124 SXA XR2,2 00020 0634 00 4 00123 SXA SXR4,4 00021 0074 00 4 00000 TSX TSSFIL,4 GO TO THE SYSTEM FILES 00022 0074 00 4 00002 TSX FSTATE,4 AND GET THE SIZE OF THE LOAD FILE 00023 3 00000 0 00167 PTH LOAD 00024 3 00000 0 00170 PTH FILE 00025 3 00001 0 00163 PTH SIZE,,1 00026 0534 00 4 00163 LXA SIZE,4 PUT THE SIZE INTO THE READ COMM. 00027 -0634 00 4 00052 SXD BUFF,4 .. 00030 0074 00 4 00003 TSX GETMEM,4 GET CURRENT MEM BOUNT 00031 0621 00 0 00164 STA OLDTOP AND STORE AROUND 00032 0621 00 0 00101 STA STRLP 00033 0621 00 0 00102 STA STRLP+1 00034 0621 00 0 00133 STA CMPARE 00035 0621 00 0 00154 STA GETRES 00036 0621 00 0 00064 STA CONTRL 00037 0621 00 0 00052 STA BUFF 00040 0361 00 0 00163 ACL SIZE EXTEND BY NEEDED SIZE 1 XLIBE ROUTINE TO RETURN THE ADDRESS OF A GIVEN ENTRY IN CORE-A PAGE 2 00041 0074 00 4 00004 TSX SETMEM,4 .. 00042 0074 00 4 00005 TSX OPEN,4 OPEN THE LOAD FILE 00043 3 00000 0 00171 PTH R 00044 3 00000 0 00167 PTH LOAD 00045 3 00000 0 00170 PTH FILE 00046 0074 00 4 00006 TSX RDWAIT,4 READ IT INTO CORE 00047 3 00000 0 00167 PTH LOAD 00050 3 00000 0 00170 PTH FILE 00051 3 00000 0 00175 PTH =0 00052 3 00000 0 00000 BUFF PTH **,,** 00053 3 00000 0 00055 PTH *+2 ON END OF FILE 00054 3 00000 0 00163 PTH SIZE WORDS TRANSMITTED 00055 0074 00 4 00007 TSX CLOSE,4 CLOSE THE FILE 00056 3 00000 0 00167 PTH LOAD 00057 3 00000 0 00170 PTH FILE 00060 0534 00 2 00163 LXA SIZE,2 GET WORDS IN FILE 00061 -0636 00 2 00114 SCD LOOPCK,2 FOR CHECK ON COMPRESS LOOP 00062 -0774 00 1 00012 AXC 10,1 SKIP THE FIRST TEN WORDS 00063 0774 00 2 00000 AXT 0,2 STORE POINTER 00064 -0500 00 1 00000 CONTRL CAL **,1 GET THE CONTROL WORD 00065 0100 00 0 00115 TZE DONE IF THIS WORD IS ZERO,WE'VE FINISHED 00066 0734 00 6 00000 PAX ,6 NUMBER OF DATA WORDS 00067 -0734 00 7 00000 PDX ,7 NUMBER OF WORDS IN THIS BLOCK 00070 -0636 00 6 00071 SCD *+1,6 00071 1 00000 7 00072 TXI *+1,7,** X7=BLOCK SIZE-DATA AREA SIZE 00072 1 77777 7 00073 TXI *+1,7,-1 FUDGE BACK ONE 00073 -0636 00 7 00113 SCD SKIP,7 TO GET NUMBER OF JUNK WORDS 00074 1 77776 1 00075 TXI *+1,1,-2 MOVE TO PERTINENT AREA 00075 -0500 60 0 00101 CAL* STRLP PICK UP PROGRAM ORIGIN WORD 00076 0622 00 0 00166 STD ORIGIN SAVE IT ***** GAZABE ***** 00077 1 77777 1 00100 TXI *+1,1,-1 NOW SKIP THIS WORD TOO. 00100 1 77776 6 00101 TXI *+1,6,-2 AND SKIP FIRST TWO DATA WORDS 00101 -0500 00 1 00000 STRLP CAL **,1 GET DATA WORD 00102 0602 00 2 00000 SLW **,2 STORE IN COMPRESSED TABLE 00103 1 77777 1 00104 TXI *+1,1,-1 NEXT WORD IS ENTRY POINT 00104 1 77777 2 00105 TXI *+1,2,-1 .. 00105 -0500 60 0 00101 CAL* STRLP PICK UP ENTRY (IN ADDRESS) 00106 -0501 00 0 00166 ORA ORIGIN OR IN ORIGIN (IN DECREMENT) 00107 0602 60 0 00102 SLW* STRLP+1 SAVE THAT IN TABLE TOO 00110 1 77777 1 00111 TXI *+1,1,-1 MOVE READ POINTER 00111 1 77777 2 00112 TXI *+1,2,-1 AND WRITE POINTER 00112 2 00002 6 00101 TIX STRLP,6,2 DO ALL DATA WORDS THIS BLOCK BY 2'S 00113 1 00000 1 00114 SKIP TXI *+1,1,** SKIP THE NEXT JUNK WORDS 00114 3 00000 1 00064 LOOPCK TXH CONTRL,1,** AND DO WHOLE FILE 00115 0636 00 2 00163 DONE SCA SIZE,2 GET COMPACTED SIZE OF FILE 00116 -0634 00 2 00137 SXD LOPCHK,2 STORE LOOKUP LOOP LIMIT 00117 0500 00 0 00164 CLA OLDTOP GET OLD MEM BOUND 00120 0400 00 0 00163 ADD SIZE ADD NEW TABLE SIZE 00121 0074 00 4 00004 TSX SETMEM,4 AND SET NEW MEM BOUND 00122 0074 00 4 00001 TSX USRFIL,4 GO HOME 00123 0774 00 4 00000 SXR4 AXT **,4 RESTORE SOME INDEX REGISTERS 00124 0774 00 2 00000 XR2 AXT **,2 00125 0774 00 6 00000 XR6 AXT **,6 00126 0774 00 7 00000 XR7 AXT **,7 00127 -0625 00 0 00013 STL GATE AND SHUT THE GATE 1 XLIBE ROUTINE TO RETURN THE ADDRESS OF A GIVEN ENTRY IN CORE-A PAGE 3 THE NEXT SECTION DOES THE ACTUAL LOOKUP AND WAS INITIALIZED ON THE FIRST CALL TO ACORE BY THE ABOVE 00130 -0500 60 4 00001 MAIN CAL* 1,4 GET THE DESIRED BCD ENTRY 00131 0602 00 0 00172 SLW ENTRY WE MAY NEED THIS 00132 0774 00 1 00000 AXT 0,1 START READING AT TOP OF TABLE 00133 -0340 00 1 00000 CMPARE LAS **,1 CHECK AGAINST NEXT TABLE ENTRY 00134 0020 00 0 00136 TRA DOWN NOPE 00135 0020 00 0 00153 TRA OUT YUP 00136 1 77776 1 00137 DOWN TXI *+1,1,-2 MOVE TO NEXT NEXT TABLE PAIR 00137 3 00000 1 00133 LOPCHK TXH CMPARE,1,** DO WHOLE TABLE HERE IF ENTRY NOT FOUND 00140 0534 00 4 00160 LXA XR4,4 00141 -0500 00 4 00002 CAL 2,4 00142 -0320 00 0 00177 ANA =O777777700000 TEST FOR THE OPTIONAL ERROR RETURN 00143 0322 00 0 00176 ERA =O300000000000 WHICH IS A PTH WITH NO TAG OR DECREMENT 00144 -0100 00 0 00147 TNZ *+3 NO ERROR RETURN, PRINT MESSAGE 00145 0534 00 1 00161 LXA XR1,1 00146 0021 60 4 00002 XIT* 2,4 AND GO TO THE ERROR RETURN 00147 0074 00 4 00010 TSX WRFLX,4 WRITE THE NOT FOUND MESSAGE 00150 0 00003 0 00172 PZE ENTRY,,3 00151 0600 00 0 00165 STZ RESULT PREPARE TO RETURN ZEROS 00152 0020 00 0 00157 TRA RETURN 00153 1 77777 1 00154 OUT TXI *+1,1,-1 MOVE TO GET LOCATION 00154 0560 00 1 00000 GETRES LDQ **,1 00155 -0773 00 0 00022 RQL 18 PUT IT IN PROPER FORMAT 00156 -0600 00 0 00165 STQ RESULT AND STORE 00157 -0500 00 0 00165 RETURN CAL RESULT GET FINAL RESULT 00160 0774 00 4 00000 XR4 AXT **,4 RESTORE THE FINAL XRS 00161 0774 00 1 00000 XR1 AXT **,1 00162 0020 00 4 00002 TRA 2,4 AND RETURN * * * * * * * * * * * * * * STORAGE AND CONSTANTS * * * * * * * * * * * * * * 00163 SIZE BSS 1 00164 OLDTOP BSS 1 00165 RESULT BSS 1 00166 ORIGIN BSS 1 HAVE TO PUT IT SOMEWHERE * * BCI' * * 00167 607443462124 LOAD BCI 1, (LOAD 00170 602631432534 FILE BCI 1, FILE) 00171 516060606060 R BCI 1,R 00172 000000000000 ENTRY BCI 3,000000 NOT FOUND. 00173 604546636026 00174 466445243360 1 XLIBE ROUTINE TO RETURN THE ADDRESS OF A GIVEN ENTRY IN CORE-A PAGE 4 END LITERALS 00175 000000000000 00176 300000000000 00177 777777700000 1 XLIBE ROUTINE TO RETURN THE ADDRESS OF A GIVEN ENTRY IN CORE-A PAGE 1 POST PROCESSOR ASSEMBLY DATA 200 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 171 R 43 153 OUT 135 161 XR1 12, 145 124 XR2 17 160 XR4 11, 140 125 XR6 15 126 XR7 16 52 BUFF 27, 37 115 DONE 65 136 DOWN 134 170 FILE 24, 45, 50, 57 13 GATE 127 167 LOAD 23, 44, 47, 56 130 MAIN 5 OPEN 42 163 SIZE 25, 26, 40, 54, 60, 115, 120 113 SKIP 73 123 SXR4 20 11 ACORE 0 7 CLOSE 55 172 ENTRY 131, 150 101 STRLP 32, 33, 75, 105, 107, 112 10 WRFLX 147 133 CMPARE 34, 137 64 CONTRL 36, 114 2 FSTATE 22 3 GETMEM 30 154 GETRES 35 114 LOOPCK 61 137 LOPCHK 116 164 OLDTOP 31, 117 166 ORIGIN 76, 106 6 RDWAIT 46 165 RESULT 151, 156, 157 157 RETURN 152 4 SETMEM 41, 121 0 TSSFIL 21 1 USRFIL 122 0 NO ERROR IN ABOVE ASSEMBLY. PRMESS BCD 02/09/69 0620.3 1284 00000 1 PAGE 1 00004 ENTRY PRMESS 00006 ENTRY PRMESA EXTERN WRFLX,WRFLXA TRANSFER VECTOR 00000 665126436760 WRFLX 00001 665126436721 WRFLXA LINKAGE DIRECTOR 00002 000000000000 00003 475144256262 00016 LINLEN EQU 14 MAX. NO. WORDS TO WRITE IN ONE CALL 00004 -0500 00 0 00000 PRMESS CAL WRFLX PRMESS ADDS EXTRA CR 00005 0020 00 0 00007 TRA PRX 00006 -0500 00 0 00001 PRMESA CAL WRFLXA PRMESA DOES NOT. 00007 0621 00 0 00065 PRX STA WRFX 00010 0634 00 1 00070 SXA XR1,1 SAVE WORKING REGISTERS 00011 0634 00 2 00071 SXA XR2,2 00012 0634 00 4 00073 SXA XR4,4 00013 0634 00 3 00072 SXA XR3,3 NEED MORE THAN THREE, 00014 0774 00 2 00000 AXT 0,2 SO SAVE 'MULTIPLE TAG MODE' STATUS 00015 -0774 00 3 00001 AXC 1,3 00016 0634 00 2 00101 SXA MTM,2 00017 0760 00 0 00016 LMTM 00020 0520 00 0 00101 ZET MTM 00021 0634 00 3 00072 SXA XR3,3 00022 0634 00 5 00074 SXA XR5,5 00023 0534 00 1 00073 LXA XR4,1 FIRST POSSIBLE ARGUMENT 00024 1 77777 1 00025 TXI *+1,1,-1 IS AT '1,4' 00025 0774 00 4 00016 AXT LINLEN,4 SET MAXIMUM BUFFER LENGTH 00026 -0500 00 1 00000 NXARG CAL 0,1 GET NEXT POSSIBLE ARGUMENT 00027 -0737 00 2 00000 PDC ,2 SAVE COUNT OR POINTER THERETO 00030 0737 00 3 00000 PAC ,3 AND ADDRESS OF DATA 00031 -0774 00 5 00001 AXC 1,5 ASSUME DATA WILL BE STORED FORWARD 00032 -0320 00 0 00100 ANA PT REMOVE ALL BUT PREFIX AND TAG 00033 0322 00 0 00102 ERA PAR IF 'PAR' WITH ZERO TAG 00034 0100 00 0 00054 TZE HAVPAR DECR. WAS THE COUNT 00035 0322 00 0 00103 ERA 2XOR3 OR IF 'BLK', POINTER TO IT 00036 -0100 00 0 00063 TNZ OUT ANYTHING ELSE MARKS END OF CALLING SEQ. 00037 0500 00 2 00000 CLA 0,2 PICK UP COUNT FOR 'BLK' 00040 -0100 00 0 00042 TNZ *+2 IF IT IS ZERO, 00041 1 77777 1 00026 TXI NXARG,1,-1 IGNORE THIS ARGUMENT. 00042 -0120 00 0 00044 TMI *+2 IF IT IS POSITIVE, 00043 0774 00 5 00001 BKWRD AXT 1,5 DATA IS STORED BACKWARD. 00044 0734 00 2 00000 PAX ,2 PUT COUNT IN INDEX 00045 -0634 00 5 00051 SETBMP SXD BUMP,5 AND SAVE DIRECTION OF DATA 1 PAGE 2 00046 -0500 00 3 00000 MOVE CAL 0,3 GET NEXT WORD 00047 0602 00 4 00122 SLW LINE+LINLEN,4 INTO OUTPUT LINE 00050 -2 00001 4 00057 TNX DUMP,4,1 TEST FOR FULL BUFFER 00051 1 00000 3 00052 BUMP TXI *+1,3,** NOT FULL, MOVE TO NEXT WORD 00052 2 00001 2 00046 TIX MOVE,2,1 IF THERE IS ANY 00053 1 77777 1 00026 TXI NXARG,1,-1 OR TRY NEXT ARGUMENT 00054 -3 40000 2 00045 HAVPAR TXL SETBMP,2,16384 IF 'PAR' COUNT .G. 16384, ASSUME NEG. 00055 0756 00 2 00000 PCA ,2 OTHERWISE, RE-COMPLEMENT COUNT 00056 0020 00 0 00043 TRA BKWRD AND TAKE DATA BACKWARD 00057 0074 00 4 00001 DUMP TSX WRFLXA,4 FLUSH FILLED BUFFER 00060 0 00016 0 00104 LINE,,LINLEN .. 00061 0774 00 4 00016 AXT LINLEN,4 RESET BUFFER COUNT 00062 0020 00 0 00051 TRA BUMP AND FINISH THIS ARGUMENT 00063 1 77762 4 00064 OUT TXI *+1,4,-LINLEN COMPUTE LENGTH OF LINE 00064 -0636 00 4 00066 SCD *+2,4 AND SET INTO CALL 00065 0074 00 4 00000 WRFX TSX **,4 SEND WITH OR WITHOUT CR 00066 0 00000 0 00104 LINE,,** .. 00067 0636 00 1 00077 SCA RETURN,1 SET RETURN LOCATION 00070 0774 00 1 00000 XR1 AXT **,1 AND RESTORE REGISTERS 00071 0774 00 2 00000 XR2 AXT **,2 00072 0774 00 3 00000 XR3 AXT **,3 00073 0774 00 4 00000 XR4 AXT **,4 00074 0774 00 5 00000 XR5 AXT **,5 00075 0520 00 0 00101 ZET MTM IF WE WERE IN MULT. TAG MODE 00076 -0760 00 0 00016 EMTM RE-ENTER IT (UGH) 00077 0020 00 0 00000 RETURN TRA ** RETURN TO CALLER 00100 -3 00000 7 00000 PT SVN 0,-1,0 00101 0 00000 0 00000 MTM 00102 3 00000 0 00000 PAR PAR 0 00103 1 00000 0 00000 2XOR3 ONE 00104 LINE BSS LINLEN END 1 PAGE 1 POST PROCESSOR ASSEMBLY DATA 122 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 100 PT 32 101 MTM 16, 20, 75 63 OUT 36 102 PAR 33 7 PRX 5 70 XR1 10 71 XR2 11 72 XR3 13, 21 73 XR4 12, 23 74 XR5 22 51 BUMP 45, 62 57 DUMP 50 104 LINE 47, 60, 66 46 MOVE 52 65 WRFX 7 103 2XOR3 35 43 BKWRD 56 26 NXARG 41, 53 0 WRFLX 4 54 HAVPAR 34 16 LINLEN 4, 25, 47, 60, 61, 63, 104 6 PRMESA 0 4 PRMESS 0 77 RETURN 67 45 SETBMP 54 1 WRFLXA 6, 57 0 NO ERROR IN ABOVE ASSEMBLY. PRFULL BCD 02/09/69 0620.3 5492 00000 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 1 00020 ENTRY PRFULL PRINT 12-BIT WITH CR 00023 ENTRY PRFULA PRINT 12-BIT WITHOUT CR 00004 ENTRY PRTCHR INTERCEPT OUTPUT CHARACTERS 00011 ENTRY -PRMESS TO AVOID LOADING 00014 ENTRY -PRMESA EXTRA ROUTINES EXTERN WRFLX,WRFLXA 00000 665126436760 WRFLX 00001 665126436721 WRFLXA 00034 OUTLEN EQU 28 MAXIMUM LENGTH OF OUTPUT LINE 00004 0600 00 0 00477 PRTCHR STZ FLAG RESET INTERCEPT FLAG 00005 -0500 00 4 00001 CAL 1,4 GET POSSIBLE ADDRESS OF ROUTINE TO CALL 00006 0520 60 4 00001 ZET* 1,4 IF ZERO CONTENTS, TURN FEATURE OFF 00007 0621 00 0 00477 STA FLAG OTHERWISE, SET NEW ADDRESS 00010 0020 00 4 00002 TRA 2,4 GO AWAY 00011 -0500 00 0 00000 PRMESS CAL WRFLX PRINT 6-BIT WITH CR 00012 0560 00 0 00513 LDQ BLANKS .. 00013 0020 00 0 00016 TRA *+3 00014 -0500 00 0 00001 PRMESA CAL WRFLXA PRINT 6-BIT WITHOUT CR 00015 0560 00 0 00512 LDQ NULLS .. 00016 -0625 00 0 00507 STL STRAIT IGNORE 'ESCAPE' SEQUENCES 00017 0020 00 0 00027 TRA PR 00020 -0500 00 0 00000 PRFULL CAL WRFLX PRINT 12-BIT WITH CR 00021 0560 00 0 00513 LDQ BLANKS .. 00022 0020 00 0 00025 TRA *+3 00023 -0500 00 0 00001 PRFULA CAL WRFLXA PRINT 12-BIT WITHOUT CR 00024 0560 00 0 00512 LDQ NULLS .. 00025 0600 00 0 00507 STZ STRAIT INTERPRET 'ESCAPE' SEQUENCES 00026 0600 00 0 00474 STZ UC START OUT IN LOWER CASE 00027 0621 00 0 00121 PR STA WRFX COMMON CODE NOW, SAVE FINAL CALL 00030 -0600 00 0 00506 STQ PADDNG AND CHARACTERS TO PAD WITH 00031 0604 00 0 00473 STI SI SAVE INDICATORS, AND 00032 0636 00 1 00131 SCA XR1,1 ALL INDEX REGISTERS 00033 0636 00 2 00130 SCA XR2,2 .. 00034 0636 00 3 00127 SCA XR3,3 .. 00035 0774 00 2 00000 AXT 0,2 AND MULTIPLE TAG MODE (UGH) FLAG 00036 -0774 00 3 00001 AXC 1,3 .. 00037 0634 00 2 00475 SXA MTM,2 .. 00040 0760 00 0 00016 LMTM GOOD RIDDANCE 00041 0520 00 0 00475 ZET MTM IF WE DIDN'T BEFORE, 00042 0636 00 3 00127 SCA XR3,3 SAVE XR3 00043 0636 00 4 00126 SCA XR4,4 .. 00044 0636 00 5 00125 SCA XR5,5 .. 00045 0636 00 6 00124 SCA XR6,6 .. 00046 0636 00 7 00123 SCA XR7,7 .. 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 2 00047 0636 00 4 00136 SCA RETURN,4 SAVE CALLING SEQUENCE LOCATION 00050 0600 00 0 00505 STZ SWCNT CLEAR FLAGS 00051 0600 00 0 00502 STZ ALLIN .. 00052 0600 00 0 00503 STZ ESCHR .. 00053 0600 00 0 00500 STZ NESC .. 00054 0774 00 3 00000 AXT 0,3 BEGIN WITH NEW WORD 00055 0774 00 1 00000 AXT 0,1 FROM NEW ARGUMENT 00056 -0520 00 0 00477 SENDCH NZT FLAG IS FEATURE ENABLED 00057 0020 00 0 00071 TRA LOOP1 NO, OUTPUT TO CONSOLE 00060 0074 00 4 00137 TSX CHAR,4 GET NEXT CHARACTER 00061 0 00000 0 00123 XR7 QUICK EXIT WHEN DONE 00062 0602 00 0 00501 SLW TEMP DUMP INTO TEMPORARY 00063 -0600 00 0 00476 STQ SMQ SAVE REMAINING CHARS. FROM MQ 00064 -0774 00 4 00065 AXC *+1,4 SIMULATE A TSX* 00065 0020 60 0 00477 TRA* FLAG GIVE AWAY THIS CHAR. 00066 3 00000 0 00501 PAR TEMP .. 00067 0560 00 0 00476 LDQ SMQ RESTORE NEXT CHARS. TO MQ 00070 0020 00 0 00056 TRA SENDCH WHIRRR 00071 0774 00 5 00034 LOOP1 AXT OUTLEN,5 SET OUTPUT BUFFER LENGTH 00072 -0774 00 6 00030 LOOP2 AXC 24,6 AND SHIFT FOR FIRST CHAR. 00073 0441 00 0 00550 LDI =0 CLEAR GARBAGE 00074 0074 00 4 00137 LOOP3 TSX CHAR,4 GET NEXT CHARACTER (ALREADY ESCAPED) 00075 0 00000 0 00107 DONE HERE IF NOTHING LEFT 00076 0767 00 6 00000 ALS ,6 SHIFT TO POSITION 00077 0043 00 0 00000 OAI AND ADD TO OUTPUT 00100 -3 00000 6 00102 TXL *+2,6,0 IS THIS WORD FULL.Q. 00101 1 00014 6 00074 TXI LOOP3,6,12 NO, DECREMENT SHIFT 00102 0604 00 5 00550 STI OUTBUF+OUTLEN,5 YES, ADD TO BUFFER 00103 2 00001 5 00072 TIX LOOP2,5,1 GO BACK IF MORE ROOM, 00104 0074 00 4 00001 TSX WRFLXA,4 OTHERWISE MAKE SOME. 00105 -1 00034 0 00514 MON OUTBUF,,OUTLEN (MON FOR 12-BIT OUTPUT) 00106 0020 00 0 00071 TRA LOOP1 START OVER AGAIN 00107 -3 00000 6 00111 DONE TXL *+2,6,0 DONE, IS THIS WORD EMPTY.Q. 00110 -3 77750 6 00117 TXL DONE1,6,-24 YES, DON'T PAD IT 00111 -0754 00 0 00000 ZAC .. 00112 0560 00 0 00506 LDQ PADDNG PAD PARTIAL WORD WITH NULLS 00113 -0763 00 6 00014 LGL 12,6 .. 00114 0043 00 0 00000 OAI .. 00115 0604 00 5 00550 STI OUTBUF+OUTLEN,5 .. 00116 1 77743 5 00120 TXI *+2,5,-OUTLEN-1 COMPUTE LENGTH OF BUFFER 00117 1 77744 5 00120 DONE1 TXI *+1,5,-OUTLEN COMPUTE LENGTH OF BUFFER 00120 -0636 00 5 00122 SCD *+2,5 SET COUNT IN CALL, AND 00121 0074 00 4 00000 WRFX TSX **,4 WRITE FINAL BUFFER 00122 -1 00000 0 00514 MON OUTBUF,,** (MON FOR 12-BIT OUTPUT) 00123 -0774 00 7 00000 XR7 AXC **,7 RESTORE THE MACHINE 00124 -0774 00 6 00000 XR6 AXC **,6 .. 00125 -0774 00 5 00000 XR5 AXC **,5 .. 00126 -0774 00 4 00000 XR4 AXC **,4 .. 00127 -0774 00 3 00000 XR3 AXC **,3 .. 00130 -0774 00 2 00000 XR2 AXC **,2 .. 00131 -0774 00 1 00000 XR1 AXC **,1 .. 00132 0761 00 0 00000 XR0 NOP (FOR EFFECTIVE ADDRESS COMPUTATIONS) 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 3 00133 0441 00 0 00473 LDI SI .. 00134 0520 00 0 00475 ZET MTM IF WE MUST ... 00135 -0760 00 0 00016 EMTM BLEUGH 00136 0020 00 0 00000 RETURN TRA ** AWAY WE GO 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 4 CHAR - PRODUCE NEXT (ESCAPED) CHARACTER 00137 0520 00 0 00502 CHAR ZET ALLIN IF NO MORE INPUT, 00140 0020 60 4 00001 TRA* 1,4 SAY SO. 00141 0634 00 4 00164 SXA CX4,4 SAVE RETURN 00142 -0500 00 0 00503 CHR1 CAL ESCHR IS THERE ANY LEFT-OVER JUNK 00143 0100 00 0 00147 TZE *+4 NO, SKIP 00144 -0320 00 0 00553 ANA =O77 YES, REMOVE POSSIBLE GARBAGE 00145 0600 00 0 00503 STZ ESCHR RESET IT 00146 0020 00 0 00153 TRA CHAR1 AND PROCESS IT 00147 0074 00 4 00376 TSX GTC,4 GET NEXT CHARACTER 00150 0 00000 0 00166 CFINIS HERE IF NONE LEFT 00151 0520 00 0 00504 ZET NESC1 ARE WE LOOKING FOR ESCAPES 00152 0020 00 0 00164 TRA CX4 NO, JUST RETURN 00153 0737 00 7 00000 CHAR1 PAC ,7 YES, SAVE THE CHAR. 00154 0322 00 0 00510 ERA ESCH IS IT THE ESCAPE CHAR.Q. 00155 0100 00 0 00202 TZE ESCAPE YES, START ESCAPE SEQUENCE 00156 0500 00 7 00276 SHIFT CLA CHR,7 NO, IS IT ALPHABETIC 00157 -0120 00 0 00170 TMI CASE YES, WORRY ABOUT CASE 00160 0756 00 7 00000 CHAR2 PCA ,7 RESTORE TO AC 00161 0322 00 0 00511 ERA NULL IS IT NULL.Q. 00162 0100 00 0 00142 TZE CHR1 YES, TRY AGAIN 00163 0756 00 7 00000 PCA ,7 NO, GET IT BACK AGAIN 00164 0774 00 4 00000 CX4 AXT **,4 AND RETURN IT 00165 0020 00 4 00002 TRA 2,4 .. 00166 0522 00 0 00164 CFINIS XEC CX4 IF NOTHING LEFT, 00167 0020 60 4 00001 TRA* 1,4 TAKE 'DONE' RETURN 00170 0500 00 0 00505 CASE CLA SWCNT ARE WE SWITCHING CASE 00171 -0100 00 0 00175 TNZ CASE1 YES, GO WORRY 00172 -0520 00 0 00474 NZT UC NO, IF FLAG IS OFF, 00173 1 77700 7 00160 TXI CHAR2,7,-64 MAKE IT LOWER 00174 0020 00 0 00160 TRA CHAR2 00175 0402 00 0 00551 CASE1 SUB =1 YES, REDUCE COUNT 00176 0601 00 0 00505 STO SWCNT .. 00177 0520 00 0 00474 ZET UC THEN IF FLAG IS ON, 00200 1 77700 7 00160 TXI CHAR2,7,-64 MAKE LOWER. 00201 0020 00 0 00160 TRA CHAR2 .. 00202 0074 00 4 00376 ESCAPE TSX GTC,4 HERE FOR ESCAPE SEQUENCE, GET NEXT CHAR. 00203 0 00000 0 00166 CFINIS IF NONE, IGNORE THE PROBLEM 00204 0100 00 0 00220 TZE OCTESC IF CHAR. IS ZERO 00205 0737 00 7 00000 PAC ,7 .. 00206 3 77770 7 00220 TXH OCTESC,7,-8 OR 1 THRU 7, TRY OCTAL SEQ. 00207 0500 00 7 00276 CLA CHR,7 PICK UP EQUIVALENCE 00210 0737 00 7 00000 PAC ,7 AND SAVE IT 00211 0767 00 0 00001 ALS 1 IS THIS ONE SPECIAL.Q. 00212 -0760 00 0 00001 PBT .. 00213 0020 00 0 00216 TRA *+3 NO. 00214 0522 00 7 00266 XEC SPESHL,7 YES, EXECUTE FUNCTION 00215 0020 00 0 00142 TRA CHR1 THEN GET NEXT CHAR. 00216 -3 77700 7 00163 TXL CX4-1,7,-64 IF NOT IN TABLE, JUST LEAVE 00217 0020 00 0 00156 TRA SHIFT OTHERWISE, CHECK CASE SHIFT 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 5 00220 0767 00 0 00014 OCTESC ALS 12 SAVE THIS CHAR 00221 0602 00 0 00503 SLW ESCHR .. 00222 0074 00 4 00376 TSX GTC,4 GET NEXT CHAR 00223 0 00000 0 00166 CFINIS IF NOTHING THERE, VANISH 00224 -0340 00 0 00552 LAS =8 IS IT OCTAL 00225 0020 00 0 00251 TRA SWESC NO, GO PROCESS IT 00226 0020 00 0 00251 TRA SWESC .. 00227 0767 00 0 00006 ALS 6 YES, SAVE IT AND 00230 -0602 00 0 00503 ORS ESCHR .. 00231 0074 00 4 00376 TSX GTC,4 LOOK FOR OCTAL ESCAPE 00232 0 00000 0 00246 UNESC .. 00233 -0340 00 0 00552 LAS =8 IS THIRD CHAR OCTAL 00234 0020 00 0 00255 TRA SWESC1 NO, MUST OUTPUT 00235 0020 00 0 00255 TRA SWESC1 TWO EXCESS CHARS 00236 -0501 00 0 00503 ORA ESCHR YES, FORM RESULT CHAR 00237 -0765 00 0 00003 LGR 3 .. 00240 0771 00 0 00003 ARS 3 .. 00241 -0765 00 0 00003 LGR 3 .. 00242 0771 00 0 00003 ARS 3 .. 00243 -0763 00 0 00006 LGL 6 .. 00244 0600 00 0 00503 STZ ESCHR RESET SEQUENCE 00245 0020 00 0 00164 TRA CX4 AND RETURN 00246 -0625 00 0 00502 UNESC STL ALLIN REMEMBER INPUT DONE 00247 -0500 00 0 00503 CAL ESCHR RECALL THE COUNT AND LAST CHAR 00250 0020 00 0 00253 TRA *+3 .. 00251 0767 00 0 00006 SWESC ALS 6 POSITION NEW CHAR 00252 -0501 00 0 00503 ORA ESCHR RECALL THE COUNT 00253 0600 00 0 00503 STZ ESCHR RESET EVERYTHING 00254 0020 00 0 00257 TRA *+3 .. 00255 -0602 00 0 00503 SWESC1 ORS ESCHR SAVE LATEST CHAR 00256 -0500 00 0 00503 CAL ESCHR AND RECALL COUNT AND PREVIOUS ONE 00257 0771 00 0 00006 ARS 6 POSITION CHAR. TO OUTPUT 00260 0737 00 7 00000 PAC ,7 SAVE IT 00261 0771 00 0 00006 ARS 6 AND SET UP 00262 0602 00 0 00505 SLW SWCNT SWITCH COUNT 00263 0756 00 7 00000 PCA ,7 RESTORE CHARACTER, 00264 -0320 00 0 00553 ANA =O77 REMOVE GARBAGE, 00265 0020 00 0 00153 TRA CHAR1 AND RETURN. 00266 0020 00 0 00273 SPESHL TRA NXRG '8 - GO TO NEXT ARGUMENT IN CALL. SEQ. 00267 0020 00 0 00166 TRA CFINIS '9 - STOP 00270 0600 00 0 00474 STZ UC 'L - LOWER CASE 00271 -0625 00 0 00474 STL UC 'U - UPPER CASE 00272 -0625 00 0 00500 STL NESC 'X - DON'T ESCAPE NEXT ARGUMENT 00273 0774 00 3 00000 NXRG AXT 0,3 FINISH THIS WORD 00274 0774 00 1 00000 AXT 0,1 AND THIS ARGUMENT 00275 0020 00 0 00142 TRA CHR1 .. 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 6 00276 +000000000000 CHR OCT 0,1,2,3 'NNN = OCTAL ESCAPE, OR 'N = SWITCH CASE 00302 +000000000004 OCT 4,5,6,7 OF NEXT N ALPHABETIC CHARACTERS. 00306 2 00000 0 00000 PTW 0 '8 = GO TO NEXT ARGUMENT 00307 2 00000 0 00001 PTW 1 '9 = STOP 00310 +000000000057 OCT 57 (ILLEGAL) 00311 +000000000137 OCT 137 '= = QUOTE 00312 +000000000014 OCT 14 '' = ' 00313 +000000000057 OCT 57,57,57 (ILLEGAL) 00316 +000000000120 OCT 120 '+ = AMPERSAND 00317 -000000000106 OCT -106 'A = AT SIGN 00320 -000000000132 OCT -132 'B = BLACK RIBBON SHIFT 00321 -000000000023 OCT -23 C 00322 -000000000024 OCT -24 D 00323 -000000000025 OCT -25 E 00324 -000000000117 OCT -117 'F = P-OFF 00325 -000000000027 OCT -27 G 00326 -000000000116 OCT -116 'H = HANG 00327 -000000000031 OCT -31 I 00330 +000000000057 OCT 57 (ILLEGAL) 00331 +000000000114 OCT 114 '. = EXCLAMATION POINT 00332 +000000000155 OCT 155 ') = GREATER 00333 +000000000135 OCT 135 'COLON = BACKSPACE 00334 +000000000057 OCT 57,57 (ILLEGAL) 00336 +000000000140 OCT 140 '- = UNDERLINE 00337 -000000000041 OCT -41 J 00340 -000000000042 OCT -42 K 00341 -2 00000 0 00002 MTW 2 'L = LOWER CASE 00342 -000000000044 OCT -44 M 00343 -000000000104 OCT -104 'N = NUMBER SIGN 00344 -000000000175 OCT -175 'O = P-ON 00345 -000000000105 OCT -105 'P = PER CENT 00346 -000000000156 OCT -156 'Q = QUESTION MARK 00347 -000000000133 OCT -133 'R = RED RIBBON SHIFT 00350 +000000000052 OCT 52 (FORM FEED) 00351 +000000000053 OCT 53 ($) 00352 +000000000055 OCT 55 '* = CARRIAGE RETURN 00353 +000000000055 OCT 55 (CARRIAGE RETURN) 00354 +000000000057 OCT 57,57 (ILLEGAL) 00356 +000000000057 OCT 57 'SPACE = NULL 00357 +000000000102 OCT 102 '/ = BACKSLASH OR CENT SIGN 00360 -000000000053 OCT -53 'S = $ 00361 -000000000072 OCT -72 'T = TAB 00362 -2 00000 0 00003 MTW 3 'U = UPPER CASE 00363 -000000000100 OCT -100 'V = VERTICAL BAR 00364 -000000000066 OCT -66 W 00365 -2 00000 0 00004 MTW 4 'X = DON'T ESCAPE NEXT ARGUMENT 00366 -000000000070 OCT -70 Y 00367 -000000000071 OCT -71 Z 00370 +000000000072 OCT 72 (TAB) 00371 +000000000103 OCT 103 ', = SEMICOLON 00372 +000000000152 OCT 152 '( = LESS 00373 +000000000057 OCT 57,57,57 (ILLEGAL) 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 7 00376 2 00001 3 00406 GTC TIX GTC1,3,1 IS ANYTHING LEFT IN THE MQ.Q. 00377 -2 00001 1 00415 TNX MORINP,1,1 NO, IS THERE ANOTHER WORD 00400 1 00000 2 00401 BUMP TXI *+1,2,** YES, MOVE POINTER 00401 -0500 00 2 00000 CAL 0,2 AND LOAD IT 00402 0322 00 0 00560 ERA =O777777777777 IS IT A FENCE 00403 0100 00 0 00415 TZE MORINP YES, GO TO NEXT ARGUMENT 00404 0560 00 2 00000 LDQ 0,2 NO, LOAD IT 00405 0774 00 3 00006 AXT 6,3 REFRESH CHARACTER COUNT 00406 -0754 00 0 00000 GTC1 ZAC CLEAR GARBAGE AND 00407 -0763 00 0 00006 LGL 6 ISOLATE THE CHARACTER 00410 0737 00 7 00000 PAC ,7 SAVE CHARACTER 00411 0322 00 0 00511 ERA NULL IF IT IS A NULL, 00412 0100 00 0 00376 TZE GTC FLUSH IT. 00413 0756 00 7 00000 PCA ,7 RESTORE AND 00414 0020 00 4 00002 TRA 2,4 RETURN IT. 00415 0600 00 0 00504 MORINP STZ NESC1 RESET 'NO ESCAPE' FLAG 00416 -0520 00 0 00507 NZT STRAIT IF CALL WAS TO PRMESS OR PRMESA 00417 0520 00 0 00500 ZET NESC OR WE SAW A 'X, 00420 -0625 00 0 00504 STL NESC1 DON'T PROCESS ESCAPES IN NEW ARGUMENT 00421 0600 00 0 00500 STZ NESC RESET 'X FLAG 00422 0535 00 7 00136 LAC RETURN,7 RECOVER CALLING SEQ. LOCATION 00423 1 77777 7 00424 TXI *+1,7,-1 MOVE TO NEXT WORD 00424 0636 00 7 00136 SCA RETURN,7 AND SAVE FOR NEXT TIME 00425 0500 00 7 00000 CLA 0,7 PICK UP POSSIBLE ARGUMENT 00426 -0120 60 4 00001 TMI* 1,4 END OF C.S. IF NEGATIVE 00427 0737 00 2 00000 PAC ,2 SAVE ADDRESS 00430 -0765 00 0 00022 LGR 18 TEST LEFT HALF FOR 00431 0100 00 0 00464 TZE EFARG PZE 00432 0322 00 0 00554 ERA =O76100 OR 00433 0100 00 0 00464 TZE EFARG EFA 00434 -0763 00 0 00003 LGL 3 .. 00435 -0320 00 0 00557 ANA =O7000007 TEST PREFIX 00436 0322 00 0 00556 ERA =O3000000 AND TAG FOR 00437 0100 00 0 00456 TZE PARG PAR OR 00440 0322 00 0 00555 ERA =O1000000 BLK, 00441 -0100 60 4 00001 TNZ* 1,4 OTHERWISE, END OF C.S. 00442 -0500 00 7 00000 CAL 0,7 PROCESS 'BLK' ARGUMENT 00443 -0737 00 7 00000 PDC ,7 .. 00444 0500 00 7 00000 CLA 0,7 GET COUNT 00445 0734 00 1 00000 PAX ,1 INTO XR1 00446 -3 00000 1 00415 TXL MORINP,1,0 IGNORE ARGUMENT IF ZERO 00447 0774 00 7 00001 AXT 1,7 ASSUME STORED BACKWARD 00450 0120 00 0 00452 TPL *+2 IF COUNT IS NEGATIVE, 00451 -0774 00 7 00001 AXC 1,7 OTHER WAY, PLEASE 00452 -0634 00 7 00400 STBMP SXD BUMP,7 SET LOCATION INCREMENT 00453 0774 00 3 00007 AXT 7,3 AND CHARACTER COUNT 00454 0560 00 2 00000 LDQ 0,2 GET FIRST WORD 00455 0020 00 0 00376 TRA GTC AND START PROCESSING 00456 -0500 00 7 00000 PARG CAL 0,7 PROCESS 'PAR' ARGUMENT 00457 0774 00 7 00001 AXT 1,7 ASSUME BACKWARD 00460 -0734 00 1 00000 PDX ,1 GET COUNT 00461 -3 37777 1 00452 TXL STBMP,1,16383 POSITIVE IF .L. INFINITY/2 00462 -0737 00 1 00000 PDC ,1 NEGATIVE, GET COMPLEMENT 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 8 00463 1 77776 7 00452 TXI STBMP,7,-2 AND TAKE IT FORWARD 00464 -0763 00 0 00003 EFARG LGL 3 PROCESS 'PZE' OR 'EFA' 00465 0734 00 7 00000 PAX ,7 GET TAG 00466 -0763 00 0 00017 LGL 15 AND ADDRESS 00467 0401 00 7 00132 ADM XR0,7 COMPUTE EFFECTIVE ADDRESS, 00470 0737 00 2 00000 PAC ,2 .. 00471 0774 00 1 00000 AXT 0,1 TAKE ONLY ONE WORD. 00472 0020 00 0 00453 TRA STBMP+1 .. 00473 0 00000 0 00000 SI CONTAINS SAVED SENSE INDICATORS 00474 0 00000 0 00000 UC NON-ZERO FOR UPPER CASE 00475 0 00000 0 00000 MTM MULTIPLE TAG MODE FLAG 00476 0 00000 0 00000 SMQ SAVED MQ REGISTER 00477 0 00000 0 00000 FLAG FEATURE ENABLED WHEN NON-ZERO 00500 0 00000 0 00000 NESC NO ESCAPES NEXT ARG. IF NOT ZERO 00501 0 00000 0 00000 TEMP STORE CHARACTER HERE 00502 0 00000 0 00000 ALLIN INPUT RAN OUT DURING OCTAL ESCAPE IF .NE. 0 00503 0 00000 0 00000 ESCHR PARTIAL ESCAPE SEQUENCE 00504 0 00000 0 00000 NESC1 NO ESCAPES THIS ARG. IF NOT ZERO 00505 0 00000 0 00000 SWCNT COUNT OF ALPHA CHARS TO SWITCH CASE OF 00506 0 00000 0 00000 PADDNG CHARS. TO PAD FINAL WORD WITH 00507 0 00000 0 00000 STRAIT NO ESCAPES IF NOT ZERO 000057 NUL BOOL 57 NULL CHARACTER 000060 BLANK BOOL 60 BLANK CHARACTER 00510 +000000000014 ESCH OCT 14 'ESCAPE' CHARACTER (') 00511 000000000057 NULL VFD 36/NUL SINGLE NULL 00512 005700570057 NULLS VFD 12/NUL,12/NUL,12/NUL WORD OF NULLS 00513 006000600060 BLANKS VFD 12/BLANK,12/BLANK,12/BLANK WORD OF BLANKS 00514 OUTBUF BSS OUTLEN HOLDS OUTPUT LINES END LITERALS 00550 000000000000 00551 000000000001 00552 000000000010 00553 000000000077 00554 000000076100 00555 000001000000 00556 000003000000 00557 000007000007 00560 777777777777 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 1 POST PROCESSOR ASSEMBLY DATA 561 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 27 PR 17 473 SI 31, 133 474 UC 26, 172, 177, 270, 271 276 CHR 156, 207 164 CX4 141, 152, 166, 216, 245 376 GTC 147, 202, 222, 231, 412, 455 475 MTM 37, 41, 134 57 NUL 510, 511, 512 476 SMQ 63, 67 132 XR0 467 131 XR1 32 130 XR2 33 127 XR3 34, 42 126 XR4 43 125 XR5 44 124 XR6 45 123 XR7 46, 61 400 BUMP 452 170 CASE 157 137 CHAR 60, 74 142 CHR1 162, 215, 275 107 DONE 75 510 ESCH 154 477 FLAG 4, 7, 56, 65 406 GTC1 376 500 NESC 53, 272, 417, 421 511 NULL 161, 411 273 NXRG 266 456 PARG 437 501 TEMP 62, 66 121 WRFX 27 502 ALLIN 51, 137, 246 60 BLANK 510, 513 175 CASE1 171 153 CHAR1 146, 265 160 CHAR2 173, 174, 200, 201 117 DONE1 110 464 EFARG 431, 433 503 ESCHR 52, 142, 145, 221, 230, 236, 244, 247, 252, 253, 255, 256 71 LOOP1 57, 106 72 LOOP2 103 74 LOOP3 101 504 NESC1 151, 415, 420 512 NULLS 15, 24 156 SHIFT 217 452 STBMP 461, 463, 472 505 SWCNT 50, 170, 176, 262 251 SWESC 225, 226 246 UNESC 232 0 WRFLX 11, 20 513 BLANKS 12, 21 1 PRFULL - MAD CALL TO PRINT 12-BIT LINES D.A. ANDERSON 01/19/69 01/19/69 2155.3 PAGE 2 POST PROCESSOR ASSEMBLY DATA 166 CFINIS 150, 203, 223, 267 202 ESCAPE 155 415 MORINP 377, 403, 446 220 OCTESC 204, 206 514 OUTBUF 102, 105, 115, 122 34 OUTLEN 4, 71, 102, 105, 115, 116, 117, 514 506 PADDNG 30, 112 23 PRFULA 0 20 PRFULL 0 14 PRMESA 0 11 PRMESS 0 4 PRTCHR 0 136 RETURN 47, 422, 424 56 SENDCH 70 266 SPESHL 214 507 STRAIT 16, 25, 416 255 SWESC1 234, 235 1 WRFLXA 14, 23, 104 0 NO ERROR IN ABOVE ASSEMBLY. PRDATA BCD 05/06/68 1630.4 397 00000 1 PRINT LINE OF CONTIGUOUS SIX-CHAR FIELDS, VAR-LGTH CALL PRDATA PAGE 1 00003 ENTRY PRDATA EXTERN WRFLX TRANSFER VECTOR 00000 665126436760 WRFLX LINKAGE DIRECTOR 00001 000000000000 00002 475124216321 00003 0634 00 1 00025 PRDATA SXA XR1,1 00004 0634 00 2 00024 SXA XR2,2 00005 0774 00 2 00000 AXT 0,2 00006 -0500 60 4 00001 CAL* 1,4 00007 0734 00 1 00000 PAX ,1 00010 0767 00 0 00022 ALS 18 00011 0622 00 0 00022 STD ARG 00012 -3 00000 1 00020 TXL OUT,1,0 00013 -0500 60 4 00002 LOOP CAL* 2,4 00014 0602 00 2 00027 SLW LINE,2 00015 1 77777 2 00016 TXI *+1,2,-1 00016 1 77777 4 00017 TXI *+1,4,-1 00017 2 00001 1 00013 TIX LOOP,1,1 00020 0634 00 4 00023 OUT SXA XR4,4 00021 0074 00 4 00000 TSX WRFLX,4 00022 0 00000 0 00027 ARG PZE LINE,,** 00023 0774 00 4 00000 XR4 AXT **,4 00024 0774 00 2 00000 XR2 AXT **,2 00025 0774 00 1 00000 XR1 AXT **,1 00026 0020 00 4 00002 TRA 2,4 00027 LINE BSS 14 END 1 PRINT LINE OF CONTIGUOUS SIX-CHAR FIELDS, VAR-LGTH CALL PRDATA PAGE 1 POST PROCESSOR ASSEMBLY DATA 45 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 22 ARG 11 20 OUT 12 25 XR1 3 24 XR2 4 23 XR4 20 27 LINE 14, 22 13 LOOP 17 0 WRFLX 21 3 PRDATA 0 0 NO ERROR IN ABOVE ASSEMBLY. WRFLX BCD 05/06/68 1630.4 4016 00000 1 M1416 3845 PETER R. BOS .... 12-67 ..... WRFLX -- PRINT ON OR OFFLINE PAGE 1 * MODIFIED FOR OFFON OPTION BY ROGER ROACH 4/01/68 PCC ON NOLNK 00005 ENTRY -WRFLX 00011 ENTRY -WRFLXA 00141 ENTRY -CHNCOM 00144 ENTRY -NEXCOM 00152 ENTRY -DORMNT 00155 ENTRY -DEAD 00160 ENTRY -SLEEP 00224 ENTRY ON 00241 ENTRY OFF 00237 ENTRY OFFON 00274 ENTRY SSPRNT EXTERN OPEN,BUFFER,WRWAIT,CLOSE,FSTATE LBL WRFLX PCC OFF * * TO SET PRINTING OFF-LINE, CALL OFF.(-NAME1-,-NAME2-) * NAME1,NAME2 ARE PRESET TO 'WRFLX OUTPUT', MISSING * ARGUMENTS ARE SUBSTITUTED BY THEIR OLD VALUES. * TO SET PRINTING BACK TO ON-LINE (I.E. TIA TO WRFLX), * CALL ON.() * TO SET SINGLE SPACE MODE ON OR OFF, CALL SSPRNT.(X), * WHERE X IS 0 TO FORCE SINGLE SPACE ON OUTPUT, NON- * ZERO OTHERWISE. SINGLE SPACE MODE PRECEDES A LINE * BY A BLANK WORD WHEN WRITING INTO A FILE. THIS IS * THE INITIAL SETTING. * OUTPUT LINES SENT TO WRFLXA WHICH END IN 555757575757(8) * OR 005500570057(8), I.E. A C.R. FOLLOWED BY NULLS, * CAUSE A NEW LINE TO BE BEGUN ON THE NEXT CALL, JUST * AS THOUGH WRFLX HAD BEEN CALLED. SUCCESSIVE CALLS * TO WRFLXA OTHERWISE CONTINUE TO APPEND TO THE SAME * LINE, BY UPDATING THE LINEMARK IN THE OUTPUT FILE. * UNLIST M CALL MACRO SUBR,ARGS,CRS TRANSFER VECTOR 00000 464725456060 OPEN 00001 226426262551 BUFFER 00002 665166213163 WRWAIT 00003 234346622560 CLOSE 00004 266263216325 FSTATE 00005 -0520 00 0 00340 WRFLX NZT WROFF ON-LINE OR OFF. Q 00006 0101 00 0 01257 TIA =HWRFLX ON-LINE. 00007 0600 00 0 00333 STZ WXA OFF, SET FLAG FOR WRFLX. 00010 0020 00 0 00014 TRA START 00011 -0520 00 0 00340 WRFLXA NZT WROFF ON OR OFF. Q 1 M1416 3845 PETER R. BOS .... 12-67 ..... WRFLX -- PRINT ON OR OFFLINE PAGE 2 00012 0101 00 0 01256 TIA =HWRFLXA ON. 00013 -0625 00 0 00333 STL WXA OF, SET FLAG FOR WRFLXA. 00014 0634 00 4 00133 START SXA XR4,4 SAVE XR4. 00015 OPN CALL OPEN(=HW,NM1,NM2,=-0,=-0,OPNER,ERCOD) 00025 CALL BUFFER(NM1,NM2,(BUF,,432)) 00031 OPENED CALL FSTATE(NM1,NM2,(LTH,,1)) 00035 -0500 00 0 00343 CAL LTH SET RELLOC FOR APPENDING 00036 0400 00 0 01241 ADD =1 00037 0602 00 0 00351 SLW RELLOC .. 00040 0522 00 0 00133 XEC XR4 RESTORE XR4. 00041 0560 00 4 00001 LDQ 1,4 GET OUTPUT POINTER. 00042 -0520 00 0 00333 NZT WXA WRFLXA CALL. Q 00043 0020 00 0 00065 TRA NOCR NO, JUST SKIP. 00044 -0500 00 4 00001 CAL 1,4 ELSE, GET THE POINTER AGAIN. 00045 0621 00 0 00053 STA CAL CHECK IF LAST WORD IN BUFFER 00046 -0734 00 4 00000 PDX 0,4 IS C.R. FOLLOWED BY 5 NULLS. 00047 0754 00 4 00000 PXA 0,4 *****GAZABE***** 00050 0400 00 0 00053 ADD CAL 00051 0402 00 0 01241 SUB =1 ADDRESS OF LAST WORD IN BUFFER. 00052 0621 00 0 00053 STA CAL 00053 -0500 00 0 00000 CAL CAL - GET WORD. 00054 -0340 00 0 01254 LAS =O555757575757 IS C.R. Q 00055 0020 00 0 00057 TRA *+2 NOT 6-BIT KIND. 00056 0020 00 0 00061 TRA C.R. 00057 0322 00 0 01245 ERA =O005500570057 OTHER KIND MAYBE. Q 00060 -0100 00 0 00065 TNZ NOCR NO, SO FORGET IT, IT AIN'T TRAGIC. 00061 0600 00 0 00333 C.R. STZ WXA ELSE, PRETEND THIS CALL WAS WRFLX. 00062 -0130 00 0 00000 XCL GET FRESH POINTER. 00063 0402 00 0 01244 SUB =O1000000 AND FORGET LAST WORD. 00064 0020 00 0 00066 TRA NOCR+1 *****GOTCHA***** 00065 -0130 00 0 00000 NOCR XCL REAL WRFLX CALL COMES HERE. 00066 0621 00 0 00130 STA WR+4 00067 0622 00 0 00130 STD WR+4 00070 0520 00 0 00334 ZET WA CHECK FOR PREVIOUS WRFLXA. 00071 0020 00 0 00113 TRA REWR IF SO, GO REWRITE LINE-MARK. 00072 -0734 00 4 00000 PDX 0,4 WORD COUNT. 00073 0520 00 0 00337 ZET SS WANT SINGLE SPACE. Q 00074 1 00001 4 00075 TXI *+1,4,1 OK, YOU GOT IT. 00075 0634 00 4 00344 SXA LMARK,4 .. 00076 -0500 00 0 00343 CAL LTH GET RELLOC FOR APPENDING. 00077 0400 00 0 01241 ADD =1 00100 0602 00 0 00351 SLW RELLOC .. 00101 0602 00 0 00346 SLW LMLOC NOT REWRITING OLD LINE-MARK, SO IS RELLOC. 00102 CALL WRWAIT(NM1,NM2,RELLOC,(LMARK,...,NLM)) 00107 -0500 00 0 00351 CAL RELLOC UPDATE RELLOC. 00110 0400 00 0 00342 ADD NLM 1 OR 2. 00111 0602 00 0 00351 SLW RELLOC 00112 0020 00 0 00124 TRA WR NOW GO WRITE OUT LINE. 00113 -0734 00 4 00000 REWR PDX 0,4 00114 0754 00 4 00000 PXA 0,4 UPDATE LINE-MARK. 00115 0361 00 0 00344 ACL LMARK 00116 0621 00 0 00344 STA LMARK .. 1 M1416 3845 PETER R. BOS .... 12-67 ..... WRFLX -- PRINT ON OR OFFLINE PAGE 3 00117 CALL WRWAIT(NM1,NM2,LMLOC,(LMARK,,1)) 00124 WR CALL WRWAIT(NM1,NM2,RELLOC,(-,,-)) 00131 -0500 00 0 00333 CAL WXA SET OLD WRFLXA FLAG FROM CURRENT ONE. 00132 0602 00 0 00334 SLW WA .. 00133 0774 00 4 00000 XR4 AXT -,4 00134 -0520 00 0 00341 NZT ONOFF 00135 0020 00 4 00002 TRA 2,4 RETURN. 00136 -0520 00 0 00333 NZT WXA 00137 0101 00 0 01257 TIA =HWRFLX 00140 0101 00 0 01256 TIA =HWRFLXA 00141 0634 00 4 00205 CHNCOM SXA X4,4 THESE ENTRIES TO RECOVER CONTROL. 00142 0774 00 4 00172 AXT CHN,4 00143 0020 00 0 00162 TRA CLS 00144 0634 00 4 00205 NEXCOM SXA X4,4 00145 CALL CLOSE(=HALL,=-0) 00150 0534 00 4 00205 LXA X4,4 00151 0101 00 0 01253 TIA =HNEXCOM 00152 0634 00 4 00205 DORMNT SXA X4,4 00153 0774 00 4 00213 AXT DMT,4 00154 0020 00 0 00162 TRA CLS 00155 0634 00 4 00205 DEAD SXA X4,4 00156 0774 00 4 00217 AXT DED,4 00157 0020 00 0 00162 TRA CLS 00160 0634 00 4 00205 SLEEP SXA X4,4 00161 0774 00 4 00220 AXT SLP,4 00162 0634 00 4 00171 CLS SXA TRA,4 TRANSFER ADDRESS. 00163 0602 00 0 00347 SLW LAC SAVE AC. 00164 0601 00 0 00350 STO AC 00165 CALL CLOSE(NM1,NM2,*+1) CLOSE IT. 00171 0020 00 0 00000 TRA TRA - 00172 0522 00 0 00205 CHN XEC X4 RESTORE XR. 00173 -0500 00 4 00001 CAL 1,4 CHECK FOR MAD CALL. 00174 0322 00 0 00336 ERA PAR 00175 -0320 00 0 01261 ANA =O700000000000 00176 -0100 00 0 00207 TNZ CHN2 IF NOT TXH, ASSUME NORMAL. 00177 -0500 60 4 00001 CAL* 1,4 MAD, GET ARG. 00200 0621 00 0 00204 STA .CHN+1 00201 0500 00 0 00350 CLA AC 00202 -0501 00 0 00347 ORA LAC 00203 .CHN CALL TIACHN((-,0,0)) PZE ON ARG. 00205 0774 00 4 00000 X4 AXT -,4 RESTART, RETURN. 00206 0020 00 4 00002 TRA 2,4 00207 0500 00 0 00350 CHN2 CLA AC RESTORE MACH. COND. 00210 -0501 00 0 00347 ORA LAC 00211 0534 00 4 00205 LXA X4,4 00212 0101 00 0 01247 TIACHN TIA =HCHNCOM SNEAKY. 00213 0500 00 0 00350 DMT CLA AC 00214 -0501 00 0 00347 ORA LAC 00215 0534 00 4 00205 LXA X4,4 1 M1416 3845 PETER R. BOS .... 12-67 ..... WRFLX -- PRINT ON OR OFFLINE PAGE 4 00216 0101 00 0 01251 TIA =HDORMNT 00217 0101 00 0 01250 DED TIA =HDEAD 00220 0500 00 0 00350 SLP CLA AC 00221 -0501 00 0 00347 ORA LAC 00222 0534 00 4 00205 LXA X4,4 00223 0101 00 0 01255 TIA =HSLEEP 00224 0634 00 4 00235 ON SXA ONX4,4 SET PRINT ON-LINE. 00225 0600 00 0 00341 STZ ONOFF 00226 0600 00 0 00340 STZ WROFF SET FLAG. 00227 0600 00 0 00334 STZ WA THAT ONE TOO. 00230 0634 00 0 00344 ZSA LMARK AND EVEN THIS. 00231 CALL CLOSE(NM1,NM2,*+1) CLOSE FILE. 00235 0774 00 4 00000 ONX4 AXT -,4 00236 0020 00 4 00001 TRA 1,4 AND RETURN. 00237 -0625 00 0 00341 OFFON STL ONOFF 00240 0020 00 0 00242 TRA *+2 00241 0600 00 0 00341 OFF STZ ONOFF SET PRINT OFF-LINE, WITH FILE 00242 0634 00 4 00271 SXA OFX4,4 00243 CALL CLOSE(NM1,NM2,*+1) NAME AS OPTIONAL ARGS. 00247 0522 00 0 00271 XEC OFX4 RESTORE THE XR. 00250 -0500 00 4 00001 CAL 1,4 GO LOOK FOR NAME1. 00251 0602 00 0 00253 SLW *+2 .. 00252 0074 00 4 00304 TSX CHKARG,4 IS ARG. Q 00253 0 00000 0 00000 *** -,-,- 00254 0522 00 0 00271 XEC OFX4 (RESTORE XR4.) 00255 0100 00 0 00272 TZE OFTRA ZERO FROM CHKARG = NO ARG. 00256 0602 00 0 01233 SLW NM1 SAVE AS NAME1. 00257 1 77777 4 00260 TXI *+1,4,-1 INCREMENT RETURN. 00260 0634 00 4 00271 SXA OFX4,4 SAVE AGAIN. 00261 -0500 00 4 00001 CAL 1,4 TRY FOR SECOND ARG. 00262 0602 00 0 00264 SLW *+2 .. 00263 0074 00 4 00304 TSX CHKARG,4 00264 0 00000 0 00000 *** -,-,- 00265 0100 00 0 00271 TZE OFX4 IF NOT, EXIT. 00266 0522 00 0 00271 XEC OFX4 ELSE, RESTORE XR4. 00267 0602 00 0 01234 SLW NM2 AND STORE. 00270 1 77777 4 00272 TXI OFTRA,4,-1 AND EXIT. 00271 0774 00 4 00000 OFX4 AXT -,4 00272 -0625 00 0 00340 OFTRA STL WROFF SET FLAG, DON'T FORGET. 00273 0020 00 4 00001 TRA 1,4 AND RETURN AFTER LAST ARG. 00274 -0500 60 4 00001 SSPRNT CAL* 1,4 GET ARG ( 0 OR NOT ). 00275 0560 00 0 01241 LDQ =1 NUMBER OF WDS FOR LMARK. 00276 0600 00 0 00337 STZ SS SET FLAG. 00277 0100 00 0 00302 TZE *+3 IF 0, LEAVE IT THAT WAY. 00300 0560 00 0 01242 LDQ =2 ELSE, LINE MARK + BLANK WORD. 00301 -0625 00 0 00337 STL SS AND CHANGE FLAG. 00302 -0600 00 0 00342 STQ NLM SAVE NWORDS. 00303 0020 00 4 00002 TRA 2,4 RETURN. 1 M1416 3845 PETER R. BOS .... 12-67 ..... WRFLX -- PRINT ON OR OFFLINE PAGE 5 00304 -0500 00 4 00001 CHKARG CAL 1,4 TEST FOR EFA, PAR OR PZE ARGUMENT. 00305 -0320 00 0 01262 ANA =O777700000000 MASK OPCODE. 00306 0322 00 0 00335 ERA EFA IS EFA. Q 00307 0100 00 0 00317 TZE ISARG YUP. 00310 -0500 00 4 00001 CAL 1,4 NOPE, GET IT AGAIN. 00311 -0320 00 0 01263 ANA =O777777700000 MASK OUT ADDRESS. 00312 0100 00 0 00317 TZE ISARG PZE, OK. 00313 0322 00 0 00336 ERA PAR ELSE, CHECK FOR PTH. 00314 0100 00 0 00317 TZE ISARG OK, SKIP. 00315 -0754 00 0 00000 ZAC ELSE, RETURN ZERO. 00316 0020 00 4 00002 TRA 2,4 AND GO AWAY. 00317 -0500 60 4 00001 ISARG CAL* 1,4 ARG, GET IT. 00320 0020 00 4 00002 TRA 2,4 AND RETURN. 00321 0500 00 0 00352 OPNER CLA ERCOD F.S. ERROR, CHECK IF 'ALREADY ACTIVE' 00322 0402 00 0 01243 SUB =3 00323 0100 00 0 00031 TZE OPENED OK, WE'LL BELIEVE IT. 00324 0074 00 4 00224 ERR TSX ON,4 ELSE, RESET WRFLX TO ONLINE. 00325 TYPE 4(CAN'T OPEN FILE --WRFLX) 00327 0522 00 0 00133 XEC XR4 RESTORE XR4. 00330 0520 00 0 00333 ZET WXA AND GO TO APPROPRIATE ENTRY. 00331 0020 00 0 00011 TRA WRFLXA 00332 0020 00 0 00005 TRA WRFLX 00333 0 00000 0 00000 WXA PZE 00334 0 00000 0 00000 WA PZE 0,0,0 00335 0761 00 0 00000 EFA EFA 00336 3 00000 0 00000 PAR PAR 00337 0 00000 0 00001 SS PZE 1 00340 0 00000 0 00000 WROFF PZE 00341 0 00000 0 00000 ONOFF PZE 00342 0 00000 0 00002 NLM PZE 2 00343 0 00000 0 00000 LTH PZE 00344 -377777000000 LMARK OCT 777777000000 00345 606060606060 BCI 1, THIS MUST FOLLOW LMARK. 00346 0 00000 0 00000 LMLOC PZE 0 00347 0 00000 0 00000 LAC PZE 00350 0 00000 0 00000 AC PZE 00351 0 00000 0 00000 RELLOC PZE 00352 0 00000 0 00000 ERCOD PZE 00353 BUF BSS 432 (SIGH) 01233 606651264367 NM1 BCI 1, WRFLX OUTPUT FILE NAME, MUST BE REASSEMBLED 01234 466463476463 NM2 BCI 1,OUTPUT TO CHANGE. 01235 RMT * END LITERALS 01241 000000000001 01242 000000000002 01243 000000000003 01244 000001000000 1 M1416 3845 PETER R. BOS .... 12-67 ..... WRFLX -- PRINT ON OR OFFLINE PAGE 6 01245 005500570057 01246 214343606060 01247 233045234644 01250 242521246060 01251 244651444563 01252 400000000000 01253 452567234644 01254 555757575757 01255 624325254760 01256 665126436721 01257 665126436760 01260 666060606060 01261 700000000000 01262 777700000000 01263 777777700000 1 M1416 3845 PETER R. BOS .... 12-67 ..... WRFLX -- PRINT ON OR OFFLINE PAGE 1 POST PROCESSOR ASSEMBLY DATA 1264 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 350 AC 164, 201, 207, 213, 220 224 ON 0, 324 337 SS 73, 276, 301 334 WA 70, 132, 227 124 WR 66, 67, 112 205 X4 141, 144, 150, 152, 155, 160, 172, 211, 215, 222 353 BUF 30 53 CAL 45, 50, 52 172 CHN 142 162 CLS 143, 154, 157 217 DED 156 213 DMT 153 335 EFA 306 324 ERR 1 ..A 16, 17, 20, 21, 22, 23, 24, 26, 27, 30, 32, 33, 34, 103, 104, 105, 106 120, 121, 122, 123, 125, 126, 127, 130, 146, 147, 166, 167, 170, 204, 232, 233, 234 244, 245, 246 0 ..D 16, 17, 20, 21, 22, 23, 24, 26, 27, 30, 32, 33, 34, 103, 104, 105, 106 120, 121, 122, 123, 125, 126, 127, 130, 146, 147, 166, 167, 170, 204, 232, 233, 234 244, 245, 246 0 ... 106 0 ..T 16, 17, 20, 21, 22, 23, 24, 26, 27, 30, 32, 33, 34, 103, 104, 105, 106 120, 121, 122, 123, 125, 126, 127, 130, 146, 147, 166, 167, 170, 204, 232, 233, 234 244, 245, 246 347 LAC 163, 202, 210, 214, 221 343 LTH 34, 35, 76 342 NLM 106, 110, 302 1233 NM1 17, 26, 32, 103, 120, 125, 166, 232, 244, 256 1234 NM2 20, 27, 33, 104, 121, 126, 167, 233, 245, 267 241 OFF 0 15 OPN 336 PAR 174, 313 220 SLP 161 171 TRA 162 333 WXA 7, 13, 42, 61, 131, 136, 330 133 XR4 14, 40, 327 207 CHN2 176 61 C.R. 56 155 DEAD 0 203 .CHN 200 3 ..OP 16, 17, 20, 21, 22, 23, 24, 26, 27, 30, 32, 33, 34, 103, 104, 105, 106 120, 121, 122, 123, 125, 126, 127, 130, 146, 147, 166, 167, 170, 204, 232, 233, 234 244, 245, 246 65 NOCR 43, 60, 64 271 OFX4 242, 247, 254, 260, 265, 266 235 ONX4 224 0 OPEN 15 113 REWR 71 3 CLOSE 145, 165, 231, 243 352 ERCOD 24, 321 317 ISARG 307, 312, 314 1 M1416 3845 PETER R. BOS .... 12-67 ..... WRFLX -- PRINT ON OR OFFLINE PAGE 2 POST PROCESSOR ASSEMBLY DATA 1235 ..012 326 0 ..PZE 16, 26, 32, 103, 120, 125, 146, 166, 204, 232, 244 344 LMARK 75, 106, 115, 116, 123, 230 346 LMLOC 101, 122 237 OFFON 0 272 OFTRA 255, 270 341 ONOFF 134, 225, 237, 241 321 OPNER 23 160 SLEEP 0 14 START 10 5 WRFLX 0, 325, 332 340 WROFF 5, 11, 226, 272 1 BUFFER 25 304 CHKARG 252, 263 141 CHNCOM 0 152 DORMNT 0 4 FSTATE 31 144 NEXCOM 0 31 OPENED 323 351 RELLOC 37, 100, 105, 107, 111, 127 274 SSPRNT 0 212 TIACHN 203 11 WRFLXA 0, 331 2 WRWAIT 102, 117, 124 0 NO ERROR IN ABOVE ASSEMBLY. SCAN BCD 05/06/68 1630.4 3112 00000 1 SCAN - ROUTINES TO SCAN A UFD USING THE LISTF * CONVENTIONS PAGE 1 WRITTEN BY D.A. ANDERSON 03/25/68 SCNFIL.(NAME1,NAME2-,ERROR-) LOADS NAME1 NAME2 FROM THE CURRENT DIRECTORY AND PREPARES TO SCAN IT. I/O ERRORS WILL TAKE THE ERROR RETURN (IF SPECIFIED, ELSE CALLS 'DSKER'). ISCAN.(NAME1,NAME2) PREPARES TO SEARCH A PREVIOUSLY LOADED DIRECTORY FOR NAME1 NAME2. SCAN.(BUF(N)...N,DONE) INITIATES OR CONTINUES A PREVIOUSLY INITIALIZED SEARCH. THE FIRST 'N' WORDS OF THE UFD ENTRY WILL BE COPIED INTO 'BUF'. RETURNS TO 'DONE' IF NO SUITABLE ENTRIES LEFT. 00015 ENTRY SCNFIL 00217 ENTRY ISCAN 00242 ENTRY SCAN EXTERN FERRTN,FSTATE,OPEN,RDFILE,CLOSE,UPDATE EXTERN GETMEM,SETMEM,NAMASK,WRFLX,DSKER M CALL MACRO NAME,LIST TSX NAME,4 IRP LIST PTH LIST IRP CALL END 1 SCAN - ROUTINES TO SCAN A UFD USING THE LISTF * CONVENTIONS PAGE 2 SCNFIL - LOAD A DIRECTORY 00000 262551516345 FERRTN 00001 266263216325 FSTATE 00002 464725456060 OPEN 00003 512426314325 RDFILE 00004 234346622560 CLOSE 00005 644724216325 UPDATE 00006 272563442544 GETMEM 00007 622563442544 SETMEM 00010 452144216242 NAMASK 00011 665126436760 WRFLX 00012 246242255160 DSKER 00015 0634 00 4 00137 SCNFIL SXA FX4,4 00016 -0625 00 0 00340 STL HAVALL 00017 -0500 00 4 00003 CAL 3,4 00020 -0320 00 0 00357 ANA =O477777777777 00021 -0340 00 0 00355 LAS =O77777 00022 -0754 00 0 00000 ZAC 00023 0761 00 0 00000 NOP 00024 0602 00 0 00335 SLW ERRET 00025 0100 00 0 00034 TZE GTUFD 00026 -0500 00 4 00004 CAL 4,4 00027 -0320 00 0 00357 ANA =O477777777777 00030 -0340 00 0 00355 LAS =O77777 00031 -0754 00 0 00000 ZAC 00032 0761 00 0 00000 NOP 00033 0602 00 0 00336 SLW ERCOD 00034 -0500 60 4 00001 GTUFD CAL* 1,4 00035 0322 00 0 00324 ERA DIR1 00036 -0100 00 0 00042 TNZ NEWDIR 00037 -0500 60 4 00002 CAL* 2,4 00040 0322 00 0 00325 ERA DIR2 00041 0100 00 0 00137 TZE FX4 00042 -0625 00 0 00337 NEWDIR STL EMPTY 00043 -0500 60 4 00001 CAL* 1,4 00044 0602 00 0 00324 SLW DIR1 00045 -0500 60 4 00002 CAL* 2,4 00046 0602 00 0 00325 SLW DIR2 00047 -0501 00 0 00324 ORA DIR1 00050 0100 00 0 00137 TZE FX4 00051 0074 00 4 00000 TSX FERRTN,4 00052 0 00000 0 00201 PZE IOERR 00053 0621 00 0 00136 STA OLDER1 00054 0621 00 0 00157 STA OLDER2 00055 0621 00 0 00202 STA OLDER3 00056 CALL FSTATE(DIR1,DIR2(DIRLEN,,1)) 00062 0020 00 0 00063 GATE TRA *+1 00063 CALL GETMEM 00064 0602 00 0 00332 SLW BOTMEM 00065 0602 00 0 00333 SLW TOPMEM 00066 -0625 00 0 00062 STL GATE 00067 0500 00 0 00334 CLA DIRLEN 1 SCAN - ROUTINES TO SCAN A UFD USING THE LISTF * CONVENTIONS PAGE 3 SCNFIL - LOAD A DIRECTORY 00070 0402 00 0 00353 SUB =3 00071 0100 00 0 00135 TZE RSTFER 00072 -0120 00 0 00135 TMI RSTFER 00073 0601 00 0 00334 STO DIRLEN 00074 0400 00 0 00332 ADD BOTMEM 00075 -0340 00 0 00333 LAS TOPMEM 00076 0020 00 0 00145 TRA MORCOR 00077 0761 00 0 00000 NOP 00100 0621 00 0 00252 GETDIR STA N1 00101 0400 00 0 00351 ADD =1 00102 0621 00 0 00250 STA N2 00103 0534 00 4 00334 LXA DIRLEN,4 00104 -0634 00 4 00126 SXD READIR+4,4 00105 -0500 00 0 00332 CAL BOTMEM 00106 0621 00 0 00126 STA READIR+4 00107 -0500 00 0 00324 CAL DIR1 00110 0322 00 0 00361 ERA =HU.F.D. 00111 -0100 00 0 00116 TNZ OPNDIR 00112 -0500 00 0 00325 CAL DIR2 00113 0322 00 0 00363 ERA =H(FILE) 00114 -0100 00 0 00116 TNZ OPNDIR 00115 CALL UPDATE 00116 OPNDIR CALL OPEN(=HR,DIR1,DIR2) 00122 READIR CALL RDFILE(DIR1,DIR2,=4(**,,**)*+2,DIRLEN) 00131 CALL CLOSE(DIR1,DIR2) 00134 0600 00 0 00337 STZ EMPTY 00135 0074 00 4 00000 RSTFER TSX FERRTN,4 00136 0 00000 0 00000 OLDER1 PZE ** 00137 0774 00 4 00000 FX4 AXT **,4 00140 -0520 00 0 00335 NZT ERRET 00141 0020 00 4 00003 TRA 3,4 00142 -0520 00 0 00336 NZT ERCOD 00143 0020 00 4 00004 TRA 4,4 00144 0020 00 4 00005 TRA 5,4 00145 MORCOR CALL GETMEM 00146 -0340 00 0 00333 LAS TOPMEM 00147 0602 00 0 00332 SLW BOTMEM 00150 0020 00 0 00164 TRA EXTEND 00151 0074 00 4 00011 TSX WRFLX,4 00152 0 00004 0 00341 DIDDLD,,4 00153 -0500 00 0 00352 CAL =2 00154 0520 00 0 00336 EREXIT ZET ERCOD 00155 0602 60 0 00336 SLW* ERCOD 00156 0074 00 4 00000 TSX FERRTN,4 00157 0 00000 0 00000 OLDER2 PZE ** 00160 0534 00 4 00137 LXA FX4,4 00161 0520 00 0 00335 ZET ERRET 00162 0020 60 0 00335 TRA* ERRET 00163 0020 00 4 00003 TRA 3,4 00164 -0500 00 0 00334 EXTEND CAL DIRLEN 00165 0400 00 0 00332 ADD BOTMEM 00166 -0340 00 0 00355 LAS =O77777 1 SCAN - ROUTINES TO SCAN A UFD USING THE LISTF * CONVENTIONS PAGE 4 SCNFIL - LOAD A DIRECTORY 00167 0020 00 0 00175 TRA NTENUF 00170 0761 00 0 00000 NOP 00171 0602 00 0 00333 SLW TOPMEM 00172 CALL SETMEM 00173 -0500 00 0 00333 CAL TOPMEM 00174 0020 00 0 00100 TRA GETDIR 00175 0074 00 4 00011 NTENUF TSX WRFLX,4 00176 0 00004 0 00345 NOTENF,,4 00177 -0500 00 0 00351 CAL =1 00200 0020 00 0 00154 TRA EREXIT 00201 0074 00 4 00000 IOERR TSX FERRTN,4 00202 0 00000 0 00000 OLDER3 PZE ** 00203 0520 00 0 00336 ZET ERCOD 00204 0600 60 0 00336 STZ* ERCOD 00205 0534 00 4 00137 LXA FX4,4 00206 0520 00 0 00335 ZET ERRET 00207 0020 60 0 00335 TRA* ERRET 00210 0074 00 4 00012 TSX DSKER,4 00211 0074 00 4 00000 TSX FERRTN,4 00212 0 00000 0 00135 RSTFER 00213 CALL CLOSE(DIR1,DIR2) 00216 0020 00 0 00135 TRA RSTFER 1 SCAN - ROUTINES TO SCAN A UFD USING THE LISTF * CONVENTIONS PAGE 5 ISCAN - INITIALIZE A SEARCH 00217 0634 00 4 00240 ISCAN SXA IX4,4 00220 -0625 00 0 00340 STL HAVALL 00221 -0500 60 4 00001 CAL* 1,4 00222 0602 00 0 00326 SLW NAME1 00223 -0500 60 4 00002 CAL* 2,4 00224 0602 00 0 00327 SLW NAME2 00225 -0501 00 0 00326 ORA NAME1 00226 0100 00 0 00240 TZE IX4 00227 -0500 00 0 00334 CAL DIRLEN 00230 0621 00 0 00246 STA DIRPNT 00231 0600 00 0 00340 STZ HAVALL 00232 CALL NAMASK(NAME1) 00234 0601 00 0 00330 STO MASK1 00235 CALL NAMASK(NAME2) 00237 0601 00 0 00331 STO MASK2 00240 0774 00 4 00000 IX4 AXT **,4 00241 0020 00 4 00003 TRA 3,4 1 SCAN - ROUTINES TO SCAN A UFD USING THE LISTF * CONVENTIONS PAGE 6 SCAN - INITIATE OR CONTINUE A SEARCH 00242 -0520 00 0 00340 SCAN NZT HAVALL 00243 0520 00 0 00337 ZET EMPTY 00244 0020 60 4 00002 TRA* 2,4 00245 0634 00 1 00317 SXA SX1,1 00246 0774 00 1 00000 DIRPNT AXT **,1 00247 -0500 60 0 00252 SCANLP CAL* N1 00250 -0501 00 1 00000 N2 ORA **,1 00251 0100 00 0 00262 TZE SCANXT 00252 -0500 00 1 00000 N1 CAL **,1 00253 0322 00 0 00326 ERA NAME1 00254 -0320 00 0 00330 ANA MASK1 00255 -0100 00 0 00262 TNZ SCANXT 00256 -0500 60 0 00250 CAL* N2 00257 0322 00 0 00327 ERA NAME2 00260 -0320 00 0 00331 ANA MASK2 00261 0100 00 0 00266 TZE FOUND 00262 2 00007 1 00247 SCANXT TIX SCANLP,1,7 00263 0600 00 0 00340 STZ HAVALL 00264 0534 00 1 00317 LXA SX1,1 00265 0020 60 4 00002 TRA* 2,4 00266 0634 00 2 00320 FOUND SXA SX2,2 00267 -0500 00 4 00001 CAL 1,4 00270 -0737 00 2 00000 PDC ,2 00271 -0320 00 0 00362 ANA =O700000000000 00272 -0340 00 0 00356 LAS =O200000000000 00273 0020 00 0 00275 TRA *+2 00274 0020 00 0 00322 TRA PTW 00275 0756 00 2 00000 PCA ,2 00276 0734 00 2 00000 PTWR PAX ,2 00277 -3 00000 2 00314 TXL LVSCAN,2,0 00300 -3 00007 2 00302 TXL *+2,2,7 00301 0774 00 2 00007 AXT 7,2 00302 0401 00 4 00001 ADM 1,4 00303 0621 00 0 00312 STA WHERE 00304 0634 00 2 00311 SXA FROM,2 00305 0756 00 1 00000 PCA ,1 00306 0401 00 0 00252 ADM N1 00307 0401 00 0 00311 ADM FROM 00310 0621 00 0 00311 STA FROM 00311 -0500 00 2 00000 FROM CAL **,2 00312 0602 00 2 00000 WHERE SLW **,2 00313 2 00001 2 00311 TIX FROM,2,1 00314 2 00007 1 00316 LVSCAN TIX *+2,1,7 00315 -0625 00 0 00340 STL HAVALL 00316 0634 00 1 00246 SXA DIRPNT,1 00317 0774 00 1 00000 SX1 AXT **,1 00320 0774 00 2 00000 SX2 AXT **,2 00321 0020 00 4 00003 TRA 3,4 00322 -0500 00 2 00000 PTW CAL ,2 00323 0020 00 0 00276 TRA PTWR 1 SCAN - ROUTINES TO SCAN A UFD USING THE LISTF * CONVENTIONS PAGE 7 00324 0 00000 0 00000 DIR1 00325 0 00000 0 00000 DIR2 00326 0 00000 0 00000 NAME1 00327 0 00000 0 00000 NAME2 00330 0 00000 0 00000 MASK1 00331 0 00000 0 00000 MASK2 00332 0 00000 0 00000 BOTMEM 00333 0 00000 0 00000 TOPMEM 00334 0 00000 0 00000 DIRLEN 00335 0 00000 0 00000 ERRET 00336 0 00000 0 00000 ERCOD 00337 0 00000 0 00000 EMPTY 00340 0 00000 0 00000 HAVALL 00341 442544465170 DIDDLD BCI 4,MEMORY BOUND TOO SMALL. 00345 454663602545 NOTENF BCI 4,NOT ENOUGH FREE CORE. END 1 SCAN - ROUTINES TO SCAN A UFD USING THE LISTF * CONVENTIONS PAGE 1 POST PROCESSOR ASSEMBLY DATA 364 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 252 N1 100, 247, 306 250 N2 102, 256 137 FX4 15, 41, 50, 160, 205 240 IX4 217, 226 322 PTW 274 317 SX1 245, 264 320 SX2 266 324 DIR1 35, 44, 47, 57, 107, 120, 123, 132, 214 325 DIR2 40, 46, 60, 112, 121, 124, 133, 215 311 FROM 304, 307, 310, 313 62 GATE 66 2 OPEN 116 276 PTWR 323 242 SCAN 0 4 CLOSE 131, 213 12 DSKER 210 337 EMPTY 42, 134, 243 336 ERCOD 33, 142, 154, 155, 203, 204 335 ERRET 24, 140, 161, 162, 206, 207 266 FOUND 261 34 GTUFD 25 201 IOERR 52 217 ISCAN 0 330 MASK1 234, 254 331 MASK2 237, 260 326 NAME1 222, 225, 233, 253 327 NAME2 224, 236, 257 312 WHERE 303 11 WRFLX 151, 175 332 BOTMEM 64, 74, 105, 147, 165 341 DIDDLD 152 334 DIRLEN 61, 67, 73, 103, 130, 164, 227 246 DIRPNT 230, 316 154 EREXIT 200 164 EXTEND 150 0 FERRTN 51, 135, 156, 201, 211 1 FSTATE 56 100 GETDIR 174 6 GETMEM 63, 145 340 HAVALL 16, 220, 231, 242, 263, 315 314 LVSCAN 277 145 MORCOR 76 10 NAMASK 232, 235 42 NEWDIR 36 345 NOTENF 176 175 NTENUF 167 136 OLDER1 53 157 OLDER2 54 202 OLDER3 55 116 OPNDIR 111, 114 3 RDFILE 122 1 SCAN - ROUTINES TO SCAN A UFD USING THE LISTF * CONVENTIONS PAGE 2 POST PROCESSOR ASSEMBLY DATA 122 READIR 104, 106 135 RSTFER 71, 72, 212, 216 247 SCANLP 262 262 SCANXT 251, 255 15 SCNFIL 0 7 SETMEM 172 333 TOPMEM 65, 75, 146, 171, 173 5 UPDATE 115 0 NO ERROR IN ABOVE ASSEMBLY. BZ57 BCD 02/22/68 1031.9 437 00000 1 BZ57 RECONSTRUCTED FROM THE BINARY BY ROGER ROACH 8-01-67 PAGE 1 * * PROGRAM TO PLACE LEADING NULL CHARACTERS IN PLACE OF ZEROS OR * BLANKS IN A WORD. * * CALLING SEQUENCE - * NEWWD = BZ57.(WORD) * 00000 ENTRY BZ57 00000 0634 00 4 00021 BZ57 SXA XR4,4 00001 0560 60 4 00001 LDQ* 1,4 00002 0774 00 4 00000 AXT 0,4 00003 -0754 00 0 00000 ZAC 00004 -0763 00 0 00006 LOOP LGL 6 00005 -0340 00 0 00025 LAS =H00000 TEST FOR A BLANK 00006 -0100 00 0 00017 TNZ NBLANK NOT A BLANK 00007 0020 00 0 00011 TRA *+2 A BLANK, REPLACE BY A NULL 00010 -0100 00 0 00017 TNZ NBLANK NOT A BLANK NOR A ZERO 00011 -0500 00 0 00024 CAL =O57 A BLANK OR ZERO GETS REPLACED BY A NULL 00012 -0765 00 0 00006 LGR 6 00013 -0773 00 0 00006 RQL 6 00014 1 00006 4 00015 TXI *+1,4,6 00015 -3 00043 4 00004 TXL LOOP,4,35 00016 0020 00 0 00020 TRA NBLANK+1 TESTED ALL OF THE WORD 00017 -0765 00 0 00006 NBLANK LGR 6 00020 -0773 00 4 00044 RQL 36,4 00021 0774 00 4 00000 XR4 AXT **,4 00022 0131 00 0 00000 XCA 00023 0020 00 4 00002 TRA 2,4 END LITERALS 00024 000000000057 00025 000000000060 1 BZ57 RECONSTRUCTED FROM THE BINARY BY ROGER ROACH 8-01-67 PAGE 1 POST PROCESSOR ASSEMBLY DATA 26 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 21 XR4 0 0 BZ57 0 4 LOOP 15 17 NBLANK 6, 10, 16 0 NO ERROR IN ABOVE ASSEMBLY. REPROB BCD 02/23/68 1225.5 448 00000 1 PROGRAM TO REFORMAT THE PROBLEM NUMBER INTO SYSTEM FORMAT. PAGE 1 * WRITTEN BY D. A. ANDERSON 4/11/67 * * CALLED BY PROBNO = REPROB.(PROBNO) 00002 ENTRY REPROB 00002 ENTRY SPLFN ADD ENTRY FOR THOSE OLD PROGRAMS LINKAGE DIRECTOR 00000 000000000000 00001 512547514622 00002 0634 00 1 00027 REPROB SXA XR1,1 00002 SPLFN SYN REPROB 00003 -0500 60 4 00001 CAL* 1,4 00004 0322 00 0 00031 ERA =H 00005 -0320 00 0 00032 ANA =O770000000000 00006 0100 00 0 00011 TZE *+3 00007 0500 60 4 00001 CLA* 1,4 RETURN FULL PROB NO 00010 0020 00 4 00002 TRA 2,4 00011 -0500 60 4 00001 CAL* 1,4 00012 0322 00 0 00031 ERA =H 00013 0774 00 1 00000 AXT 0,1 00014 0100 00 0 00017 TZE *+3 00015 0771 00 0 00006 ARS 6 00016 1 00006 1 00014 TXI *-2,1,6 00017 0560 60 4 00001 LDQ* 1,4 00020 -0763 00 1 00052 LGL 42,1 00021 0767 00 1 00036 ALS 30,1 00022 1 77772 1 00023 TXI *+1,1,-6 00023 0634 00 1 00024 SXA *+1,1 00024 -0763 00 0 00000 LGL ** 00025 -0130 00 0 00000 XCL 00026 0131 00 0 00000 XCA 00027 0774 00 1 00000 XR1 AXT **,1 00030 0020 00 4 00002 TRA 2,4 END LITERALS 00031 606060606060 00032 770000000000 1 PROGRAM TO REFORMAT THE PROBLEM NUMBER INTO SYSTEM FORMAT. PAGE 1 POST PROCESSOR ASSEMBLY DATA 33 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 27 XR1 2 2 SPLFN 0, 3 2 REPROB 0, 3 0 NO ERROR IN ABOVE ASSEMBLY. NAMASK BCD 02/22/68 1031.9 518 00000 1 NAMASK PAGE 1 * RECONSTRUCTED FROM OBJECT DECK BY ROGER ROACH 7-13-67 * * PROGRAM TO CONVERT AN ARGUMENT INTO A MASK TO BE USED TO TEST * WORDS TO SEE IF THEY AGREE TO THE ARGUMENT ACCORDING TO THE LISTF * STAR CONVENTION. IT CHANGES '*'S TO ZEROS, ANYTHING ELSE * TO 77 (OCTAL). * * USAGE- * MASK = NAMASK.(ARG) * W'R ((WORD.XOR.ARG).A.MASK).E.0, WORD CORRESPONDS TO ARG * 00000 ENTRY NAMASK 00000 -0500 60 4 00001 NAMASK CAL* 1,4 00001 0322 00 0 00024 ERA =H * RETURN ZERO IF ONE STAR 00002 0100 00 4 00002 TZE 2,4 00003 0604 00 0 00022 STI INDICS SAVE THOSE INDICATORS 00004 0560 60 4 00001 LDQ* 1,4 00005 -0500 00 0 00023 CAL =2 FOR LATER OVERFLOW 00006 0140 00 0 00007 TOV *+1 TURN OFF OVERFLOW INDICATOR 00007 -0763 00 0 00006 LOOP LGL 6 00010 0044 00 0 00000 PAI 00011 0051 00 000054 IIR 54 IS CHARACTER A STAR 00012 0054 00 000077 RFT 77 IF SO, BITS WOULD BE ZERO 00013 0055 00 000077 SIR 77 IF NOT, INSERT 77 (OCTAL) INTO MASK 00014 -0046 00 0 00000 PIA PUT MASK INTO AC 00015 -0140 00 0 00007 TNO LOOP HAVE WE REACHED THE 2 00016 -0054 00 400000 LFT 400000 YES, WAS AC NEGATIVE 00017 -0760 00 0 00003 SSM YES, RESET IT 00020 0441 00 0 00022 LDI INDICS RESET THOSE INDICATORS 00021 0020 00 4 00002 TRA 2,4 00022 0 00000 0 00000 INDICS PZE ** RESERVED END LITERALS 00023 000000000002 00024 606060606054 1 NAMASK PAGE 1 POST PROCESSOR ASSEMBLY DATA 25 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 7 LOOP 15 22 INDICS 3, 20 0 NAMASK 0 0 NO ERROR IN ABOVE ASSEMBLY. TDEC BCD 02/22/68 1031.9 728 00000 1 TDEC AND TOCT RECONSTRUCTED FROM THE BINARY BY ROGER ROACH 8-01-67 PAGE 1 * * PROGRAM TO TEST WORDS WITH LEADING BLANKS FOR BEING OCTAL (TOCT) OR * DECIMAL (TDEC). * * CALLING SEQUENCES - * * TSX TOCT,4 OR TSX TDEC,4 * PZE TSTWD PZE TSTWD * -PTH INDIC- -PTH INDIC- * * UPON RETURN THE AC (OR INDIC IF USED) WILL CONTAIN A 1 IF TSTWD IS * DECIMAL OR OCTAL AND A ZERO IF IT ISN'T * 00000 ENTRY TDEC 00002 ENTRY TOCT 00000 0500 00 0 00041 TDEC CLA =9 00001 0020 00 0 00003 TRA *+2 00002 0500 00 0 00040 TOCT CLA =7 HIGHEST OCTAL NUMBER IS A 7 00003 0601 00 0 00035 STO NUMB 00004 0634 00 4 00025 SXA XR4,4 00005 -0500 00 4 00002 CAL 2,4 CHECK INSTRUCTION AT 2,4 00006 -0320 00 0 00043 ANA =O777777700000 00007 0322 00 0 00034 ERA THREE BETTER BE A PTH WITH ZERO TAG 00010 0602 00 0 00036 SLW INST STORE FOR TESTING LATER 00011 0560 60 4 00001 LDQ* 1,4 00012 0774 00 4 00006 AXT 6,4 00013 -0754 00 0 00000 LOOP ZAC 00014 -0763 00 0 00006 LGL 6 00015 -0340 00 0 00042 LAS =H00000 COMPARE WITH ONE BLANK 00016 0020 00 0 00032 TRA OVER A LETTER ABOVE A BLANK FOUND. ILLEGAL 00017 0020 00 0 00023 TRA BLANK IGNORE BLANKS 00020 -0340 00 0 00035 LAS NUMB MAKE SURE IT IS NOT ABOVE A 9 (OR 7) 00021 0020 00 0 00032 TRA OVER IT IS. TOO BAD 00022 2 00001 4 00013 TIX LOOP,4,1 IT'S OKAY 00023 2 00001 4 00013 BLANK TIX LOOP,4,1 .. 00024 0500 00 0 00037 CLA =1 INDICATE WORD IS EITHER OCTAL OR DECIMAL 00025 0774 00 4 00000 XR4 AXT **,4 00026 0520 00 0 00036 ZET INST CHECK INSTRUCTION FROM 2,4 00027 0020 00 4 00002 TRA 2,4 NOT A PTH, GO HOME 00030 0601 60 4 00002 STO* 2,4 A PTH. STORE IN INDIC 00031 0020 00 4 00003 TRA 3,4 00032 -0754 00 0 00000 OVER ZAC NOT OKAY. RETURN ZERO AS ERROR 00033 0020 00 0 00025 TRA XR4 00034 3 00000 0 00000 THREE THREE 00035 0 00000 0 00000 NUMB 00036 0 00000 0 00000 INST END LITERALS 00037 000000000001 00040 000000000007 00041 000000000011 00042 000000000060 00043 777777700000 1 TDEC AND TOCT RECONSTRUCTED FROM THE BINARY BY ROGER ROACH 8-01-67 PAGE 1 POST PROCESSOR ASSEMBLY DATA 44 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 25 XR4 4, 33 36 INST 10, 26 13 LOOP 22, 23 35 NUMB 3, 20 32 OVER 16, 21 0 TDEC 0 2 TOCT 0 23 BLANK 17 34 THREE 7 0 NO ERROR IN ABOVE ASSEMBLY. IOCONV BCD 02/22/68 1031.9 1260 00000 1 ... CONVRT, UTILITY CONVERSION ROUTINES PAGE 1 00000 ENTRY CTIME TO CONVERT TIME TO BCD (TENTHS OF MINUTES) 00030 ENTRY TCTIME TO CONVERT TIME TO BCD (HUNDRETHS OF HOURS) 00042 ENTRY DTBC TO CONVERT DECIMAL TO BINARY 00057 ENTRY BTDC TO CONVERT BINARY TO DECIMAL 00072 ENTRY OTBC TO CONVERT OCTAL TO BINARY 00102 ENTRY BTOC TO CONVERT BINARY TO OCTAL 00000 0634 00 4 00026 CTIME SXA CTIMX,4 CONVERTS TIME TO TENTHS OF MINUTES IN BCD T 00001 -0754 00 0 00000 PXD 00002 0221 00 0 00122 DVP =216000 FIND NO. OF HOURS 00003 0601 00 0 00111 STO MINS. SAVE REMAINDER (NO. OF MINUTES) 00004 0074 00 4 00057 TSX BTDC,4 CONVERT HOURS TO BCD 00005 -0100 00 0 00007 TNZ *+2 00006 -0500 00 0 00121 CAL =H0000 REPLACE 2 ZEROS WITH BLANKS 00007 -0765 00 0 00006 LGR 6 00010 -0100 00 0 00012 TNZ *+2 00011 -0500 00 0 00115 CAL =H00000 REPLACE LEADING ZERO WITH BLANK 00012 -0763 00 0 00006 LGL 6 00013 0767 00 0 00030 ALS 24 00014 0602 00 0 00112 SLW HOURS. SAVE HOURS IN BCD 00015 0560 00 0 00111 LDQ MINS. T 00016 -0754 00 0 00000 PXD 00017 0221 00 0 00116 DVP =360 FIND NO. OF TENTHS OF MINUTES 00020 0074 00 4 00057 TSX BTDC,4 CONVERT TO BCD 00021 -0765 00 0 00006 LGR 6 MAKE ROOM FOR DECIMAL POINT 00022 0767 00 0 00006 ALS 6 .. 00023 -0763 00 0 00006 LGL 6 .. 00024 -0501 00 0 00117 ORA =H0000.0 INSERT DECIMAL POINT 00025 -0501 00 0 00112 ORA HOURS. ADD IN HOURS 00026 0774 00 4 00000 CTIMX AXT **,4 00027 0020 00 4 00001 TRA 1,4 00030 0634 00 4 00040 TCTIME SXA TCTIMX,4 CONVERT TIME TO BCD IN HUNDRETHS OF HOURS T 00031 -0754 00 0 00000 PXD 00032 0221 00 0 00120 DVP =2160 00033 0074 00 4 00057 TSX BTDC,4 CONVERT BINARY TO DECIMAL 00034 -0765 00 0 00014 LGR 12 00035 0767 00 0 00006 ALS 6 MAKE ROOM FOR . 00036 -0763 00 0 00014 LGL 12 00037 -0501 00 0 00123 ORA =H 00.00 00040 0774 00 4 00000 TCTIMX AXT **,4 00041 0020 00 4 00001 TRA 1,4 00042 0634 00 4 00055 DTBC SXA DTBCX,4 DECIMAL TO BINARY CONVERSION 00043 0600 00 0 00110 STZ TNUM 00044 0774 00 4 00006 AXT 6,4 T 00045 -0754 00 0 00000 DTBC1 PXD 00046 -0763 00 0 00003 LGL 3 00047 0401 00 0 00110 ADM TNUM 00050 -0763 00 0 00003 LGL 3 00051 0401 00 0 00110 ADM TNUM 00052 0361 00 0 00110 ACL TNUM 00053 0602 00 0 00110 SLW TNUM 00054 2 00001 4 00045 TIX DTBC1,4,1 1 ... CONVRT, UTILITY CONVERSION ROUTINES PAGE 2 00055 0774 00 4 00000 DTBCX AXT **,4 00056 0020 00 4 00001 TRA 1,4 00057 0634 00 4 00070 BTDC SXA BTDX,4 BINARY TO DECIMAL CONVERTER 00060 0600 00 0 00110 STZ TNUM 00061 0774 00 4 00044 AXT 36,4 T 00062 -0754 00 0 00000 BTD1 PXD 00063 0221 00 0 00114 DVP =10 00064 0767 00 4 00044 ALS 36,4 00065 -0602 00 0 00110 ORS TNUM 00066 2 00006 4 00062 TIX BTD1,4,6 00067 -0500 00 0 00110 CAL TNUM 00070 0774 00 4 00000 BTDX AXT **,4 00071 0020 00 4 00001 TRA 1,4 00072 0634 00 4 00100 OTBC SXA OTBCX,4 OCTAL TO BINARY CONVERSION T 00073 -0754 00 0 00000 PXD 00074 0774 00 4 00006 AXT 6,4 00075 -0773 00 0 00003 RQL 3 00076 -0763 00 0 00003 LGL 3 00077 2 00001 4 00075 TIX *-2,4,1 00100 0774 00 4 00000 OTBCX AXT **,4 00101 0020 00 4 00001 TRA 1,4 00102 0140 00 0 00103 BTOC TOV *+1 BINARY-TO-OCTAL CONVERSION (RE-ENTRANT) 00103 -0500 00 0 00113 CAL =2 DESTROYS OVERFLOW INDICATOR 00104 0767 00 0 00003 ALS 3 BEGIN SPREADING 00105 -0763 00 0 00003 LGL 3 MOVE IN 3 BITS FROM ARGUMENT IN MQ 00106 -0140 00 0 00104 TNO *-2 LOOP UNTIL '2' DROPS INTO BIT BUCKET 00107 0020 00 4 00001 TRA 1,4 VIA THE 'P' AND 'Q' BITS 00110 0 00000 0 00000 TNUM PZE 0 00111 0 00000 0 00000 MINS. PZE 0 00112 0 00000 0 00000 HOURS. PZE 0 END LITERALS 00113 000000000002 00114 000000000012 00115 000000000060 00116 000000000550 00117 000000003300 00120 000000004160 00121 000000006060 00122 000000645700 00123 600000330000 1 ... CONVRT, UTILITY CONVERSION ROUTINES PAGE 1 POST PROCESSOR ASSEMBLY DATA 124 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 62 BTD1 66 57 BTDC 0, 4, 20, 33 70 BTDX 57 102 BTOC 0 42 DTBC 0 72 OTBC 0 110 TNUM 43, 47, 51, 52, 53, 60, 65, 67 0 CTIME 0 26 CTIMX 0 45 DTBC1 54 55 DTBCX 42 111 MINS. 3, 15 100 OTBCX 72 112 HOURS. 14, 25 30 TCTIME 0 40 TCTIMX 30 0 NO ERROR IN ABOVE ASSEMBLY. GETIM BCD 02/22/68 1033.8 284 00000 1 PROGRAM TO RETURN DATE AND TIME FROM GETIME TO MAD PROGRAMS. PAGE 1 * * RECONSTRUCTED FROM THE BINARY BY ROGER ROACH 8-01-67 * * CALLING SEQUENCE - * * GETIM.(TIME,DATE) THE TIME IS IN 60THS OF A SECOND * THE DATE IS OF THE FORM MMDDYY * 00001 ENTRY GETIM TRANSFER VECTOR 00000 272563314425 GETIME 00001 0634 00 4 00003 GETIM SXA XR4,4 00002 0074 00 4 00000 TSX $GETIME,4 00003 0774 00 4 00000 XR4 AXT **,4 00004 0602 60 4 00001 SLW* 1,4 00005 -0600 60 4 00002 STQ* 2,4 00006 0020 00 4 00003 TRA 3,4 END 1 PROGRAM TO RETURN DATE AND TIME FROM GETIME TO MAD PROGRAMS. PAGE 1 POST PROCESSOR ASSEMBLY DATA 7 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 3 XR4 1 1 GETIM 0 0 GETIME 2 0 NO ERROR IN ABOVE ASSEMBLY. ABSTIM BCD 02/23/68 1225.5 1062 00000 1 ABSTIM - CALCULATE NO. OF MINUTES FROM BEGINNING OF YEAR. PAGE 1 5/1/66 - NOEL I. MORRIS 00000 ENTRY ABSTIM UNLIST M CALL MACRO SUBR,LIST 1 ABSTIM - CALCULATE NO. OF MINUTES FROM BEGINNING OF YEAR. PAGE 2 00000 0634 00 4 00025 ABSTIM SXA ABSX,4 SAVE XR4 00001 -0500 60 4 00001 CAL* 1,4 GET FILE SYSTEM DATE AND TIME 00002 0044 00 0 00000 PAI IN SI 00003 -0765 00 0 00027 LGR 23 RIGHT JUSTIFY THE MONTH 00004 -0320 00 0 00047 ANA =O17 AND MASK OFF THE YEAR 00005 0737 00 4 00000 PAC ,4 -MONTH IN XR4 00006 -0773 00 0 00005 RQL 5 PLACE TIME AT LEFT OF MQ 00007 -0600 00 0 00043 STQ TEMP.1 AND SAVE 00010 -0754 00 0 00000 ZAC CLEAR FOR DIVISION 00011 0225 21 0 00046 VDP MINS,,17 GET NUMBER OF MINUTES SINCE MIDNIGHT 00012 -0130 00 0 00000 XCL QUOTIENT IN AC 00013 -0320 00 0 00050 ANA =O377777 MASK OFF THE QUOTIENT PART 00014 0602 00 0 00044 SLW TEMP.2 AND SAVE 00015 0560 00 0 00043 LDQ TEMP.1 RESTORE THE MQ 00016 0204 05 0 00045 VLM 1DAY,,5 GET NUMBER OF MINUTES 00017 0763 00 0 00005 LLS 5 SHIFT TO AC 00020 0361 00 0 00044 ACL TEMP.2 ADD IN THE TIME 00021 0361 00 4 00026 ACL MONTH-1,4 AND THE MONTH 00022 3 77775 4 00024 TXH *+2,4,-3 CHECK FOR MONTH GREATER THAN 3 00023 -0054 00 003000 LFT 3000 AND FOR LEAP YEAR 00024 0402 00 0 00045 SUB 1DAY IF NOT LEAP YEAR AND LATER THAN FEB, FIX 00025 0774 00 4 00000 ABSX AXT **,4 RESTORE XR4 00026 0020 00 4 00002 TRA 2,4 AND RETURN 1 ABSTIM - CALCULATE NO. OF MINUTES FROM BEGINNING OF YEAR. PAGE 3 02640 DAY EQU 60*24 MONTH MACRO DAYS .VAL. SET 0 IRP DAYS GEN VFD(36/.VAL.*DAY) .VAL. SET .VAL.+DAYS IRP MONTH END 00027 MONTH MONTH (31,28,31,30,31,30,31,31,30,31,30,31) 00027 000000000000 VFD 36/.VAL.*DAY .002 00030 000000127140 VFD 36/.VAL.*DAY .002 00031 000000245740 VFD 36/.VAL.*DAY .002 00032 000000375100 VFD 36/.VAL.*DAY .002 00033 000000521400 VFD 36/.VAL.*DAY .002 00034 000000650540 VFD 36/.VAL.*DAY .002 00035 000000775040 VFD 36/.VAL.*DAY .002 00036 000001124200 VFD 36/.VAL.*DAY .002 00037 000001253340 VFD 36/.VAL.*DAY .002 00040 000001377640 VFD 36/.VAL.*DAY .002 00041 000001527000 VFD 36/.VAL.*DAY .002 00042 000001653300 VFD 36/.VAL.*DAY .002 00043 TEMP.1 BSS 1 00044 TEMP.2 BSS 1 00045 000000002640 1DAY VFD 36/DAY 00046 000000000074 MINS VFD 36/60 END LITERALS 00047 000000000017 00050 000000377777 1 ABSTIM - CALCULATE NO. OF MINUTES FROM BEGINNING OF YEAR. PAGE 1 POST PROCESSOR ASSEMBLY DATA 51 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 2640 DAY 27, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 45 45 1DAY 16, 24 25 ABSX 0 46 MINS 11 555 .VAL. 27, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43 27 MONTH 21 0 ABSTIM 0 43 TEMP.1 7, 15 44 TEMP.2 14, 20 0 NO ERROR IN ABOVE ASSEMBLY. HRMIN BCD 02/22/68 1033.8 1323 00000 1 TIME CONVERSION ROUTINES. PAGE 1 5/2/66 - NOEL I. MORRIS ALGORITHMS ADAPTED FROM J. W. PODUSKA 00000 ENTRY HRMIN CONVERT 60TH'S TO 'HHMM.M' 00012 ENTRY MINS CONVERT 60TH'S TO 'MMMM.M' 00024 ENTRY HOURS CONVERT 60TH'S TO ' HHHH.H' 00036 ENTRY FTIME CONVERT FILE SYSTEM TIME TO BCD UNLIST M CALL MACRO SUBR,LIST 1 TIME CONVERSION ROUTINES. PAGE 2 HRMIN - CONVERT 60TH'S TO HOURS, MINUTES, AND TENTHS. 00000 0560 60 4 00001 HRMIN LDQ* 1,4 PLACE TIME IN MQ. 00001 -0754 00 0 00000 ZAC CLEAR AC. 00002 0225 34 0 00066 VDP =216E4B42,,28 =10*60*60*60, GET 10'S OF HOURS. 00003 0225 06 0 00070 VDP =216E3B36,,6 =60*60*60, GET 1'S OF HOURS. 00004 0225 06 0 00074 VDP =36E3B30,,6 =10*60*60, GET 10'S OF MINUTES. 00005 0225 06 0 00075 VDP =36E2B24,,6 =60*60, GET 1'S OF MINUTES. 00006 0225 14 0 00100 VDP =36E1B12,,12 =6*60, TENTHS, LEAVE ROOM FOR POINT. 00007 -0130 00 0 00000 XCL PLACE IN LAC, 00010 -0501 00 0 00064 ORA =H0000.0 INSERT DECIMAL POINT, 00011 0020 00 4 00002 TRA 2,4 AND RETURN. 1 TIME CONVERSION ROUTINES. PAGE 3 MINS - CONVERT 60TH'S TO MINUTES AND TENTHS. 00012 0560 60 4 00001 MINS LDQ* 1,4 PLACE TIME IN MQ. 00013 -0754 00 0 00000 ZAC CLEAR AC. 00014 0225 34 0 00067 VDP =36E5B42,,28 =10*10*10*60*60, 1000'S OF MINUTES. 00015 0225 06 0 00072 VDP =36E4B36,,6 =10*10*60*60, 100'S OF MINUTES. 00016 0225 06 0 00074 VDP =36E3B30,,6 =10*60*60, 10'S OF MINUTES. 00017 0225 06 0 00075 VDP =36E2B24,,6 =60*60, MINUTES. 00020 0225 14 0 00100 VDP =36E1B12,,12 =6*60, TENTHS, LEAVE ROOM FOR POINT. 00021 -0130 00 0 00000 XCL PLACE ANSWER IN AC. 00022 -0501 00 0 00064 ORA =H0000.0 INSERT DECIMAL POINT, 00023 0020 00 4 00002 TRA 2,4 AND RETURN 1 TIME CONVERSION ROUTINES. PAGE 4 HOURS - CONVERT 60TH'S TO HOURS AND HUNDREDTHS. 00024 0560 60 4 00001 HOURS LDQ* 1,4 PLACE TIME IN MQ. 00025 -0754 00 0 00000 ZAC CLEAR AC. 00026 0225 34 0 00066 VDP =216E4B42,,28 =10*60*60*60, GET 10'S OF HOURS. 00027 0225 06 0 00070 VDP =216E3B36,,6 =60*60*60, GET 1'S OF HOURS. 00030 0225 14 0 00076 VDP =216E2B24,,12 =6*60*60, GET 10TH'S, LEAVE ROOM FOR POINT. 00031 0225 06 0 00077 VDP =216E1B18,,6 =6*6*60, GET 100TH'S OF HOURS. 00032 -0130 00 0 00000 XCL PLACE IN LAC, 00033 -0501 00 0 00101 ORA =H 00.00 INSERT BLANK AND DECIMAL POINT, 00034 -0760 00 0 00003 SSM FIX ARITHMETIC AC, 00035 0020 00 4 00002 TRA 2,4 AND RETURN WITH ' HH.HH'. 1 TIME CONVERSION ROUTINES. PAGE 5 FTIME - CONVERT FILE SYSTEM DATE AND TIME TO BCD. 00036 0634 00 4 00055 FTIME SXA FTX,4 SAVE XR4. 00037 0560 60 4 00001 LDQ* 1,4 GET FILE SYSTEM DATE AND TIME. 00040 -0754 00 0 00000 ZAC CLEAR AC. 00041 0225 07 0 00060 VDP =1E1B36,,7 =10, GET 10'S OF YEARS. 00042 0225 06 0 00061 VDP =1E0B30,,6 =1, GET YEARS. 00043 0225 06 0 00063 VDP =1E1B28,,6 =10, GET 10'S OF MONTHS. 00044 0225 06 0 00065 VDP =1E0B22,,6 =1, GET MONTHS. 00045 0225 06 0 00071 VDP =1E1B21,,6 =10, GET 10'S OF DAYS. 00046 0225 06 0 00073 VDP =1E0B15,,6 =1, GET DAYS. 00047 -0773 00 0 00014 RQL 12 'YYMMDD' IN MQ, SO ROTATE. 00050 -0600 60 4 00002 STQ* 2,4 STORE 'MMDDYY' IN BCD. 00051 0765 00 0 00045 LRS 2+35 RIGHT JUSTIFY TIME AND CLEAR AC. 00052 0200 00 0 00062 MPY =60 GET THE TIME IN 60TH'S, 00053 0074 00 4 00002 TSX HRMIN+2,4 AND CONVERT WITH HRMIN. 00054 0761 00 0 00000 NOP (HRMIN RETURNS 2,4) 00055 0774 00 4 00000 FTX AXT **,4 RESTORE XR4, 00056 0601 60 4 00003 STO* 3,4 STORE ANSWER, 00057 0020 00 4 00004 TRA 4,4 AND RETURN 1 TIME CONVERSION ROUTINES. PAGE 6 STORAGE AND CONSTANTS. END LITERALS 00060 000000000005 00061 000000000040 00062 000000000074 00063 000000002400 00064 000000003300 00065 000000020000 00066 000000040753 00067 000000066735 00070 000000322740 00071 000000500000 00072 000000537440 00073 000004000000 00074 000004312000 00075 000034100000 00076 000250600000 00077 002070000000 00100 026400000000 00101 600000330000 1 TIME CONVERSION ROUTINES. PAGE 1 POST PROCESSOR ASSEMBLY DATA 102 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 55 FTX 36 12 MINS 0 36 FTIME 0 24 HOURS 0 0 HRMIN 0, 53 0 NO ERROR IN ABOVE ASSEMBLY. ABSDAT BCD 02/22/68 1033.8 1169 00000 1 ABSDAT - GIVE ABSOLUTE NUMBER FOR DAY OF YEAR. PAGE 1 11/10/65 - NOEL I. MORRIS * * CALLING SEQUENCE - * * TSX ABSDAT,4 * PAR MONTH * PAR DAY * PAR YEAR * * STO NUMBER * * * 00000 ENTRY ABSDAT 00000 0634 00 4 00036 ABSDAT SXA AX4,4 SAVE XR4 00001 0600 00 0 00054 STZ LEAP INITIALIZE LEAP YEAR SW. 00002 -0500 60 4 00003 CAL* 3,4 GET YEAR 00003 0602 00 0 00055 SLW YEAR .. 00004 -0320 00 0 00062 ANA =3 MASK OFF LOW ORDER BITS 00005 -0100 00 0 00007 TNZ *+2 IF ZERO 00006 -0625 00 0 00054 STL LEAP IT IS A LEAP YEAR 00007 -0500 60 4 00002 CAL* 2,4 GET DAY 00010 0602 00 0 00056 SLW DAY .. 00011 -0500 60 4 00001 CAL* 1,4 AND MONTH 00012 0737 00 4 00000 PAC ,4 IN XR4 COMPLEMENTED 00013 0500 00 0 00055 CLA YEAR GET YEAR 00014 0402 00 0 00061 SUB =1 MINUS 1 00015 0131 00 0 00000 XCA IN MQ 00016 -0754 00 0 00000 ZAC ZERO FOR DIVISION 00017 0221 00 0 00063 DVP =4 YEAR MOD 4 00020 -0600 00 0 00057 STQ OVER4 .. 00021 0200 00 0 00065 MPY =366 366 FOR LEAP YEARS 00022 -0600 00 0 00060 STQ TEMP SAVE IT 00023 0500 00 0 00055 CLA YEAR YEAR - YEAR / 4 00024 0402 00 0 00057 SUB OVER4 .. 00025 0131 00 0 00000 XCA NUMBER OF NON-LEAP YEARS 00026 0200 00 0 00064 MPY =365 .. 00027 0131 00 0 00000 XCA .. 00030 0400 00 0 00060 ADD TEMP ADD ON LEAP-YEARS 00031 0400 00 4 00037 ADD TBL,4 AND CORRECT DAYS 00032 0400 00 0 00056 ADD DAY .. 00033 3 77775 4 00036 TXH *+3,4,-3 IF AFTER FEBRUARY, 00034 0520 00 0 00054 ZET LEAP AND A LEAP YEAR 00035 0400 00 0 00061 ADD =1 ADD ANOTHER DAY 00036 0774 00 4 00000 AX4 AXT **,4 RESTORE XR4 00037 0020 00 4 00004 TRA 4,4 RETURN 1 ABSDAT - GIVE ABSOLUTE NUMBER FOR DAY OF YEAR. PAGE 2 00037 JAN EQU 31 THIRTY DAYS 00073 FEB EQU JAN+28 HATH SEPTEMBER, 00132 MAR EQU FEB+31 APRIL, JUNE, 00170 APR EQU MAR+30 AND NOVEMBER. 00227 MAY EQU APR+31 ALL THE REST 00265 JUNE EQU MAY+30 HAVE THIRTY-ONE, 00324 JULY EQU JUNE+31 EXCEPT FEBRUARY ALONE, 00363 AUG EQU JULY+31 WHICH HAS TWENTY-EIGHT 00421 SEPT EQU AUG+30 IN FINE, 00460 OCT EQU SEPT+31 AND EACH LEAP YEAR 00516 NOV EQU OCT+30 TWENTY-NINE. 00037 TBL EQU *-1 00040 0 00000 0 00000 PZE 0 00041 0 00000 0 00037 PZE JAN 00042 0 00000 0 00073 PZE FEB 00043 0 00000 0 00132 PZE MAR 00044 0 00000 0 00170 PZE APR 00045 0 00000 0 00227 PZE MAY 00046 0 00000 0 00265 PZE JUNE 00047 0 00000 0 00324 PZE JULY 00050 0 00000 0 00363 PZE AUG 00051 0 00000 0 00421 PZE SEPT 00052 0 00000 0 00460 PZE OCT 00053 0 00000 0 00516 PZE NOV 00054 0 00000 0 00000 LEAP PZE 00055 0 00000 0 00000 YEAR PZE 00056 0 00000 0 00000 DAY PZE 00057 0 00000 0 00000 OVER4 PZE 00060 0 00000 0 00000 TEMP PZE END LITERALS 00061 000000000001 00062 000000000003 00063 000000000004 00064 000000000555 00065 000000000556 1 ABSDAT - GIVE ABSOLUTE NUMBER FOR DAY OF YEAR. PAGE 1 POST PROCESSOR ASSEMBLY DATA 66 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 170 APR 40, 44 363 AUG 40, 50 36 AX4 0 56 DAY 10, 32 73 FEB 40, 42 37 JAN 40, 41 132 MAR 40, 43 227 MAY 40, 45 516 NOV 40, 53 460 OCT 40, 52 37 TBL 31, 40 324 JULY 40, 47 265 JUNE 40, 46 54 LEAP 1, 6, 34 421 SEPT 40, 51 60 TEMP 22, 30 55 YEAR 3, 13, 23 57 OVER4 20, 24 0 ABSDAT 0 0 NO ERROR IN ABOVE ASSEMBLY. FIX BCD 02/22/68 1033.8 276 00000 1 FIX - CONVERT FLOATING POINT TO INTEGER AND FRACTION. PAGE 1 7/19/66 - NOEL I. MORRIS 00000 ENTRY FIX 00000 0500 60 4 00001 FIX CLA* 1,4 PICK UP FLOATING-POINT NUMBER 00001 -0300 00 0 00010 UFA CF FIX IT 00002 0322 00 0 00010 ERA CF .. 00003 0763 00 0 00000 LLS 0 PRESERVE THE SIGN 00004 0601 60 4 00002 STO* 2,4 RETURN INTEGER PART 00005 0763 00 0 00010 LLS 8 LEFT-JUSTIFY FRACTION 00006 -0600 60 4 00003 STQ* 3,4 AND RETURN 00007 0020 00 4 00003 TRA 3,4 AND RETURN 00010 233000000000 CF VFD O9/233 END 1 FIX - CONVERT FLOATING POINT TO INTEGER AND FRACTION. PAGE 1 POST PROCESSOR ASSEMBLY DATA 11 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 10 CF 1, 2 0 FIX 0 0 NO ERROR IN ABOVE ASSEMBLY. FRACBC BCD 02/22/68 1033.8 361 00000 1 FRACBC - FRACTION TO BCD CONVERSION. PAGE 1 7/19/66 - NOEL I. MORRIS 00000 ENTRY FRACBC 00000 0634 00 4 00012 FRACBC SXA SX4,4 SAVE XR4 00001 0600 00 0 00014 STZ FRACT INITIALIZE RESULT 00002 0560 60 4 00001 LDQ* 1,4 PICK UP NUMBER 00003 0774 00 4 00000 AXT 0,4 CONVERSION AND SHIFT COUNTER 00004 0200 00 0 00015 FLOOP MPY =10 DIGIT IN AC 00005 0767 00 4 00036 ALS 30,4 SHIFT TO POSITION 00006 -0602 00 0 00014 ORS FRACT AND OR INTO RESULT 00007 1 00006 4 00010 TXI *+1,4,6 .. 00010 -3 00036 4 00004 TXL FLOOP,4,30 .. 00011 0500 00 0 00014 CLA FRACT PICK UP RESULT 00012 0774 00 4 00000 SX4 AXT **,4 RESTORE XR4 00013 0020 00 4 00002 TRA 2,4 AND RETURN 00014 0 00000 0 00000 FRACT PZE END LITERALS 00015 000000000012 1 FRACBC - FRACTION TO BCD CONVERSION. PAGE 1 POST PROCESSOR ASSEMBLY DATA 16 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 12 SX4 0 4 FLOOP 10 14 FRACT 1, 6, 11 0 FRACBC 0 0 NO ERROR IN ABOVE ASSEMBLY. SNOOZE BCD 02/09/69 0620.4 1856 00000 1 SNOOZE - SLEEP PROGRAM TO ALLOW I/C COMMUNICATION - R. ROACH 2/21/68 PAGE 1 * * CALLING SEQUENCE - * * SNOOZE.(SLPTIM,COM(N+1)) * WHERE V'S COM = 777777777777K,ARGN,...,ARG1,COMMND * IS THE COMMAND TO BE EXECUTED UPON COMPLETION OF I/C COMMUNICATION. * (N IS THE NUMBER OF ARGUMENTS TO COMMND) * * IF COM(N+1) IS '0', THE CURRENT CORE IMAGE WILL BE * SAVED AND THEN RESUMED UPON COMPLETION OF I/C COMM. * * SLPTIM IS THE TIME TO SLEEP IN SECONDS. 00011 ENTRY SNOOZE EXTERN GETIME,SLEEP,CHNCOM EXTERN ALLOW,RDMESS,WRFLX EXTERN SETCLS,GETCLS,SETCLC TRANSFER VECTOR 00000 272563314425 GETIME 00001 624325254760 SLEEP 00002 233045234644 CHNCOM 00003 214343466660 ALLOW 00004 512444256262 RDMESS 00005 665126436760 WRFLX 00006 622563234362 SETCLS 00007 272563234362 GETCLS 00010 622563234323 SETCLC 00011 0634 00 4 00123 SNOOZE SXA XR4,4 00012 -0500 60 4 00001 CAL* 1,4 GET SLEEP TIME IN SECONDS 00013 -0130 00 0 00000 XCL 00014 0200 00 0 00166 MPY =60 CHANGE TO 60THS 00015 -0600 00 0 00160 STQ SLPTIM 00016 -0500 00 4 00002 CAL 2,4 GET ADDRESS OF COMMAND BUFFER 00017 0621 00 0 00116 STA COMMD 00020 -0500 60 4 00002 CAL* 2,4 GET FIRST WORD OF COMMAND 00021 0602 00 0 00163 SLW CMDIND IF WORD IS ZERO, RESUME PRESENT COMMAND 00022 0074 00 4 00000 TSX GETIME,4 00023 0602 00 0 00162 SLW OTIME SAVE PRESENT TIME 00024 0400 00 0 00160 ADD SLPTIM CALCULATE WHEN TO WAKE UP 00025 0602 00 0 00161 SLW AWAKE 00026 0074 00 4 00003 SLP TSX ALLOW,4 00027 0 00000 0 00164 PZE =0 00030 0 00000 0 00164 PZE =0 ALLOW EVERYBODY 00031 0560 00 0 00160 LDQ SLPTIM 00032 -0754 00 0 00000 ZAC 00033 0221 00 0 00166 DVP =60 CHANGE BACK TO SECONDS 00034 -0130 00 0 00000 XCL 00035 0100 00 0 00123 TZE OUT IGNORE IF ZERO (NO SLEEPING) 00036 0074 00 4 00001 TSX SLEEP,4 00037 0074 00 4 00004 TSX RDMESS,4 SEE IF WE HAVE ANY INPUT 00040 0 00016 0 00141 PZE PROB,,14 00041 0020 00 0 00123 TRA OUT SKIP IF NO INPUT 00042 -0500 00 0 00141 CAL PROB TEST FIRST WORD OF INPUT 1 SNOOZE - SLEEP PROGRAM TO ALLOW I/C COMMUNICATION - R. ROACH 2/21/68 PAGE 2 00043 -0320 00 0 00172 ANA =O770000000000 00044 0322 00 0 00172 ERA =O770000000000 00045 0100 00 0 00057 TZE GOTIT 77 PREFIX MEANS I/C COMMUNICATION 00046 0074 00 4 00000 TIMCHK TSX GETIME,4 OTHERWISE CHECK TO SEE IF WE SLEPT ENOUGH 00047 -0340 00 0 00162 LAS OTIME COMPARE WITH TIME WENT TO SLEEP 00050 0020 00 0 00053 TRA *+3 00051 0020 00 0 00053 TRA *+2 00052 0400 00 0 00157 ADD 24HR DAYS CHANGED, GO AHEAD ONE DAY 00053 0402 00 0 00161 SUB AWAKE SUBTRACT WHEN WE SHOULD HAVE AWOKE 00054 0120 00 0 00123 TPL OUT POSITIVE, MORE THAN ENOUGH 00055 0602 00 0 00160 SLW SLPTIM OTHERWISE SLEEP SOME MORE 00056 0020 00 0 00026 TRA SLP 00057 -0500 00 0 00141 GOTIT CAL PROB WE HAVE I/C COMMUNICATION 00060 0322 00 0 00171 ERA =O170000000000 CHANGE 77 TO 60 (BLANK) 00061 0602 00 0 00141 SLW PROB 00062 0602 00 0 00132 SLW PROB2 00063 -0500 00 0 00142 CAL PROG 00064 0602 00 0 00133 SLW PROG2 00065 0767 00 0 00006 ALS 6 MAKE A NAME FOR SAVING OUT OF IT 00066 -0501 00 0 00165 ORA =H00000S 00067 0602 00 0 00126 SLW SAVFIL 00070 0602 00 0 00136 SLW RUSFIL USE FOR CONTIN COMMAND ALSO 00071 0074 00 4 00003 TSX ALLOW,4 00072 3 00000 0 00141 PTH PROB ALLOW ONLY THIS USER 00073 3 00000 0 00142 PTH PROG .. 00074 0074 00 4 00005 TSX WRFLX,4 PRINT OUT 'FROM PROB PROG' 00075 3 00003 0 00140 PTH FROM,,3 00076 0520 00 0 00163 ZET CMDIND WAS A COMMAND SPECIFIED 00077 0020 00 0 00113 TRA XCOMMD YES, EXECUTE A COMMAND 00100 0074 00 4 00006 TSX SETCLS,4 SAVE COMMAND 00101 0 00001 0 00125 PZE BUFF1,,1 00102 0074 00 4 00006 TSX SETCLS,4 WRITE COMMAND 00103 0 00002 0 00131 PZE BUFF2,,2 00104 0074 00 4 00006 TSX SETCLS,4 CONTIN COMMAND 00105 0 00003 0 00135 PZE BUFF3,,3 00106 -0500 00 0 00170 CAL =O3000001 EXECUTE COMMANDS 1 THRU 3 00107 0074 00 4 00010 TSX SETCLC,4 00110 0074 00 4 00002 TSX CHNCOM,4 00111 0 00000 0 00001 PZE 1 00112 0020 00 0 00046 TRA TIMCHK UPON RETURN CHECK FOR MORE SLEEPING 00113 0074 00 4 00006 XCOMMD TSX SETCLS,4 EXECUTE WRITE COMMAND 00114 0 00001 0 00131 PZE BUFF2,,1 00115 0074 00 4 00006 TSX SETCLS,4 THEN SPECIFIED COMMAND 00116 0 00002 0 00000 COMMD PZE **,,2 00117 -0500 00 0 00167 CAL =O2000001 EXECUTE COMMANDS 1 THRU 2 00120 0074 00 4 00010 TSX SETCLC,4 00121 0074 00 4 00002 TSX CHNCOM,4 00122 0 00000 0 00000 PZE 0 1 SNOOZE - SLEEP PROGRAM TO ALLOW I/C COMMUNICATION - R. ROACH 2/21/68 PAGE 3 00123 OUT SYN * 00123 0774 00 4 00000 XR4 AXT **,4 00124 0020 00 4 00003 TRA 3,4 00125 606062216525 BUFF1 BCI 1, SAVE 00126 0 00000 0 00000 SAVFIL PZE ** 00127 606060606063 BCI 1, T 00130 -377777777777 FENCE OCT 777777777777 00131 606651316325 BUFF2 BCI 1, WRITE 00132 0 00000 0 00000 PROB2 PZE ** 00133 0 00000 0 00000 PROG2 PZE ** 00134 -377777777777 OCT 777777777777 00135 234645633145 BUFF3 BCI 1,CONTIN 00136 0 00000 0 00000 RUSFIL PZE ** 00137 -377777777777 OCT 777777777777 00140 602651464460 FROM BCI 1, FROM 00141 0 00000 0 00000 PROB PZE ** 00142 0 00000 0 00000 PROG PZE ** 00143 BSS 12 00157 000023615000 24HR VFD 36/24*60*60*60 00160 0 00000 0 00000 SLPTIM PZE ** 00161 0 00000 0 00000 AWAKE PZE ** 00162 0 00000 0 00000 OTIME PZE ** 00163 0 00000 0 00000 CMDIND PZE ** END LITERALS 00164 000000000000 00165 000000000062 00166 000000000074 00167 000002000001 00170 000003000001 00171 170000000000 00172 770000000000 1 SNOOZE - SLEEP PROGRAM TO ALLOW I/C COMMUNICATION - R. ROACH 2/21/68 PAGE 1 POST PROCESSOR ASSEMBLY DATA 173 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 123 OUT 35, 41, 54, 123 26 SLP 56 123 XR4 11 157 24HR 52 140 FROM 75 141 PROB 40, 42, 57, 61, 72 142 PROG 63, 73 3 ALLOW 26, 71 161 AWAKE 25, 53 125 BUFF1 101 131 BUFF2 103, 114 135 BUFF3 105 116 COMMD 17 130 FENCE 57 GOTIT 45 162 OTIME 23, 47 132 PROB2 62 133 PROG2 64 1 SLEEP 36 5 WRFLX 74 2 CHNCOM 110, 121 163 CMDIND 21, 76 7 GETCLS 0 GETIME 22, 46 4 RDMESS 37 136 RUSFIL 70 126 SAVFIL 67 10 SETCLC 107, 120 6 SETCLS 100, 102, 104, 113, 115 160 SLPTIM 15, 24, 31, 55 11 SNOOZE 0 46 TIMCHK 112 113 XCOMMD 77 0 NO ERROR IN ABOVE ASSEMBLY. EXIT BCD 06/25/69 2038.0 559 00000 1 EXIT - DUMMY EXIT, EXITM AND ENDJOB ROUTINES (INCL .SETUP) - R. ROACH 03/17/69 1008.5 PAGE 1 * 00003 ENTRY EXIT 00006 ENTRY EXITM 00006 ENTRY ENDJOB 00022 ENTRY .SETUP TRANSFER VECTOR 00000 222623434662 BFCLOS 00001 234346622560 CLOSE 00002 233045234644 CHNCOM 00003 -0625 00 0 00021 EXIT STL FLAG INDICATE EXIT CALLED 00004 0074 00 4 00026 TSX WRFLX,4 WRITE 'EXIT CALLED.' ONLINE. 00005 0 00002 0 00024 PZE MESS,,2 .. 00006 0074 00 4 00000 EXITM TSX $BFCLOS,4 CLOSE FILES IN BF-PACKAGE 00007 3 00000 0 00030 PTH =HALL .. 00010 3 00000 0 00032 PTH =-0 .. 00011 3 00000 0 00011 PTH * .. 00012 0074 00 4 00001 TSX $CLOSE,4 CLOSE OTHER FILES 00013 3 00000 0 00030 PTH =HALL .. 00014 0520 00 0 00021 ZET FLAG TEST FOR EXIT CALLED. 00015 0074 00 4 00027 TSX DORMNT,4 IF SO GO DORMNT 00016 0074 00 4 00026 TSX WRFLX,4 IF EXITM OR RETURN FROM DORMNT 00017 0 00001 0 00033 PZE =O545757575757,,1 PRINT '*' 00020 0074 00 4 00002 TSX $CHNCOM,4 AND CALL CHNCOM 00021 0 00000 0 00000 FLAG PZE 0 WITH NO CORE IMAGE UNLESS EXIT CALLED 00006 ENDJOB SYN EXITM 00022 0760 00 0 00016 .SETUP EAXM JUST LEAVE MULTIPLE TAG MODE 00023 0021 00 4 00001 XIT 1,4 AND RETURN 00024 256731636023 MESS BCI 2,EXIT CALLED. 00025 214343252433 00026 0101 00 0 00034 WRFLX TIA =HWRFLX 00027 0101 00 0 00031 DORMNT TIA =HDORMNT END LITERALS 00030 214343606060 00031 244651444563 00032 400000000000 00033 545757575757 00034 665126436760 1 EXIT - DUMMY EXIT, EXITM AND ENDJOB ROUTINES (INCL .SETUP) - R. ROACH 03/17/69 1008.5 PAGE 1 POST PROCESSOR ASSEMBLY DATA 35 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 3 EXIT 0 21 FLAG 3, 14 24 MESS 5 1 CLOSE 12 6 EXITM 0, 22 26 WRFLX 4, 16 0 BFCLOS 6 2 CHNCOM 20 27 DORMNT 15 6 ENDJOB 0, 22 22 .SETUP 0 0 NO ERROR IN ABOVE ASSEMBLY. PRDIAG BCD 10/30/68 1813.3 804 00000 1 M1416 3845 PETER R BOS 10/30/68 .... FILE SYSTEM ERROR DIAGNOSTIC 68/10/30 1812.7 PAGE 1 PCC ON NOLNK 00003 ENTRY PRDIAG LBL PRDIAG PCC OFF UNLIST NO LISTING OF MACRO PACKAGE M CALL MACRO NAME,LIST SUBROUTINE CALL MACRO M SAVE MACRO ID,LIST SAVE BASIC MACHINE CONDITIONS 00003 0634 00 4 00034 PRDIAG SXA PRX4,4 SAVE LINKAGE 00004 CALL $IODIAG((TMP,,6)) GET FILE SYSTEM DIAGNOSTIC 00006 0500 00 0 00060 CLA TMP+4 FILE NAME 00007 0560 00 0 00061 LDQ TMP+5 .. 00010 -0603 00 0 00051 DST DIAG+10 .. 00011 -0500 00 0 00055 CAL TMP+1 NAME OF FCOR ENTRY 00012 0602 00 0 00047 SLW DIAG+8 .. 00013 CALL $OCRBC(TMP) LOCATION OF CALL 00015 -0501 00 0 00062 ORA =O570000000000 .. 00016 0602 00 0 00044 SLW DIAG+5 .. 00017 0560 00 0 00053 LDQ I.O 'I/O ' 00020 -0500 00 0 00057 CAL TMP+3 I/O ERROR CODE IF ANY 00021 -0100 00 0 00024 TNZ *+3 IF ZERO, ORDINARY ERROR 00022 0560 00 0 00063 LDQ =O575757575757 .. 00023 -0500 00 0 00056 CAL TMP+2 ERROR CODE. 00024 -0600 00 0 00037 STQ DIAG .. 00025 0602 00 0 00054 SLW TMP CONVERT ERROR CODE 00026 CALL $DERBC(TMP) .. 00030 -0501 00 0 00064 ORA =O575760000000 .. 00031 0602 00 0 00041 SLW DIAG+2 .. 00032 CALL WRFLX((DIAG,,12)) PRINT DIAGNOSTIC 00034 0774 00 4 00000 PRX4 AXT -,4 RESTORE LINKAGE 00035 0020 00 4 00001 TRA 1,4 RETURN TO CALLER 00036 0101 00 0 00065 WRFLX TIA =HWRFLX ..... STORAGE AND CONSTANTS ...... 00037 000000000000 DIAG VFD 36/0,H30/ERROR,O6/57,36/0,O6/60, 00040 255151465157 00041 000000000000 00042 602646644524 ETC H30/FOUND,O6/60,H12/AT,O18/605757, 00043 602163605757 00044 000000000000 ETC 36/0,O6/60,H12/IN,O6/60,H24/CALL,O6/60, 00045 603145602321 00046 434360634660 ETC H12/TO,O6/60,36/0,O6/60,H18/FOR, 00047 000000000000 00050 602646516057 ETC O12/6057,36/0,36/0 00051 000000000000 00052 000000000000 00053 316146605757 I.O VFD H18/I/O,O18/605757 00054 TMP BSS 6 TEMPORARY ARRAY END 1 M1416 3845 PETER R BOS 10/30/68 .... FILE SYSTEM ERROR DIAGNOSTIC 68/10/30 1812.7 PAGE 2 LITERALS 00062 570000000000 00063 575757575757 00064 575760000000 00065 665126436760 1 M1416 3845 PETER R BOS 10/30/68 .... FILE SYSTEM ERROR DIAGNOSTIC 68/10/30 1812.7 PAGE 1 POST PROCESSOR ASSEMBLY DATA 66 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 53 I.O 17 54 TMP 5, 6, 7, 11, 14, 20, 23, 25, 27 37 DIAG 10, 12, 16, 24, 31, 33 34 PRX4 3 2 DERBC 26 1 OCRBC 13 36 WRFLX 32 0 IODIAG 4 3 PRDIAG 0 0 NO ERROR IN ABOVE ASSEMBLY. SNAP BCD 10/30/68 1813.3 947 00000 1 SNAP MODIFIED BY P. CRISMAN FOR ENTRY BY SETERR. 68/10/30 1812.5 PAGE 1 * MODIFIED BY R. ROACH FOR CALL TO PRDAIG 10/30/68 BINARY CARD NO. SNAP0000 00006 ENTRY SNAP TRANSFER VECTOR BINARY CARD NO. SNAP0001 00000 314624312127 IODIAG 00001 475124312127 PRDIAG 00002 462324222360 OCDBC 00003 512523466447 RECOUP LINKAGE DIRECTOR 00004 000000000000 00005 624521476060 00006 -0634 00 4 00004 SNAP SXD *-2,4 00007 0074 00 4 00000 TSX $IODIAG,4 SEE IF THIS IS I/O ERROR 00010 3 00003 0 00071 PTH A,,3 00011 0500 00 0 00073 CLA A+2 ERROR CODE AT 00012 0774 00 0 00000 AXT REFERRED TO BY SETERR AS SNAP+4 AT 00013 0774 00 0 00000 AXT SNAP+5 00014 0100 00 0 00016 TZE *+2 ZERO..NOT I/O ERROR 00015 0074 00 4 00001 TSX $PRDIAG,4 PRINT I/O ERROR 00016 0604 00 0 00070 STI IND SAVE INDICATORS FOR RECOUP 00017 -0600 00 0 00067 STQ MQ SAVE MQ 00020 0602 00 0 00066 SLW ERTP ERROR CODE 00021 0560 00 0 00075 LDQ =H IN CASE BCD NAME NOT FOUND 00022 -0636 00 4 00064 SCD RETAD,4 00023 0636 00 4 00025 SCA V,4 TRY TO FIND OUT WHO CALLED SNAP BINARY CARD NO. SNAP0002 00024 0774 00 4 00006 AXT 6,4 00025 -0500 00 0 00000 V CAL ** 00026 0621 00 0 00025 STA V 00027 -0320 00 0 00077 ANA =O777700000000 00030 0322 00 0 00065 ERA TIA IS THIS A TIA CALL SEQ 00031 -2 00001 4 00034 TNX XZ,4,1 MUST NOT BE 00032 -0100 00 0 00025 TNZ V HAVENT FOUND TIA YET 00033 0560 60 0 00025 LDQ* V FOUND BCD NAME 00034 -0600 00 0 00052 XZ STQ CALLER PUT INTO ERR MESSAGE 00035 0074 00 4 00002 TSX $OCDBC,4 00036 0 00000 0 00064 PZE RETAD 00037 0601 00 0 00060 STO WHERE ENTRY LOC INTO ERR MESSAGE 00040 0074 00 4 00074 TSX WRFLX,4 00041 0 00012 0 00052 PZE M,,10 00042 0560 00 0 00067 LDQ MQ 00043 0441 00 0 00064 LDI RETAD LOC OF TSX INTO INDICATORS 00044 0074 00 4 00003 CALL RECOUP,ERTP,SNAP-2,IND 00045 0074 00 0 00066 00046 0074 00 0 00004 00047 0074 00 0 00070 1 SNAP MODIFIED BY P. CRISMAN FOR ENTRY BY SETERR. 68/10/30 1812.5 PAGE 2 BINARY CARD NO. SNAP0003 00050 1 00000 0 00052 00051 0 00054 0 00004 00052 606060606060 M BCI , CALLED SNAP FROM ABSOLUTE LOC . RECOUP CALLED. 00053 602321434325 00054 246062452147 00055 602651464460 00056 212262464364 00057 632560434623 00060 606060606060 00061 336051252346 00062 644760232143 00063 432524336060 00060 WHERE EQU M+6 00052 CALLER EQU M 00064 0 00000 0 00000 RETAD PZE 00065 0101 00 0 00000 TIA TIA 00066 0 00000 0 00000 ERTP PZE 00067 0 00000 0 00000 MQ PZE 00070 0 00000 0 00000 IND PZE 00071 A BSS 3 BINARY CARD NO. SNAP0004 00074 0101 00 0 00076 WRFLX TIA =HWRFLX END LITERALS 00075 606060606060 00076 665126436760 00077 777700000000 1 SNAP MODIFIED BY P. CRISMAN FOR ENTRY BY SETERR. 68/10/30 1812.5 PAGE 1 POST PROCESSOR ASSEMBLY DATA 100 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 71 A 10, 11 52 M 41, 64 25 V 23, 26, 32, 33 67 MQ 17, 42 34 XZ 31 70 IND 16, 47 65 TIA 30 66 ERTP 20, 45 6 SNAP 0, 46 2 OCDBC 35 64 RETAD 22, 36, 43 60 WHERE 37, 64 74 WRFLX 40 52 CALLER 34, 64 0 IODIAG 7 1 PRDIAG 15 3 RECOUP 44 0 NO ERROR IN ABOVE ASSEMBLY. BRAKE BCD 02/22/68 1033.8 370 00000 1 BRAKE PAGE 1 * EXITING PROGRAM. RECONSTRUCTED FROM THE BINARY BY ROGER ROACH 8-01-67 * * TESTS FOR COMMAND CHAINING AND IF PRESENT WILL TYPE INSTRUCTIONS FOR * CONTINUING THE CHAIN. IT THEN CALLS DORMNT. TYPING 'START' RETURNS * TO 1,4. IF NOT COMMAND CHAINING WILL RETURN DIRECTLY TO 1,4. * 00003 ENTRY BRAKE TRANSFER VECTOR 00000 272563234323 GETCLC 00001 665126436760 WRFLX 00002 244651444563 DORMNT 00003 0634 00 4 00011 BRAKE SXA XR4,4 00004 0074 00 4 00000 TSX $GETCLC,4 00005 0100 00 0 00011 TZE XR4 00006 0074 00 4 00001 TSX $WRFLX,4 00007 0 00004 0 00013 PZE MESS,,4 00010 0074 00 4 00002 OUT TSX $DORMNT,4 00011 0774 00 4 00000 XR4 AXT **,4 00012 0020 00 4 00001 TRA 1,4 00013 606370472560 MESS BCI 4, TYPE 'START' TO GO ON. 00014 146263215163 00015 146063466027 00016 466046453360 END 1 BRAKE PAGE 1 POST PROCESSOR ASSEMBLY DATA 17 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 10 OUT 11 XR4 3, 5 13 MESS 7 3 BRAKE 0 1 WRFLX 6 2 DORMNT 10 0 GETCLC 4 0 NO ERROR IN ABOVE ASSEMBLY. DSKER BCD 02/22/68 1033.8 293 00000 1 DISK ERROR SUBROUTINE - CALLS PRNTER VIA NEXCOM. PAGE 1 REVISED 9/14/65 - NOEL I. MORRIS UNLIST M CALL MACRO SUBR,LIST 00000 ENTRY DSKER 00000 -0500 00 0 00006 DSKER CAL =HPRNTER 00001 0560 00 0 00004 LDQ =O-71 00002 CALL NEXCOM 00002 0074 00 4 00003 TSX NEXCOM,4 .002 00003 RMT * REMOTE SEQUENCES 00003 0101 00 0 00005 NEXCOM TIA =HNEXCOM .002 END LITERALS 00004 400000000071 00005 452567234644 00006 475145632551 1 DISK ERROR SUBROUTINE - CALLS PRNTER VIA NEXCOM. PAGE 1 POST PROCESSOR ASSEMBLY DATA 7 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 0 DSKER 0 3 NEXCOM 2 0 NO ERROR IN ABOVE ASSEMBLY. TSK BCD 02/22/68 1034.7 1321 00000 1 $TSK - ' ADMIN NOT FOUND.', ETC. PAGE 1 PCC ON NOLNK 00071 ENTRY TSK LBL TSK PCC OFF * * THIS PROGRAM WILL RELOCATE ITSELF TO LOWER * CORE (STARTING AT 30 OCTAL), THEN TRUNCATE * ITS MEMORY BOUND. * 000030 LODPT BOOL 30 DESIRED ORIGIN. 77750 A0 SYN *-LODPT EFFECTIVE LOCATION '0'. 00000 R0 SYN * BEGINNING OF PROGRAM. 00030 START SYN *-A0 ENTRY POINT. 00000 0074 00 4 00062 TSX GETCOM-A0,4 GET COMMAND NAME. 00001 0 00000 0 00000 PZE 0 00002 0602 00 0 00102 SLW TSK.-A0 00003 0074 00 4 00064 TSX WRFLX-A0,4 CLAIM ITS NOT A COMMAND. 00004 0 00003 0 00102 PZE TSK.-A0,,3 00005 0074 00 4 00066 TSX GETCLC-A0,4 TEST FOR COMMAND CHAIN. 00006 -0320 00 0 00120 ANA MASK-A0 00007 -0100 00 0 00050 TNZ CHN-A0 00010 0074 00 4 00070 TSX WRFLXA-A0,4 00011 0 00002 0 00105 PZE READY-A0,,2 00012 -0754 00 0 00000 ZAC 00013 0074 00 4 00072 TSX SLEEP-A0,4 00014 0074 00 4 00064 STRT TSX WRFLX-A0,4 PERSISTENT, AIN'T HE. 00015 0 00005 0 00107 PZE ILL.-A0,,5 00016 0074 00 4 00074 TSX DEAD-A0,4 00017 0020 00 0 00046 TRA *-1-A0 JUST IN CASE. 00020 0074 00 4 00064 CHN TSX WRFLX-A0,4 COMMAND CHAIN EXISTS. 00021 0 00004 0 00114 PZE RST-A0,,4 00022 0074 00 4 00076 TSX DORMNT-A0,4 00023 0074 00 4 00062 TSX GETCOM-A0,4 00024 0 00000 0 00000 PZE 0 00025 0322 00 0 00102 ERA TSK.-A0 TEST FOR 'RSTART' 00026 -0100 00 0 00044 TNZ STRT-A0 00027 0074 00 4 00100 TSX CHNCOM-A0,4 00030 0 00000 0 00000 PZE 0 00031 0020 00 0 00057 TRA *-2-A0 00032 0101 00 0 00063 GETCOM TIA *+1-A0 00033 272563234644 BCI 1,GETCOM 00034 0101 00 0 00065 WRFLX TIA *+1-A0 00035 665126436760 BCI 1,WRFLX 00036 0101 00 0 00067 GETCLC TIA *+1-A0 1 $TSK - ' ADMIN NOT FOUND.', ETC. PAGE 2 00037 272563234323 BCI 1,GETCLC 00040 0101 00 0 00071 WRFLXA TIA *+1-A0 00041 665126436721 BCI 1,WRFLXA 00042 0101 00 0 00073 SLEEP TIA *+1-A0 00043 624325254760 BCI 1,SLEEP 00044 0101 00 0 00075 DEAD TIA *+1-A0 00045 242521246060 BCI 1,DEAD 00046 0101 00 0 00077 DORMNT TIA *+1-A0 00047 244651444563 BCI 1,DORMNT 00050 0101 00 0 00101 CHNCOM TIA *+1-A0 00051 233045234644 BCI 1,CHNCOM 00052 602124443145 TSK. BCI 3, ADMIN NOT FOUND. 00053 604546636026 00054 466445243360 00055 512521247033 READY BCI 1,READY. 00056 -155557575757 OCT 555557575757 00057 603143432527 ILL. BCI 5, ILLEGAL SEQUENCE OF COMMANDS. 00060 214360622550 00061 642545232560 00062 462660234644 00063 442145246233 00064 637047256051 RST BCI 4,TYPE RSTART TO IGNORE. 00065 626321516360 00066 634660312745 00067 465125336060 00070 +077777000000 MASK OCT 77777000000 CLC COUNT. 00071 END SYN * EXTERNAL ENTRY POINT. 00071 0774 00 4 00071 TSK AXT END-R0,4 LENGTH OF PROGRAM. 00072 0774 00 2 00121 AXT END-A0,2 DESIRED MEMBND. 00073 0634 00 2 00075 SXA *+2,2 00074 -0500 00 4 00071 CAL END,4 AND DOWN WE GO. 00075 0602 00 4 00000 SLW -,4 .. 00076 2 00001 4 00074 TIX *-2,4,1 LOOP TILL DONE. 00077 0774 00 4 00030 AXT START,4 THOROUGHNESS... 00100 0634 00 4 00024 SXA LODPT-4,4 00101 0634 00 4 00025 SXA LODPT-3,4 00102 0634 00 4 00026 SXA LODPT-2,4 00103 0774 00 4 00121 AXT END-A0,4 SET UP NEW MEMBND. 00104 0754 00 4 00000 PXA 0,4 .. 00105 -0774 00 4 00027 AXC START-1,4 RETURN LOCATION IS 'START'. 00106 0021 00 0 00107 TTR *+1 GO TO SETMEM. 00107 0101 00 0 00110 TIA *+1 00110 622563442544 BCI 1,SETMEM .. 1 $TSK - ' ADMIN NOT FOUND.', ETC. PAGE 3 END 1 $TSK - ' ADMIN NOT FOUND.', ETC. PAGE 1 POST PROCESSOR ASSEMBLY DATA 111 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 77750 A0 0, 2, 3, 4, 5, 6, 7, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22 23, 25, 26, 27, 31, 32, 34, 36, 40, 42, 44, 46, 50, 72, 103 0 R0 0, 71 20 CHN 7 71 END 71, 72, 74, 103 64 RST 21 71 TSK 0 44 DEAD 16 57 ILL. 15 70 MASK 6 14 STRT 26 52 TSK. 2, 4, 25 30 LODPT 0, 100, 101, 102 55 READY 11 42 SLEEP 13 30 START 0, 77, 105 34 WRFLX 3, 14, 20 50 CHNCOM 27 46 DORMNT 22 36 GETCLC 5 32 GETCOM 0, 23 40 WRFLXA 10 0 NO ERROR IN ABOVE ASSEMBLY. DELETE BCD 02/22/68 1034.7 2097 00000 1 DELETE ALL VERSIONS OF AN OLD FILE. PAGE 1 NOEL I. MORRIS - 6/22/65 UNLIST M CALL MACRO SUBR,LIST 00001 ENTRY DELETE 00000 462351222360 OCRBC 00001 0634 00 4 00035 DELETE SXA XR4,4 SAVE XRS 00002 0604 00 0 00125 STI SVSI SAVE SI 00003 0600 00 0 00122 STZ MODE SET MODE TO 'P' 00004 -0500 60 4 00001 CAL* 1,4 GET FILE NAME 00005 0602 00 0 00107 SLW FNAM .. 00006 -0500 60 4 00002 CAL* 2,4 .. 00007 0602 00 0 00111 SLW FNAM+2 .. 00010 -0500 60 4 00003 CAL* 3,4 GET DELETION PRINT SWITCH 00011 0602 00 0 00124 SLW PSW .. 00012 CALL FSTATE(FNAM,FNAM+2(BUFF,,2)FSERR,ERCODE) 00012 0074 00 4 00126 TSX FSTATE,4 .002 00013 3 00000 0 00107 PAR FNAM .004 00014 3 00000 0 00111 PAR FNAM+2 .004 00015 3 00002 0 00121 PAR BUFF,,2 .004 00016 3 00000 0 00070 PAR FSERR .004 00017 3 00000 0 00123 PAR ERCODE .004 00020 0441 00 0 00122 LDI MODE GET MODE BITS 00021 -0054 00 400000 LFT 400000 CHECK FOR LINKED FILE 00022 0020 00 0 00073 TRA LINKD IS LINKED, WILL NOT DELETE 00023 0054 00 000134 RFT 134 CHECK FOR READ-ONLY/PROTECTED, ETC. 00024 0020 00 0 00040 TRA ASK PROTECTED, ASK FOR DELETE 00025 DEL CALL DELFIL(FNAM,FNAM+2,NODEL) 00025 0074 00 4 00127 TSX DELFIL,4 .002 00026 3 00000 0 00107 PAR FNAM .004 00027 3 00000 0 00111 PAR FNAM+2 .004 00030 3 00000 0 00075 PAR NODEL .004 00031 0520 00 0 00124 ZET PSW CHECK FOR DELETION PRINT 00032 CALL WRFLX((DTOF,,6)) PRINT DELETION COMMENT 00032 0074 00 4 00130 TSX WRFLX,4 .002 00033 3 00006 0 00104 PAR DTOF,,6 .004 00034 -0500 00 0 00122 GONE CAL MODE GET THE MODE 00035 0774 00 4 00000 XR4 AXT **,4 RESTORE XRS 00036 0441 00 0 00125 LDI SVSI AND THE SI 00037 0020 00 4 00005 TRA 5,4 RETURN 1 DELETE ALL VERSIONS OF AN OLD FILE. PAGE 2 00040 ASK CALL $OCRBC(MODE) CONVERT TO BCD 00040 0074 00 4 00000 TSX $OCRBC,4 .002 00041 3 00000 0 00122 PAR MODE .004 00042 -0501 00 0 00151 ORA =O605757000000 MASK PROPERLY 00043 0602 00 0 00112 SLW BCMODE AND STORE IN COMMENT 00044 CALL WRFLXA((FNAM-1,,11)) 00044 0074 00 4 00131 TSX WRFLXA,4 .002 00045 3 00013 0 00106 PAR FNAM-1,,11 .004 00046 CALL RDFLXA((BUFF,,1)) 00046 0074 00 4 00132 TSX RDFLXA,4 .002 00047 3 00001 0 00121 PAR BUFF,,1 .004 00050 -0500 00 0 00121 CAL BUFF LOOK AT ANSWER 00051 0771 00 0 00022 ARS 18 .. 00052 0322 00 0 00143 ERA =H000YES CHECK FOR SPECIFIC 'YES' 00053 -0100 00 0 00075 TNZ NODEL NON-ZERO IF 'NO' OR GARBAGE 00054 CALL CHFILE(FNAM,FNAM+2,=1,=-0,=-0,NODEL) 00054 0074 00 4 00133 TSX CHFILE,4 .002 00055 3 00000 0 00107 PAR FNAM .004 00056 3 00000 0 00111 PAR FNAM+2 .004 00057 3 00000 0 00141 PAR =1 .004 00060 3 00000 0 00147 PAR =-0 .004 00061 3 00000 0 00147 PAR =-0 .004 00062 3 00000 0 00075 PAR NODEL .004 00063 CALL DELFIL(FNAM,FNAM+2,NODEL) DELETE IT NOW 00063 0074 00 4 00127 TSX DELFIL,4 .002 00064 3 00000 0 00107 PAR FNAM .004 00065 3 00000 0 00111 PAR FNAM+2 .004 00066 3 00000 0 00075 PAR NODEL .004 00067 0020 00 0 00034 TRA GONE .. 00070 -0500 00 0 00123 FSERR CAL ERCODE GET FSTATE ERROR CODE 00071 0402 00 0 00142 SUB =3 ANYTHING ELSE THAN 3 00072 0100 00 0 00034 TZE GONE IS A LINK ERROR 00073 LINKD COMENT LNKMSG,3,(FILE IS A LINK.),A 00073 0074 00 4 00131 TSX WRFLXA,4 .003 00074 3 00003 0 00134 PAR LNKMSG,,3 .005 DO NOT DELETE A LINK 00075 NODEL CALL WRFLXA((FNAM,,3)) 00075 0074 00 4 00131 TSX WRFLXA,4 .002 00076 3 00003 0 00107 PAR FNAM,,3 .004 00077 COMENT NOT,2,( NOT DELETED) 00077 0074 00 4 00130 TSX WRFLX,4 .003 00100 3 00002 0 00137 PAR NOT,,2 .005 00101 0522 00 0 00035 XEC XR4 RESTORE XRS 00102 0441 00 0 00125 LDI SVSI AND SI 00103 0020 60 4 00004 TRA* 4,4 ERROR RETURN 1 DELETE ALL VERSIONS OF AN OLD FILE. PAGE 3 00104 242543256325 DTOF BCI 3,DELETED THE OLDER 00107 000000000000 FNAM VFD 36/0,O36/576057575757,36/0 00112 606060606060 BCMODE BCI 6, MODE. DO YOU WANT TO DELETE I 00120 637360605757 VFD H6/T,O30/7360605757 00121 0 00000 0 00000 BUFF PZE 00122 0 00000 0 00000 MODE PZE 00123 0 00000 0 00000 ERCODE PZE 00124 0 00000 0 00000 PSW PZE 00125 0 00000 0 00000 SVSI PZE 00126 RMT * REMOTE SEQUENCES 00126 0101 00 0 00146 FSTATE TIA =HFSTATE .002 00127 0101 00 0 00145 DELFIL TIA =HDELFIL .002 00130 0101 00 0 00153 WRFLX TIA =HWRFLX .002 00131 0101 00 0 00152 WRFLXA TIA =HWRFLXA .002 00132 0101 00 0 00150 RDFLXA TIA =HRDFLXA .002 00133 0101 00 0 00144 CHFILE TIA =HCHFILE .002 00134 263143256031 LNKMSG BCI 3,FILE IS A LINK. .002 00137 604546636024 NOT BCI 2, NOT DELETED .002 END LITERALS 00141 000000000001 00142 000000000003 00143 000000702562 00144 233026314325 00145 242543263143 00146 266263216325 00147 400000000000 00150 512426436721 00151 605757000000 00152 665126436721 00153 665126436760 1 DELETE ALL VERSIONS OF AN OLD FILE. PAGE 1 POST PROCESSOR ASSEMBLY DATA 154 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 40 ASK 24 25 DEL 137 NOT 100 124 PSW 11, 31 35 XR4 1, 101 121 BUFF 15, 47, 50 104 DTOF 33 107 FNAM 5, 7, 13, 14, 26, 27, 45, 55, 56, 64, 65, 76 34 GONE 67, 72 122 MODE 3, 20, 34, 41 125 SVSI 2, 36, 102 70 FSERR 16 73 LINKD 22 75 NODEL 30, 53, 62, 66 0 OCRBC 40 130 WRFLX 32, 77 112 BCMODE 43 133 CHFILE 54 1 DELETE 0 127 DELFIL 25, 63 123 ERCODE 17, 70 126 FSTATE 12 134 LNKMSG 74 132 RDFLXA 46 131 WRFLXA 44, 73, 75 0 NO ERROR IN ABOVE ASSEMBLY. MOVE BCD 02/22/68 1034.8 365 00000 1 XLIBE ROUTINE MOVE - RECONSTRUCTED BY R. ROACH 2/22/68 PAGE 1 * * MOVE MOVES A BLOCK OF DATA FROM ONE ARRAY TO ANOTHER. * * ITS CALLING SEQUENCE IS * MOVE.(N,ARRAY1(N),ARRAY2(N)) * 00000 ENTRY MOVE 00000 0634 00 2 00014 MOVE SXA XR2,2 00001 -0500 60 4 00001 CAL* 1,4 00002 0734 00 2 00000 PAX ,2 00003 1 77777 2 00004 TXI *+1,2,-1 00004 -0500 00 4 00002 CAL 2,4 GET ADDRESS OF FIRST ARRAY 00005 0621 00 0 00010 STA LOC 00006 -0500 00 4 00003 CAL 3,4 AND NOW THE SECOND 00007 0621 00 0 00011 STA LOC+1 00010 -0500 00 2 00000 LOC CAL **,2 GET DATA FROM THE FIRST 00011 0602 00 2 00000 SLW **,2 AND STORE IT INTHE SECOND 00012 -3 00000 2 00014 TXL OUT,2,0 ARE WE DONE 00013 1 77777 2 00010 TXI LOC,2,-1 NOPE, GO BACK FOR MORE 00014 OUT SYN * 00014 0774 00 2 00000 XR2 AXT **,2 00015 0020 00 4 00001 TRA 1,4 GO HOME END 1 XLIBE ROUTINE MOVE - RECONSTRUCTED BY R. ROACH 2/22/68 PAGE 1 POST PROCESSOR ASSEMBLY DATA 16 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 10 LOC 5, 7, 13 14 OUT 12, 14 14 XR2 0 0 MOVE 0 0 NO ERROR IN ABOVE ASSEMBLY. SPRAY BCD 02/23/68 1648.9 630 00000 1 XLIBE ROUTINE SPRAY - RECONSTRUCTED BY ROGER ROACH 2/22/68 PAGE 1 * * SPRAY FILLS AN ARRAY WITH A CERTAIN WORD * ZERO FILLS THAT ARRAY WITH ZEROS * * CALLING SEQUENCES ARE * SPRAY.(WORD,LOC1,LOC2...LOC2(N),LOC3,...) * ZERO.(LOC1,LOC2...LOC2(N),LOC3,....) * 00015 ENTRY SPRAY 00000 ENTRY ZERO 00000 0560 00 0 00033 ZERO LDQ =0 00001 -0600 00 0 00032 STQ WORD 00002 0634 00 1 00013 SXA XR1,1 SAVE IX 1 00003 0500 00 4 00001 LOOP CLA 1,4 GET THE ARGUMENT FROM THE LIST 00004 0734 00 1 00000 PAX ,1 PLACE INTO XR1 00005 0622 00 0 00017 STD TNX SAVE COUNT(IF ANY) IN TNX INSTR. 00006 0634 00 1 00022 SXA DST,1 PLACE ADDRESS IN DOUBLE STORE INSTR. 00007 -0320 00 0 00031 ANA SEVEN TEST THE PREFIX 00010 0340 00 0 00030 CAS TWO COMPARE WITH A PTW 00011 0020 00 0 00025 TRA OVER NOPE, A PTH (NO COUNT) 00012 0020 00 0 00017 TRA TNX A COUNT, WE HAVE A BLOCK TO FILL 00013 0774 00 1 00000 XR1 AXT **,1 EXIT 00014 0020 00 4 00001 TRA 1,4 00015 0560 60 4 00001 SPRAY LDQ* 1,4 00016 1 77777 4 00001 TXI ZERO+1,4,-1 MAKE THEM THINK IT WASN'T THERE 00017 -2 00000 1 00025 TNX TNX OVER,1,** IF WE HAVE ONE LOC, SKIP 00020 0500 00 0 00032 CLA WORD 00021 0774 00 0 00000 EVEN 00022 -0603 00 1 00000 DST DST **,1 STORE BOTH AT ONCE 00023 2 00002 1 00022 TIX DST,1,2 LOOP FOR ENTIRE BLOCK 00024 -2 00001 1 00027 TNX *+3,1,1 SKIP IF NO MORE TO STORE 00025 0774 00 1 00000 OVER AXT 0,1 00026 -0600 60 0 00022 STQ* DST STORE THAT LAST ONE 00027 1 77777 4 00003 TXI LOOP,4,-1 GO BACK FOR NEXT ARG 00030 2 00000 0 00000 TWO TWO 00031 -3 00000 0 00000 SEVEN SEVEN 00032 0 00000 0 00000 WORD PZE END LITERALS 00033 000000000000 1 XLIBE ROUTINE SPRAY - RECONSTRUCTED BY ROGER ROACH 2/22/68 PAGE 1 POST PROCESSOR ASSEMBLY DATA 34 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 22 DST 6, 23, 26 17 TNX 5, 12 30 TWO 10 13 XR1 2 3 LOOP 27 25 OVER 11, 17 32 WORD 1, 20 0 ZERO 0, 16 31 SEVEN 7 15 SPRAY 0 0 NO ERROR IN ABOVE ASSEMBLY. GTWDBX BCD 02/22/68 1034.8 2555 00000 1 SUBROUTINE TO SCAN CARDS IN A FILE, BLANKS DELIMIT PAGE 1 * * USED BY ACCOUNTING-SYSTEM I-O SUBROUTINE RDACC * * USES BF-PACKAGE, ASSUMES OPENED. * * T.H. VAN VLECK 12/65 MODIFICATION OF R. MILLS PROG. * 00007 ENTRY GTWDBX 00113 ENTRY GTCH2 FOR ONE CHAR 00043 ENTRY GTWD UNLIST M CALL MACRO SUBR,LIST TRANSFER VECTOR 00000 222651252124 BFREAD 00001 474266240131 PKWD1I 00002 276323300160 GTCH1 00003 474266240160 PKWD1 LINKAGE DIRECTOR 00004 000000000000 00005 276366242267 00016 MAXWDS EQU 14 WORDS/CARD 00124 MAXCHS EQU 6*MAXWDS CHARS/CARD 00006 0 00000 0 00124 LMAXCH PZE MAXCHS 00007 0634 00 4 00041 GTWDBX SXA XR4,4 GTWDBX -- INITIALIZE. 00010 -0500 60 4 00001 CAL* 1,4 GET ARGS 00011 0602 00 0 00161 SLW N1 00012 -0500 60 4 00002 CAL* 2,4 FILE TO READ. 00013 0602 00 0 00162 SLW N2 00014 0600 00 0 00156 STZ EOFSW 00015 CALL $BFREAD(N1,N2,(LINE,,14),EOF,CT,ERR) 00015 0074 00 4 00000 TSX $BFREAD,4 .002 00016 3 00000 0 00161 PAR N1 .004 00017 3 00000 0 00162 PAR N2 .004 00020 3 00016 0 00207 PAR LINE,,14 .004 00021 3 00000 0 00143 PAR EOF .004 00022 3 00000 0 00160 PAR CT .004 00023 3 00000 0 00163 PAR ERR .004 00024 0441 00 0 00207 LDI LINE GET WORD 1 00025 0500 00 0 00226 CLA =14 00026 -0056 00 777777 LNT 777777 IF LINEMARKED READ WHOLE THING 00027 0500 00 0 00225 CLA =12 OTHERWISE 12 WORDS/LINE 00030 0601 00 0 00205 INIT1 STO NMFLWD 00031 0774 00 4 00000 INIT AXT 0,4 00032 0634 00 4 00053 SXA TXR2,4 ..SET CHAR INDEXING TO FORCE NEW WORD 00033 -0774 00 4 00207 AXC LINE,4 00034 0634 00 4 00052 SXA TXR1,4 ..SET UP WORD INDEXING 00035 -0634 00 4 00037 SXD IZ1,4 00036 0535 00 4 00205 LAC NMFLWD,4 ..-NMFLWDS 1 SUBROUTINE TO SCAN CARDS IN A FILE, BLANKS DELIMIT PAGE 2 00037 1 00000 4 00040 IZ1 TXI *+1,4,** ..-NMFLWDS-LINE 00040 -0634 00 4 00055 SXD REWD,4 00041 0774 00 4 00000 XR4 AXT **,4 00042 0020 00 4 00001 TRA 1,4 * 00043 0634 00 4 00175 GTWD SXA XR4A,4 00044 0634 00 2 00174 SXA XR2,2 00045 0634 00 1 00173 SXA XR1,1 00046 0600 00 0 00201 STZ STATE SWITCH SAYS LOOK FOR NON-BLNK 00047 0600 00 0 00157 STZ ONE .. SAYS LOOKING FOR WORD, NOT SGL CH 00050 JOIN CALL $PKWD1I(OUTWD) INITIALIZE PAKWD 00050 0074 00 4 00001 TSX $PKWD1I,4 .002 00051 3 00000 0 00202 PAR OUTWD .004 00052 0774 00 1 00000 TXR1 AXT **,1 (-LINE) 00053 0774 00 2 00000 TXR2 AXT **,2 ( 0 ) 00054 0020 00 0 00071 TRA RECH * * 00055 -3 00000 1 00127 REWD TXL ENDWDS,1,** (-NMFLWDS-LINE) Q ALL DONE 00056 -0500 00 1 00000 CAL 0,1 GET NEW WORD 00057 -0340 00 0 00231 LAS =H 00060 0020 00 0 00062 TRA *+2 00061 0020 00 0 00123 TRA BKWD ALL-BLANK WORD, WY BOTHER 00062 0044 00 0 00000 PAI SEE IF IS A LINE-MARK 00063 -0056 00 777777 LNT 777777 .. 00064 0020 00 0 00066 TRA *+2 NO, GO ON. 00065 0020 00 0 00123 TRA BKWD YES, IGNORE IT. 00066 0602 00 0 00204 SLW TWORD 00067 0774 00 2 00006 AXT 6,2 00070 1 77777 1 00071 IXWD TXI *+1,1,-1 * * 00071 -3 00000 2 00055 RECH TXL REWD,2,0 00072 CALL $GTCH1(TWORD) GET A CHARACTER 00072 0074 00 4 00002 TSX $GTCH1,4 .002 00073 3 00000 0 00204 PAR TWORD .004 00074 1 77777 2 00075 TXI *+1,2,-1 00075 0520 00 0 00157 ZET ONE SEE IF THIS IS ENOUGH 00076 0020 00 0 00121 TRA GTCH2A YES. EXIT. 00077 -0340 00 0 00227 LAS =O57 00100 0020 00 0 00102 TRA *+2 00101 -0500 00 0 00230 CAL =H00000 57CHAR IS BLANK 00102 -0340 00 0 00230 LAS =H00000 00103 0020 00 0 00105 TRA *+2 00104 0020 00 0 00124 TRA BKCH 00105 -0625 00 0 00201 STL STATE FOUND A NONBLANK. FLIP THE SWITCH 00106 0602 00 0 00203 SLW TCHAR 00107 CALL $PKWD1(OUTWD,TCHAR) PACK CHAR INTO OUTWD 00107 0074 00 4 00003 TSX $PKWD1,4 .002 00110 3 00000 0 00202 PAR OUTWD .004 00111 3 00000 0 00203 PAR TCHAR .004 00112 0020 00 0 00071 TRA RECH * 00113 0634 00 4 00175 GTCH2 SXA XR4A,4 ENTRY TO GET CHARACTER 00114 0634 00 2 00174 SXA XR2,2 1 SUBROUTINE TO SCAN CARDS IN A FILE, BLANKS DELIMIT PAGE 3 00115 0634 00 1 00173 SXA XR1,1 00116 -0625 00 0 00201 STL STATE WE'LL TAKE ANYTHING 00117 -0625 00 0 00157 STL ONE .. 00120 0020 00 0 00050 TRA JOIN 00121 0602 00 0 00202 GTCH2A SLW OUTWD BACK HERE WHEN WE'VE SEEN ONE 00122 0020 00 0 00171 TRA NEXIT * 00123 1 77777 1 00124 BKWD TXI *+1,1,-1 00124 0520 00 0 00201 BKCH ZET STATE A BLANK, LM, OR SUCH. WHAT TO DO. 00125 0020 00 0 00171 TRA NEXIT 00126 0020 00 0 00071 TRA RECH * * 00127 0520 00 0 00156 ENDWDS ZET EOFSW ARE WE DONE 00130 0020 00 0 00165 TRA MTXIT YES 00131 CALL $BFREAD(N1,N2,(LINE,,14),EOF1,CT,ERR) 00131 0074 00 4 00000 TSX $BFREAD,4 .002 00132 3 00000 0 00161 PAR N1 .004 00133 3 00000 0 00162 PAR N2 .004 00134 3 00016 0 00207 PAR LINE,,14 .004 00135 3 00000 0 00146 PAR EOF1 .004 00136 3 00000 0 00160 PAR CT .004 00137 3 00000 0 00163 PAR ERR .004 00140 -0774 00 1 00207 END1 AXC LINE,1 00141 0774 00 2 00000 AXT 0,2 00142 0020 00 0 00055 TRA REWD AWAY WE GO AGAIN * 00143 0500 00 0 00160 EOF CLA CT GET EOFCOUNT 00144 -0625 00 0 00156 STL EOFSW MARK EOF 00145 0020 00 0 00030 TRA INIT1 * 00146 0500 00 0 00160 EOF1 CLA CT 00147 0100 00 0 00165 TZE MTXIT 00150 0601 00 0 00205 STO NMFLWD 00151 0737 00 4 00000 PAC ,4 00152 0522 00 0 00037 XEC IZ1 00153 -0634 00 4 00055 SXD REWD,4 00154 -0625 00 0 00156 STL EOFSW 00155 0020 00 0 00140 TRA END1 * 00156 0 00000 0 00000 EOFSW PZE 00157 0 00000 0 00000 ONE PZE 00160 0 00000 0 00000 CT PZE 00161 0 00000 0 00000 N1 PZE 00162 0 00000 0 00000 N2 PZE * 00163 0500 00 0 00232 ERR CLA =O777777777777 00164 0020 00 0 00165 TRA MTXIT * * FINAL EXIT * 00165 0534 00 1 00173 MTXIT LXA XR1,1 00166 0534 00 2 00174 LXA XR2,2 00167 0534 00 4 00175 LXA XR4A,4 00170 0020 60 4 00002 TRA* 2,4 1 SUBROUTINE TO SCAN CARDS IN A FILE, BLANKS DELIMIT PAGE 4 * * NORMAL EXIT * 00171 0634 00 1 00052 NEXIT SXA TXR1,1 00172 0634 00 2 00053 SXA TXR2,2 00173 0774 00 1 00000 XR1 AXT **,1 00174 0774 00 2 00000 XR2 AXT **,2 00175 0774 00 4 00000 XR4A AXT **,4 00176 -0500 00 0 00202 CAL OUTWD 00177 0602 60 4 00001 SLW* 1,4 00200 0020 00 4 00003 TRA 3,4 * 00201 0 00000 0 00000 STATE 00202 0 00000 0 00000 OUTWD 00203 0 00000 0 00000 TCHAR 00204 0 00000 0 00000 TWORD 00205 0 00000 0 00000 NMFLWD 00206 0 00000 0 00000 NMEXCH 00207 LINE BSS MAXWDS END LITERALS 00225 000000000014 00226 000000000016 00227 000000000057 00230 000000000060 00231 606060606060 00232 777777777777 1 SUBROUTINE TO SCAN CARDS IN A FILE, BLANKS DELIMIT PAGE 1 POST PROCESSOR ASSEMBLY DATA 233 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 160 CT 22, 136, 143, 146 161 N1 11, 16, 132 162 N2 13, 17, 133 143 EOF 21 163 ERR 23, 137 37 IZ1 35, 152 157 ONE 47, 75, 117 173 XR1 45, 115, 165 174 XR2 44, 114, 166 41 XR4 7 124 BKCH 104 123 BKWD 61, 65 140 END1 155 146 EOF1 135 43 GTWD 0 31 INIT 70 IXWD 50 JOIN 120 207 LINE 20, 24, 33, 134, 140 71 RECH 54, 112, 126 55 REWD 40, 71, 142, 153 52 TXR1 34, 171 53 TXR2 32, 172 175 XR4A 43, 113, 167 156 EOFSW 14, 127, 144, 154 2 GTCH1 72 113 GTCH2 0 30 INIT1 145 165 MTXIT 130, 147, 164 171 NEXIT 122, 125 202 OUTWD 51, 110, 121, 176 3 PKWD1 107 201 STATE 46, 105, 116, 124 203 TCHAR 106, 111 204 TWORD 66, 73 0 BFREAD 15, 131 127 ENDWDS 55 121 GTCH2A 76 7 GTWDBX 0 6 LMAXCH 124 MAXCHS 6 16 MAXWDS 6, 207 206 NMEXCH 205 NMFLWD 30, 36, 150 1 PKWD1I 50 0 NO ERROR IN ABOVE ASSEMBLY. GTWDB BCD 02/22/68 1034.8 2010 00000 1 GET WORD FROM LINE, BLANKS DELIMIT GTWDBI,GTWDB PAGE 1 * 00007 ENTRY GTWDBI 00034 ENTRY GTWDVR 00057 ENTRY GTWDVF 00077 ENTRY GTWDB EXTERN RDFLXC EXTERN PKWD1I EXTERN PKWD1 EXTERN GTCH1 * PARAMETERS TRANSFER VECTOR 00000 512426436723 RDFLXC 00001 474266240131 PKWD1I 00002 474266240160 PKWD1 00003 276323300160 GTCH1 LINKAGE DIRECTOR 00004 000000000000 00005 276366242231 00016 MAXWDS EQU 14 ..MAX NM WORDS PER LINE 00124 MAXCHS EQU 6*MAXWDS * 00006 0 00000 0 00124 LMAXCH PZE MAXCHS * 00007 0634 00 4 00032 GTWDBI SXA XR4,4 00010 0074 00 4 00000 TSX RDFLXC,4 00011 0 00000 0 00173 PZE LINE 00012 0 00000 0 00006 PZE LMAXCH 00013 0765 00 0 00043 LRS 35 00014 0221 00 0 00212 DVP =6 00015 -0600 00 0 00171 STQ NMFLWD ..NM FULL WDS 00016 0601 00 0 00172 STO NMEXCH ..NM EXTRA CHARS 00017 0774 00 4 00000 INIT AXT 0,4 00020 0634 00 4 00106 SXA TXR2,4 ..SET CHAR INDEXING TO FORCE NEW WORD 00021 -0774 00 4 00173 AXC LINE,4 00022 0634 00 4 00105 SXA TXR1,4 ..SET UP WORD INDEXING 00023 -0634 00 4 00025 SXD IZ1,4 00024 0535 00 4 00171 LAC NMFLWD,4 ..-NMFLWDS 00025 1 00000 4 00026 IZ1 TXI *+1,4,** ..-NMFLWDS-LINE 00026 -0634 00 4 00116 SXD STESTW,4 00027 0520 00 0 00172 ZET NMEXCH 00030 1 77777 4 00031 TXI *+1,4,-1 ..-NMFLWDS-LINE-1, ONLY IF PARTIAL WD EXISTS 00031 -0634 00 4 00110 SXD REWD,4 00032 0774 00 4 00000 XR4 AXT **,4 00033 0020 00 4 00001 TRA 1,4 * * INITIALIZE FOR EXTERNAL CARD. * 00034 0634 00 4 00032 GTWDVR SXA XR4,4 REVERSED CARD, ALA MAD 00035 0634 00 2 00055 SXA VX2,2 00036 -0500 00 4 00001 CAL 1,4 GET ARG 1 = BUF(0) 00037 0621 00 0 00050 STA VGET 00040 -0500 60 4 00002 CAL* 2,4 ARG 2 = WORD COUNT 00041 0601 00 0 00171 STO NMFLWD 1 GET WORD FROM LINE, BLANKS DELIMIT GTWDBI,GTWDB PAGE 2 00042 0600 00 0 00172 STZ NMEXCH SETTING UP COUNTERS 00043 0402 00 0 00211 SUB =1 00044 0767 00 0 00022 ALS 18 00045 0622 00 0 00053 STD VTST THIS FOR FILLING. 00046 0774 00 4 00000 AXT 0,4 4 COUNTS UP, INDEX IN ARRAY 00047 0774 00 2 00016 AXT MAXWDS,2 2 COUNTS DOWN, INDEX IN OUR BUFF. 00050 -0500 00 4 00000 VGET CAL **,4 GET A WORD 00051 0602 00 2 00211 SLW LINE+MAXWDS,2 SLOSH IT AWAY 00052 1 00001 4 00053 TXI *+1,4,1 BACKWARDS IN ARRAY 00053 3 00000 4 00055 VTST TXH VX2,4,** SEE IF WE THRU. 00054 2 00001 2 00050 TIX VGET,2,1 TRY TO GO BACK 00055 0774 00 2 00000 VX2 AXT **,2 DONE, RESTOR 00056 0020 00 0 00017 TRA INIT AND GO TO USUAL 00057 0634 00 4 00032 GTWDVF SXA XR4,4 SENSIBLE FORWARD ARRAY 00060 -0500 00 4 00001 CAL 1,4 BUFF(0) 00061 0401 60 4 00002 ADM* 2,4 +COUNT 00062 0621 00 0 00072 STA VFGET 00063 -0500 00 0 00076 CAL LLINE LOC OF START OF LINE 00064 0401 60 4 00002 ADM* 2,4 +COUNT 00065 0621 00 0 00073 STA VFPUT 00066 -0500 60 4 00002 CAL* 2,4 COUNT 00067 0601 00 0 00171 STO NMFLWD SET UP AS USUAL 00070 0600 00 0 00172 STZ NMEXCH 00071 0734 00 4 00000 PAX ,4 00072 -0500 00 4 00000 VFGET CAL **,4 GET A WORD 00073 0602 00 4 00000 VFPUT SLW **,4 AND STOW IT 00074 2 00001 4 00072 TIX *-2,4,1 NOW TIX 00075 0020 00 0 00017 TRA INIT DONE, GO TO REST OF STUFF. 00076 0 00000 0 00173 LLINE PZE LINE * 00077 0634 00 4 00161 GTWDB SXA XR4A,4 00100 0634 00 2 00160 SXA XR2,2 00101 0634 00 1 00157 SXA XR1,1 00102 0074 00 4 00001 TSX PKWD1I,4 00103 0 00000 0 00166 PZE OUTWD 00104 0600 00 0 00165 STZ STATE 00105 0774 00 1 00000 TXR1 AXT **,1 00106 0774 00 2 00000 TXR2 AXT **,2 00107 0020 00 0 00121 TRA RECH * * 00110 -3 00000 1 00147 REWD TXL ENDWDS,1,** 00111 -0500 00 1 00000 CAL 0,1 00112 -0340 00 0 00214 LAS =H 00113 0020 00 0 00115 TRA *+2 00114 0020 00 0 00140 TRA BKWD 00115 0602 00 0 00170 SLW TWORD 00116 -3 00000 1 00136 STESTW TXL LASTWD,1,** 1 GET WORD FROM LINE, BLANKS DELIMIT GTWDBI,GTWDB PAGE 3 00117 0774 00 2 00006 AXT 6,2 00120 1 77777 1 00121 IXWD TXI *+1,1,-1 * * 00121 -3 00000 2 00110 RECH TXL REWD,2,0 00122 0074 00 4 00003 TSX GTCH1,4 00123 0 00000 0 00170 PZE TWORD 00124 1 77777 2 00125 TXI *+1,2,-1 00125 -0340 00 0 00213 LAS =H00000 00126 0020 00 0 00130 TRA *+2 00127 0020 00 0 00144 TRA BKCH 00130 -0625 00 0 00165 STL STATE 00131 0602 00 0 00167 SLW TCHAR 00132 0074 00 4 00002 TSX PKWD1,4 00133 0 00000 0 00166 PZE OUTWD 00134 0 00000 0 00167 PZE TCHAR 00135 0020 00 0 00121 TRA RECH * 00136 0534 00 2 00172 LASTWD LXA NMEXCH,2 00137 0020 00 0 00120 TRA IXWD * 00140 1 77777 1 00141 BKWD TXI *+1,1,-1 00141 0520 00 0 00165 ZET STATE 00142 0020 00 0 00155 TRA NEXIT 00143 0020 00 0 00121 TRA RECH * 00144 0520 00 0 00165 BKCH ZET STATE 00145 0020 00 0 00155 TRA NEXIT 00146 0020 00 0 00121 TRA RECH * 00147 0520 00 0 00165 ENDWDS ZET STATE 00150 0020 00 0 00155 TRA NEXIT * * FINAL EXIT 00151 0534 00 1 00157 LXA XR1,1 00152 0534 00 2 00160 LXA XR2,2 00153 0534 00 4 00161 LXA XR4A,4 00154 0020 60 4 00002 TRA* 2,4 * * NORMAL EXIT 00155 0634 00 1 00105 NEXIT SXA TXR1,1 00156 0634 00 2 00106 SXA TXR2,2 00157 0774 00 1 00000 XR1 AXT **,1 00160 0774 00 2 00000 XR2 AXT **,2 00161 0774 00 4 00000 XR4A AXT **,4 00162 -0500 00 0 00166 CAL OUTWD 00163 0602 60 4 00001 SLW* 1,4 00164 0020 00 4 00003 TRA 3,4 * 00165 0 00000 0 00000 STATE 00166 0 00000 0 00000 OUTWD 00167 0 00000 0 00000 TCHAR 00170 0 00000 0 00000 TWORD 00171 0 00000 0 00000 NMFLWD 00172 0 00000 0 00000 NMEXCH 00173 LINE BSS MAXWDS 1 GET WORD FROM LINE, BLANKS DELIMIT GTWDBI,GTWDB PAGE 4 END LITERALS 00211 000000000001 00212 000000000006 00213 000000000060 00214 606060606060 1 GET WORD FROM LINE, BLANKS DELIMIT GTWDBI,GTWDB PAGE 1 POST PROCESSOR ASSEMBLY DATA 215 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 25 IZ1 23 55 VX2 35, 53 157 XR1 101, 151 160 XR2 100, 152 32 XR4 7, 34, 57 144 BKCH 127 140 BKWD 114 17 INIT 56, 75 120 IXWD 137 173 LINE 11, 21, 51, 76 121 RECH 107, 135, 143, 146 110 REWD 31, 121 105 TXR1 22, 155 106 TXR2 20, 156 50 VGET 37, 54 53 VTST 45 161 XR4A 77, 153 3 GTCH1 122 77 GTWDB 0 76 LLINE 63 155 NEXIT 142, 145, 150 166 OUTWD 103, 133, 162 2 PKWD1 132 165 STATE 104, 130, 141, 144, 147 167 TCHAR 131, 134 170 TWORD 115, 123 72 VFGET 62 73 VFPUT 65 147 ENDWDS 110 7 GTWDBI 0 57 GTWDVF 0 34 GTWDVR 0 136 LASTWD 116 6 LMAXCH 12 124 MAXCHS 6 16 MAXWDS 6, 47, 51, 173 172 NMEXCH 16, 27, 42, 70, 136 171 NMFLWD 15, 24, 41, 67 1 PKWD1I 102 0 RDFLXC 10 116 STESTW 26 0 NO ERROR IN ABOVE ASSEMBLY. PKWD1 BCD 02/22/68 1034.8 290 00000 1 PACK WORD FROM RIGHT WITH RIGHT-ADJUSTED CHARS PKWD1 PAGE 1 * * INITIALIZATION ENTRY 00002 ENTRY PKWD1I * NORMAL ENTRY 00005 ENTRY PKWD1 * * LINKAGE DIRECTOR 00000 000000000000 00001 474266240131 00002 -0500 00 0 00012 PKWD1I CAL =H 00003 0602 60 4 00001 SLW* 1,4 00004 0020 00 4 00002 TRA 2,4 * * 00005 -0500 60 4 00001 PKWD1 CAL* 1,4 00006 0767 00 0 00006 ALS 6 00007 -0501 60 4 00002 ORA* 2,4 00010 0602 60 4 00001 SLW* 1,4 00011 0020 00 4 00003 TRA 3,4 END LITERALS 00012 606060606060 1 PACK WORD FROM RIGHT WITH RIGHT-ADJUSTED CHARS PKWD1 PAGE 1 POST PROCESSOR ASSEMBLY DATA 13 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 5 PKWD1 0 2 PKWD1I 0 0 NO ERROR IN ABOVE ASSEMBLY. GTCH1 BCD 02/22/68 1034.8 179 00000 1 GET CHARACTER FROM LEFT GTCH1 PAGE 1 00002 ENTRY GTCH1 LINKAGE DIRECTOR 00000 000000000000 00001 276323300160 00002 -0754 00 0 00000 GTCH1 ZAC 00003 0560 60 4 00001 LDQ* 1,4 00004 -0763 00 0 00006 LGL 6 00005 -0600 60 4 00001 STQ* 1,4 00006 0020 00 4 00002 TRA 2,4 END 1 GET CHARACTER FROM LEFT GTCH1 PAGE 1 POST PROCESSOR ASSEMBLY DATA 7 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 2 GTCH1 0 0 NO ERROR IN ABOVE ASSEMBLY. GETBUF BCD 02/22/68 1034.8 607 00000 1 ROUTINE TO GET A BUFFER AREA BY EXPANDING MEMORY BOUND PAGE 1 D.R. WIDRIG JUNE 1966 00004 ENTRY GETBUF GET A BUFFER EXTERN GETMEM,SETMEM CALLING SEQUENCE IS.. GETBUF.(BUFF,N) UPON RETURN, THE CALLER MAY USE THE AREA BY STATEMENTS OF THE FORM.. X = BUFF(BUFF+I) WHERE THE I'TH ELEMENT IS INTENDED TRANSFER VECTOR 00000 272563442544 GETMEM 00001 622563442544 SETMEM LINKAGE DIRECTOR 00002 000000000000 00003 272563226426 00004 0636 00 4 00024 GETBUF SCA X4,4 SAVE LINKAGE 00005 0634 00 1 00025 SXA X1,1 AND IR1 00006 0535 00 1 00024 LAC X4,1 SET IR1 TO IR4 (THE CALLER) 00007 0074 00 4 00000 TSX GETMEM,4 GET CURRENT MEMORY BOUND 00010 0601 00 0 00027 STO OLDMEM SAVE OLD MEMORY BOUND 00011 0400 60 1 00002 ADD* 2,1 ALLOW FOR USER'S DEMAND 00012 0734 00 4 00000 PAX 0,4 SAVE COMPLEMENT OF THIS VALUE 00013 -0636 00 4 00020 SCD TXI,4 .. 00014 0400 00 0 00030 ADD =1 ALLOW FOR BUFF(0) 00015 0074 00 4 00001 TSX SETMEM,4 RAISE THE ROOF 00016 -0500 00 1 00001 CAL 1,1 GET BASE POINTER 00017 0734 00 4 00000 PAX 0,4 .. 00020 1 00000 4 00021 TXI TXI *+1,4,** DECREMENT BY AMOUNT OF STORAGE 00021 0754 00 4 00000 PXA 0,4 SET THIS VALUE IN USER'S PROGRAM 00022 0602 60 1 00001 SLW* 1,1 .. 00023 0500 00 0 00027 CLA OLDMEM RETURN OLD MEMORY BOUND 00024 -0774 00 4 00000 X4 AXC **,4 RESTORE LINKAGE 00025 0774 00 1 00000 X1 AXT **,1 AND IR1 00026 0020 00 4 00003 TRA 3,4 RETURN 00027 OLDMEM BSS 1 STORAGE FOR OLD MEMORY BOUND END LITERALS 00030 000000000001 1 ROUTINE TO GET A BUFFER AREA BY EXPANDING MEMORY BOUND PAGE 1 POST PROCESSOR ASSEMBLY DATA 31 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 25 X1 5 24 X4 4, 6 20 TXI 13 4 GETBUF 0 0 GETMEM 7 27 OLDMEM 10, 23 1 SETMEM 15 0 NO ERROR IN ABOVE ASSEMBLY. GETA BCD 02/22/68 1034.8 1387 00000 1 GETA - EXECUTE INSTRUCTIONS TO A-CORE. PAGE 1 2/3/66 - NOEL I. MORRIS *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* * * TO EXECUTE AN INSTRUCTION REFERRING TO A-CORE - * * TSX GETA,7 XR7 MAY NOT BE USED FOR INDEXING * OPCODE LOCN,TAG .. * * ALL MEMORY REFERENCE INSTRUCTIONS WILL WORK WITH * THIS SUBROUTINE EXCEPT THE FOLLOWING - * * ANS AND TO STORAGE * DXXX ALL DOUBLE-PRECISION OPERATIONS * * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 00002 ENTRY GETA TRANSFER VECTOR 00000 272563434623 GETLOC 00001 622563434623 SETLOC 00002 0634 00 7 00040 GETA SXA X7,7 SAVE XR7 00003 0074 00 7 00057 TSX SAVE,7 SAVE MACHINE CONDITIONS 00004 -0754 00 0 00000 ZAC INSURE ZERO TAG 00005 0625 00 0 00073 STT INSTR .. 00006 0534 00 7 00040 LXA X7,7 RESTORE XR7 00007 0560 00 7 00001 LDQ 1,7 GET INSTRUCTION 00010 -0620 00 0 00073 SLQ INSTR SAVE IT 00011 -0130 00 0 00000 XCL .. 00012 0044 00 0 00000 PAI INTO SI 00013 -0056 00 041400 LNT 41400 IS IT INDEX TRANSMISSION .Q. 00014 0020 00 0 00053 TRA GETEFA NO 00015 0625 00 0 00073 STT INSTR YES, SAVE TAG 00016 0621 00 0 00027 STA STA ADDR1 SAVE ADDRESS 00017 0621 00 0 00036 STA ADDR2 .. 00020 0621 00 0 00043 STA ADDR3 .. 00021 -0051 00 060000 IIL 60000 IS IT STORE CLASS .Q. 00022 -0054 00 370000 LFT 370000 .. 00023 0020 00 0 00042 TRA GET NO, GO TO GETLOC 00024 -0056 00 002000 LNT 2000 IS IT BYTE STORE .Q. 00025 0020 00 0 00031 TRA PUT NO, SKIP GETLOC 00026 0074 00 4 00000 TSX GETLOC,4 GET LOC'N CONTENTS 00027 3 00000 0 00000 ADDR1 PTH ** .. 00030 0602 00 0 00074 SLW C(LOC) AND SAVE 1 GETA - EXECUTE INSTRUCTIONS TO A-CORE. PAGE 2 00031 0074 00 7 00065 PUT TSX RESTOR,7 RESTORE MACHINE CONDITIONS 00032 0522 00 0 00073 XEC INSTR EXECUTE INSTRUCTION 00033 0074 00 7 00057 TSX SAVE,7 SAVE MACHINE CONDITIONS 00034 -0500 00 0 00074 CAL C(LOC) GET LOC'N CONTENTS NOW 00035 0074 00 4 00001 TSX SETLOC,4 AND RESET THEM 00036 3 00000 0 00000 ADDR2 PTH ** .. 00037 0074 00 7 00065 TSX RESTOR,7 RESTORE MACHINE CONDITIONS 00040 0774 00 7 00000 X7 AXT **,7 RESTORE XR7 00041 0020 00 7 00002 TRA 2,7 RETURN 00042 0074 00 4 00000 GET TSX GETLOC,4 GET LOC'N CONTENTS 00043 3 00000 0 00000 ADDR3 PTH ** .. 00044 0602 00 0 00074 SLW C(LOC) AND SAVE 00045 0074 00 7 00065 TSX RESTOR,7 RESTORE CONSOLE 00046 0534 00 7 00040 LXA X7,7 RESTORE XR7 00047 0522 00 0 00073 XEC INSTR EXECUTE INSTRUCTION 00050 0020 00 7 00002 TRA 2,7 RETURN 00051 0020 00 7 00003 TRA 3,7 RETURN FOR 'ZET', 'CAS', ETC. 00052 0020 00 7 00004 TRA 4,7 .. 00053 0625 00 0 00054 GETEFA STT *+1 CALCULATE EFFECTIVE ADDRESS 00054 0756 00 0 00000 PCA ,** .. 00055 0361 00 7 00001 ACL 1,7 .. 00056 0020 00 0 00016 TRA STA .. 00057 0634 00 4 00071 SAVE SXA X4,4 SAVE MACHINE CONDITIONS 00060 0602 00 0 00075 SLW LAC LOGICAL AC 00061 0601 00 0 00076 STO AAC ARITH. AC 00062 -0600 00 0 00077 STQ MQ SAVE MQ 00063 0604 00 0 00100 STI SI AND SI 00064 0020 00 7 00001 TRA 1,7 RETURN 00065 0500 00 0 00076 RESTOR CLA AAC ARITH. AC 00066 -0501 00 0 00075 ORA LAC LOGICAL AC 00067 0560 00 0 00077 LDQ MQ MQ 00070 0441 00 0 00100 LDI SI SI 00071 0774 00 4 00000 X4 AXT **,4 RESTORE XR4 00072 0020 00 7 00001 TRA 1,7 RETURN 00073 0 00000 0 00074 INSTR *** C(LOC),** 00074 0 00000 0 00000 C(LOC) PZE 00075 0 00000 0 00000 LAC PZE 00076 0 00000 0 00000 AAC PZE 00077 0 00000 0 00000 MQ PZE 00100 0 00000 0 00000 SI PZE EXTERN GETLOC,SETLOC 1 GETA - EXECUTE INSTRUCTIONS TO A-CORE. PAGE 3 END 1 GETA - EXECUTE INSTRUCTIONS TO A-CORE. PAGE 1 POST PROCESSOR ASSEMBLY DATA 101 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 77 MQ 62, 67 100 SI 63, 70 71 X4 57 40 X7 2, 6, 46 76 AAC 61, 65 42 GET 23 75 LAC 60, 66 31 PUT 25 16 STA 56 2 GETA 0 57 SAVE 3, 33 27 ADDR1 16 36 ADDR2 17 43 ADDR3 20 73 INSTR 5, 10, 15, 32, 47 74 C(LOC) 30, 34, 44, 73 53 GETEFA 14 0 GETLOC 26, 42 65 RESTOR 31, 37, 45 1 SETLOC 35 0 NO ERROR IN ABOVE ASSEMBLY. .FMT BCD 02/22/68 1034.9 3127 00000 1 $.FMT - OUTPUT FORMATTING PROGRAM FOR FAP CALLS. PAGE 1 PETER R. BOS -- OCTOBER 1967 PCC ON NOLNK 00000 ENTRY .FMT LBL .FMT PCC OFF * * CALLING SEQUENCE IS ... * TSX .FMT,4 * PZE LOC,T,N * . * . * PZE 0 * * LOC IS A POINTER TO A DATA WORD (OR BLOCK, IN THE * CASE OF BCD CONVERSION) * * T SPECIFIES THE TYPE OF CONVERSION - * 0 = SKIP * 1 = BCD * 2 = OCTAL * 4 = DECIMAL * * N SPECIFIES THE NUMBER OF COLUMNS TO BE USED FOR * THIS DATA ELEMENT. * * ON RETURN, THE AC WILL CONTAIN A POINTER OF THE * FORM PZE BUFF,,N SUCH AS WOULD BE USED FOR WRFLX. * THE MQ WILL CONTAIN A POINTER OF THE FORM * TXH BUFF-1,,N+1 WHERE BUFF-1 CONTAINS A LINE-MARK * SUITABLE FOR WRITING INTO A FILE. * 00000 0760 00 0 00016 .FMT LMTM CAN'T WORK WITH ONLY 3. 00001 0634 00 1 00167 SXA FX1,1 SAVE XRS. 00002 0634 00 2 00170 SXA FX2,2 .. 00003 0634 00 7 00171 SXA FX7,7 .. 00004 0604 00 0 00257 STI SIND .. 00005 0774 00 1 00006 AXT 6,1 INITIALIZE INDICES. 00006 0634 00 1 00176 SXA .X1,1 .. 00007 0634 00 0 00177 ZSA .X2 .. 00010 1 77777 4 00011 GTWD TXI *+1,4,-1 GET NEXT POINTER WORD. 00011 0500 00 4 00000 CLA 0,4 .. 00012 0100 00 0 00147 TZE EXIT PZE 0 = DONE. 00013 0044 00 0 00000 PAI CONVERSION (TAG) TO IND. 00014 -0734 00 2 00000 PDX 0,2 COLUMN COUNT. 00015 -3 00000 2 00010 TXL GTWD,2,0 IGNORE ZERO LENGTH FIELDS. 00016 0621 00 0 00254 STA WORD DATA POINTER. 1 $.FMT - OUTPUT FORMATTING PROGRAM FOR FAP CALLS. PAGE 2 PETER R. BOS -- OCTOBER 1967 00017 0054 00 100000 RFT .BCD TEST CONVERSION MODE. 00020 0020 00 0 00031 TRA BCD .. 00021 0054 00 200000 RFT .OCT .. 00022 0020 00 0 00056 TRA OCT .. 00023 0054 00 400000 RFT .DEC .. 00024 0020 00 0 00076 TRA DEC .. 00025 -0500 00 0 00265 CAL =O60 TAG = 0, SKIP N COLS. 00026 0074 00 7 00174 TSX .STC,7 INSERT BLANK IN BUFFER. 00027 2 00001 2 00025 TIX *-2,2,1 REPEAT TILL DONE. 00030 0020 00 0 00010 TRA GTWD GO GET SOME MORE STUFF. 00031 -2 00006 2 00046 BCD TNX LASTB,2,6 IF AT LAST WORD, SKIP. 00032 0560 60 0 00254 LDQ* WORD FULL BCD WORD. 00033 -0500 00 0 00254 CAL WORD INCREMENT ADDRESS. 00034 0400 00 0 00264 ADD =1 .. 00035 0621 00 0 00254 STA WORD .. 00036 0774 00 1 00006 AXT 6,1 6 CHARACTERS PER WORD. 00037 -0754 00 0 00000 ZAC JUNK. 00040 -0763 00 0 00006 BLP1 LGL 6 SHIFT A CHARACTER. 00041 -0600 00 0 00260 STQ MQ SAVE THE REST. 00042 0074 00 7 00174 TSX .STC,7 GO STORE IN BUFFER. 00043 0560 00 0 00260 LDQ MQ RESTORE MQ. 00044 2 00001 1 00040 TIX BLP1,1,1 INDEX AND REPEAT. 00045 0020 00 0 00031 TRA BCD GET NEXT WORD. 00046 0560 60 0 00254 LASTB LDQ* WORD LAST WORD OF BCD CONV. 00047 -0754 00 0 00000 ZAC (COUNT MUST BE .G.0, .LE.6) 00050 -0763 00 0 00006 LGL 6 SHIFT OUT A CHARACTER. 00051 -0600 00 0 00260 STQ MQ DON'T LOSE THE REST. 00052 0074 00 7 00174 TSX .STC,7 STORE CHARACTER IN OUTPUT BUFFER. 00053 0560 00 0 00260 LDQ MQ RESTORE PARTIAL MQ. 00054 2 00001 2 00047 TIX LASTB+1,2,1 GO BACK FOR ANOTHER. 00055 0020 00 0 00010 TRA GTWD DONE, GO GET NEXT DATA ITEM. 00056 -3 00014 2 00060 OCT TXL *+2,2,12 IF COUNT .G. 12, 00057 0774 00 2 00014 AXT 12,2 COUNT = 12. 00060 0754 00 2 00000 PXA 0,2 TO AC. 00061 0602 00 0 00255 SLW T MPY BY 3. 00062 0767 00 0 00001 ALS 1 .. 00063 0400 00 0 00255 ADD T .. 00064 0737 00 7 00000 PAC 0,7 .. 00065 -0500 60 0 00254 CAL* WORD GET OCTAL WORD. 00066 -0765 00 7 00000 LGR 0,7 SAVE ONLY LOW ORDER N DIGITS. 00067 -0754 00 0 00000 OCLP ZAC BETTER CLEAR AC. 00070 -0763 00 0 00003 LGL 3 GET A DIGIT. 00071 -0600 00 0 00260 STQ MQ SAVE PARTIAL MQ. 00072 0074 00 7 00174 TSX .STC,7 INSERT DIGIT IN BUFFER. 00073 0560 00 0 00260 LDQ MQ ... AND AGAIN. 00074 2 00001 2 00067 TIX OCLP,2,1 .. 00075 0020 00 0 00010 TRA GTWD DONE. 00076 -3 00013 2 00100 DEC TXL *+2,2,11 IF COUNT .G. 11, 00077 0774 00 2 00013 AXT 11,2 SET COUNT TO 11. 00100 -0625 00 0 00256 STL BZEL SET FLAG FOR LEADING BLANKS. 00101 0600 00 0 00261 STZ SKIP RESET FLAG FOR IGNORING LEADING BLNKS. 1 $.FMT - OUTPUT FORMATTING PROGRAM FOR FAP CALLS. PAGE 3 PETER R. BOS -- OCTOBER 1967 00102 0120 00 0 00104 TPL *+2 WANT LEADING BLANKS. Q 00103 -0625 00 0 00261 STL SKIP NO, SET FLAG. 00104 -0500 60 0 00254 CAL* WORD NO SIGN, PLEASE. 00105 0131 00 0 00000 XCA .. 00106 -0754 00 0 00000 ZAC .. 00107 3 00012 2 00112 TXH DLP,2,10 IF LESS THAN 11, 00110 0221 00 2 00146 DVP DIGIT-1,2 USE ONLY LAST N DIGITS. 00111 0131 00 0 00000 XCA REMAINDER BECOMES NEW NUMBER. 00112 -0754 00 0 00000 DLP ZAC BETTER CLEAR AC FIRST. 00113 0221 00 2 00147 DVP DIGIT,2 GET DIGIT. 00114 0601 00 0 00260 STO MQ SAVE REMAINDER. 00115 0131 00 0 00000 XCA DIGIT TO AC. 00116 -0320 00 0 00266 ANA =O77 LAST 6 BITS ONLY. 00117 -0100 00 0 00126 TNZ NOZERO IF ZERO, 00120 -3 00001 2 00126 TXL NOZERO,2,1 AND NOT LAST DIGIT, 00121 0520 00 0 00256 ZET BZEL AND PREVIOUS ZEROS, 00122 -0500 00 0 00265 CAL =O60 CHANGE TO BLANK. 00123 0520 00 0 00261 ZET SKIP WANT BLANK. Q 00124 0020 00 0 00131 TRA SKPBLK NO, SKIP IT. 00125 0020 00 0 00130 TRA *+3 AND SKIP. 00126 0600 00 0 00256 NOZERO STZ BZEL ELSE, RESET FLAG. 00127 0600 00 0 00261 STZ SKIP .. 00130 0074 00 7 00174 TSX .STC,7 ADD CHARACTER TO BUFFER. 00131 0560 00 0 00260 SKPBLK LDQ MQ RESTORE PARTIAL MQ. 00132 2 00001 2 00112 TIX DLP,2,1 AND DO IT AGAIN. 00133 0020 00 0 00010 TRA GTWD DONE. 00134 +112402762000 DEC 10000000000 TABLE OF DIGITS. 00135 +007346545000 DEC 1000000000 .. 00136 +000575360400 DEC 100000000 .. 00137 +000046113200 DEC 10000000 .. 00140 +000003641100 DEC 1000000 .. 00141 +000000303240 DEC 100000 .. 00142 +000000023420 DEC 10000 .. 00143 +000000001750 DEC 1000 .. 00144 +000000000144 DEC 100 .. 00145 +000000000012 DEC 10 .. 00146 +000000000001 DEC 1 .. 00147 DIGIT SYN * 00147 0534 00 1 00176 EXIT LXA .X1,1 END OF LINE, FILL IN WITH NULLS. 00150 0534 00 2 00177 LXA .X2,2 .. 00151 -3 00000 1 00160 TXL GTPT,1,0 IF NO HOLES, SKIP. 00152 -0500 00 0 00224 CAL AC 00153 0560 00 0 00270 LDQ =O575757575757 NULLS RIGHT. 00154 -0763 00 0 00006 LGL 6 SHIFT ONE. 00155 2 00001 1 00154 TIX *-1,1,1 IF THAT WON'T DO, SHIFT IT AGAIN. 00156 0602 00 2 00226 SLW BUF,2 STORE LAST WORD. 00157 1 77777 2 00160 TXI *+1,2,-1 INCREMENT COUNT. 00160 -0756 00 2 00000 GTPT PCD 0,2 TO AC. 00161 0622 00 0 00262 STD PBUF WORD COUNT. 00162 0400 00 0 00267 ADD =O1000000 ADD ONE FOR LINE MARK. 00163 0622 00 0 00263 STD PLBUF AND PUT IN OTHER POINTER. 00164 0636 00 2 00225 SCA LMARK,2 FIX UP LINE MARK. 00165 -0500 00 0 00262 CAL PBUF GET POINTERS. 1 $.FMT - OUTPUT FORMATTING PROGRAM FOR FAP CALLS. PAGE 4 PETER R. BOS -- OCTOBER 1967 00166 0560 00 0 00263 LDQ PLBUF .. 00167 0774 00 1 00000 FX1 AXT -,1 RESTORE XRS. 00170 0774 00 2 00000 FX2 AXT -,2 .. 00171 0774 00 7 00000 FX7 AXT -,7 .. 00172 0441 00 0 00257 LDI SIND .. 00173 0020 00 4 00001 TRA 1,4 RETURN AFTER LAST ITEM. 00174 0634 00 1 00221 .STC SXA .SX1,1 SAVE XRS. 00175 0634 00 2 00222 SXA .SX2,2 .. 00176 0774 00 1 00000 .X1 AXT -,1 RESTORE BUFFER INDICES. 00177 0774 00 2 00000 .X2 AXT -,2 .. 00200 -0765 00 0 00006 LGR 6 SHIFT CHARACTER TO MQ. 00201 -0500 00 0 00224 CAL AC PICK UP PARTIAL AC. 00202 -0763 00 0 00006 LGL 6 SHIFT CHARACTER TO AC. 00203 0602 00 0 00224 SLW AC AND SAVE. 00204 2 00001 1 00217 TIX XIT,1,1 DECREMENT CHAR. COUNT AND EXIT. 00205 0602 00 2 00226 STORE SLW BUF,2 IF FULL WORD, STORE IN BUFFER. 00206 -0500 00 0 00271 CAL =H INITIALIZE AC. 00207 0602 00 0 00224 SLW AC .. 00210 1 77777 2 00211 TXI *+1,2,-1 INCREMENT WORD COUNT. 00211 3 77752 2 00216 TXH *+5,2,-NWRDS IF BUFFER FULL, EXIT 00212 0500 00 4 00000 CLA 0,4 .. 00213 1 77777 4 00214 TXI *+1,4,-1 .. 00214 -0100 00 0 00212 TNZ *-2 .. 00215 0020 00 0 00160 TRA GTPT .. 00216 0774 00 1 00006 AXT 6,1 RESET CHARACTER COUNT. 00217 0634 00 1 00176 XIT SXA .X1,1 SAVE BUFFER INDICES. 00220 0634 00 2 00177 SXA .X2,2 .. 00221 0774 00 1 00000 .SX1 AXT -,1 RESTORE XRS. 00222 0774 00 2 00000 .SX2 AXT -,2 .. 00223 0020 00 7 00001 TRA 1,7 RETURN. 00224 0 00000 0 00000 AC PZE TEMPORARY. 100000 .BCD BOOL 100000 200000 .OCT BOOL 200000 400000 .DEC BOOL 400000 00026 NWRDS EQU 22 MAX. WORDS PER LINE. 00225 -377777000000 LMARK OCT 777777000000 00226 BUF BSS NWRDS 00254 0 00000 0 00000 WORD PZE 00255 0 00000 0 00000 T PZE SUPER-TEMPORARY. 00256 0 00000 0 00000 BZEL PZE FLAG FOR LEADING BLANKS ON DEC. 00257 0 00000 0 00000 SIND PZE STORAGE FOR INDICS. 00260 0 00000 0 00000 MQ PZE 00261 0 00000 0 00000 SKIP PZE 00262 0 00000 0 00226 PBUF PZE BUF,,- 00263 3 00000 0 00225 PLBUF TXH LMARK,0,- 1 $.FMT - OUTPUT FORMATTING PROGRAM FOR FAP CALLS. PAGE 5 PETER R. BOS -- OCTOBER 1967 END LITERALS 00264 000000000001 00265 000000000060 00266 000000000077 00267 000001000000 00270 575757575757 00271 606060606060 1 $.FMT - OUTPUT FORMATTING PROGRAM FOR FAP CALLS. PAGE 1 POST PROCESSOR ASSEMBLY DATA 272 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 255 T 61, 63 224 AC 152, 201, 203, 207 260 MQ 41, 43, 51, 53, 71, 73, 114, 131 31 BCD 20, 45 226 BUF 156, 205, 262 76 DEC 24 112 DLP 107, 132 167 FX1 1 170 FX2 2 171 FX7 3 176 .X1 6, 147, 217 177 .X2 7, 150, 220 56 OCT 22 217 XIT 204 40 BLP1 44 256 BZEL 100, 121, 126 147 EXIT 12 160 GTPT 151, 215 10 GTWD 15, 30, 55, 75, 133 100000 .BCD 17, 225 400000 .DEC 23, 225 0 .FMT 0 200000 .OCT 21, 225 174 .STC 26, 42, 52, 72, 130 221 .SX1 174 222 .SX2 175 67 OCLP 74 262 PBUF 161, 165 257 SIND 4, 172 261 SKIP 101, 103, 123, 127 254 WORD 16, 32, 33, 35, 46, 65, 104 147 DIGIT 110, 113, 147 46 LASTB 31, 54 225 LMARK 164, 263 26 NWRDS 211, 225, 226 263 PLBUF 163, 166 205 STORE 126 NOZERO 117, 120 131 SKPBLK 124 0 NO ERROR IN ABOVE ASSEMBLY. PTIAS BCD 05/06/68 1631.7 526 00000 1 PRIVILEGED TIAS - USED ONLY BY PRIVILEGED COMMANDS PAGE 1 * WRITTEN BY ROGER ROACH 5/05/68 00000 ENTRY CLOCIN UPDATE CORE A CLOCK 00001 ENTRY ENTLIN ENTER A INPUT LINE FOR A USER 00002 ENTRY HNGUSR HANGUP A USER 00003 ENTRY PRINT PRINT ON THE ONLINE PRINTER 00004 ENTRY PUNCH PUNCH ON THE ONLINE PUNCH 00005 ENTRY RSSWB RESET WRITE BUFFERS 00006 ENTRY SCHEDL SCHEDULE A USER 00007 ENTRY VACUUM CLEAR OUT THE SLAVE BUFFERS 00010 ENTRY AA6.36 6.36 ENTRIES 00011 ENTRY ZZ6.36 .. 00012 ENTRY CHK636 .. 00000 0101 00 0 00016 CLOCIN TIA =HCLOCIN 00001 0101 00 0 00017 ENTLIN TIA =HENTLIN 00002 0101 00 0 00020 HNGUSR TIA =HHNGUSR 00003 0101 00 0 00021 PRINT TIA =HPRINT 00004 0101 00 0 00022 PUNCH TIA =HPUNCH 00005 0101 00 0 00023 RSSWB TIA =HRSSWB 00006 0101 00 0 00024 SCHEDL TIA =HSCHEDL 00007 0101 00 0 00025 VACUUM TIA =HVACUUM 00010 0101 00 0 00014 AA6.36 TIA =H6.36AA 00011 0101 00 0 00015 ZZ6.36 TIA =H6.36ZZ 00012 0101 00 0 00013 CHK636 TIA =H636CHK END LITERALS 00013 060306233042 00014 063303062121 00015 063303067171 00016 234346233145 00017 254563433145 00020 304527646251 00021 475131456360 00022 476445233060 00023 516262662260 00024 622330252443 00025 652123646444 1 PRIVILEGED TIAS - USED ONLY BY PRIVILEGED COMMANDS PAGE 1 POST PROCESSOR ASSEMBLY DATA 26 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 3 PRINT 0 4 PUNCH 0 5 RSSWB 0 10 AA6.36 0 12 CHK636 0 0 CLOCIN 0 1 ENTLIN 0 2 HNGUSR 0 6 SCHEDL 0 7 VACUUM 0 11 ZZ6.36 0 0 NO ERROR IN ABOVE ASSEMBLY.