1
0
mirror of https://github.com/rcornwell/ctss.git synced 2026-01-12 00:02:48 +00:00
Richard Cornwell c610c1cfe3 Added start of IBSYS build system.
Added original listing files for reference.
2016-09-27 22:42:50 -04:00

4890 lines
259 KiB
Plaintext

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.