1APPLIED PROGRAMMING/ FORTRAN. 704 = EST.NO. 8081, JOB NO. 1.
2
3
4THE FOLLOWING CONVENTIONS ARE USED IN TH1S LISTING=
5
6
7** IN THE ADDRESS, TAG, OR DECREMENT OF AN INSTRUCTION
8INDICATES THAT THIS FIELD WILL BE MODIFIED BY THE PROGRAM.
9* IN COL/36 INDICATES THE INSTRUCTION IS A TRANSFER OUT OF
10THIS L0GICAL BLOCK OR SUBROUTINE.
11C IN COL/34 INDICATES THE INSTRUCTION WAS CORRECTED.
12P IN COL/32 INDICATES THE INSTRUCTION WAS INSERTED (PATCH).
13
14
15* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
16
17
18704 FORTRAN 2 / SECTION 5PRIME / A. S. NOBLE, JR. / 12 FEB 58
19
20
215PRIME COMPILES ASSIGN CONSTANTS, FIXED POINT CONSTANTS
22FLOATING POINT CONSTANTS, REGION SIX CONSTANTS AND FORMAT
23STATEMENTS. THE FOLLOWING TABLES ARE PUT ON DRUMS FOR USE IN
24THE ASSEMBLY PROGRAM ... SIZ, TEIFNO, EQUIT, CLOSUB, FORSUB.
00030 25ORG24
26SETCIT/ CALLS=OIAG.
27SET UP CIT BUFFER, COUNTER, ANO TARE FOR COMPILING.
00030 0 76400 0 00203 285PRIME BSTCITTAP BACKSPACE CIT TAPE OVER EOF MARK
00031 0 76400 0 00203 29BSTCITTAP AND LAST RECOR0.
00032 0 53400 2 00420 30LXATERC,2 SET TAPE ERROR COUNTER FOR 5 TRYS.
00033 0 76200 0 00223 31RTBCITTAP SELECT CIT TAPE FOR READING.
00034 0 53400 1 00413 32LXAL(0),1 COPY LAST
00035 0 70000 1 00445 33CPYCIT CPYCIB,1 CIT RECORD
00036 1 77777 1 00035 34TXICPYCIT,1,−1 INTO CIT BUFFER.
00037 0 07400 4 00004 35TSXDIAG,4 * EOF ERROR - GO TO DIAGNOSTIC.
00040 0 76400 0 00203 36BSTCITTAP REPOSITION CIT TAPE, AND
00041−0 76000 0 00012 37RTT IF TAPE RECORD
D00042 1 00000 0 00045 38TXIRTTON1,0 WAS READ CORRECTLY,
00043−0 63400 1 00044 39SXDBBOX,1 SAVE CIT COUNTER,
00044 1 00000 0 00047 40BBOX TXI5P1ASC,0,** * AND GO READ ASSIGN CONSTANTS.
00045 2 00001 2 00033 41RTTON1 TIXCPYCIT−2,2,1 OTHERWISE, GO REREAD RECORD UNLESS
00046 0 07400 4 00004 42TSXDIAG,4 * 5 ATTEMPTS FAILE0 - GO TO DIAG.
43 END OF PROGRAM SETCIT.
44* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
45
465P1ASC/ CALLS=5PS1R,5PS2C.
47READ IN AND COMPILE ASSIGN CONSTANTS.
00047 0 76400 0 00202 485P1ASC BSTTABTAP POSITION TABLE TAPE, AND
00050 0 07400 4 00304 49TSX5PS1R,4 * GO READ ASSIGN CONSTANTS.
00051−3 00000 1 00053 50TXLSETOP,1,0 IF NO ENTRIES, GO SET OP TO OCT.
00052 0 07400 4 00331 51TSX5PS2C,4 * GO COMPILE ASSIGN CONSTANTS.
00053 0 50000 0 00431 52SETOP CLAOCTLOP SET WORD2 OF COMPILED INSTRUCTION
00054 0 60100 0 00442 53STOWORD2 TO (OCT000) BCD FOR FUTURE USE.
54 END OF PROGRAM 5P1ASC.
55* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
56
575P2FXC/ CALLS=5PS1R,5PS2C.
58READ IN AND COMPILE FIXCON.
00055 0 53400 2 00416 595P2FXC LXAL(3),2 POSITION
00056 0 76400 0 00202 60BSTTABTAP TABLE TAPE
00057 2 00001 2 00056 61TIX5P2FXC+1,2,1 TO FIXCON.
00060 0 07400 4 00304 62TSX5PS1R,4 * GO READ FIXCON INTO BUFFER.
00061−3 00000 1 00065 63TXL5P3F3D,1,0 * IF NO ENTRIES, GO READ IN FORSUB.
00062 0 50000 0 00426 64CLAFIXSYM SET WORD1 OF COMPILED
00063 0 60100 0 00441 65STOWORD1 INSTRUCTION TO (200000) BCD.
00064 0 07400 4 00331 66TSX5PS2C,4 * GO COMPILE FIXCON ENTRIES.
67 END OF PROGRAM 5P2FXC.
68* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
69
705P3F3D/ CALLS=5PS1R,5PS3D.
71TRANSFER FORSUB TABLE FROM TAPE 2 TO DRUM 3.
00065 0 53400 2 00420 725P3F3D LXAL(5),2 POSITION
00066 0 76400 0 00202 73BSTTABTAP TABLE TAPE
00067 2 00001 2 00066 74TIX5P3F3D+1,2,1 TO DO TAG B
00070 0 76200 0 00222 75RTBTABTAP RECORD COUNT
00071 0 70000 0 00440 76CPY5PERAS AND ADD 23
00072−0 53400 1 00440 77LXD5PERAS,1 TO THIS TO
00073 1 00027 1 00074 78TXIBKSPC,1,23 POSITION
00074 0 76400 0 00202 79BKSPC BSTTABTAP TABLE TAPE
00075 2 00001 1 00074 80TIXBKSPC,1,1 TO FORSUB.
00076 0 07400 4 00304 81TSX5PS1R,4 * GO READ FORSUB INTO BUFFER.
00077 0 60000 0 00613 82STZWRDCNT IF THERE WERE
00100−3 00000 1 00107 83TXLEMPTY1,1,0 ENTRIES MADE IN
00101−0 75400 1 00433 84L(SIX) PXDSIX,1 FORSUB TABLE
00102 0 76000 0 00006 85COM COMPUTE THE
00103 0 40100 0 00425 86ADMDECR1 WORD COUNT
00104 0 62200 0 00613 87STDWRDCNT AND THEN
00105 0 07400 4 00345 88TSX5PS3D1,4 * GO WRITE FORSUB ONTO DRUM3.
D00106 1 00000 0 00110 89TXI5P4FLC,0 * WHEN DONE, GO READ IN FLOCON.
00107 0 07400 4 00351 90EMPTY1 TSX5PS3D3,4 * IF FORSUB IS EMPTY, RECORD WRD CNT.
91 END OF PROGRAM 5P3F3D.
92 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
93
94 5P4FLC/ CALLS=5PS1R,5PS2C.
95 READ IN AND COMPILE FLOCON.
00110 0 76200 0 00222 965P4FLC RTBTABTAP FIND
00111 0 70000 0 00440 97CPY5PERAS NEXT
D00112 1 00000 0 00111 98TXI5P4FLC+1,0 END OF FILE
D00113 1 00000 0 00115 99TXIEOFILE,0 ON TABLE TAPE
00114 1 77773 0 00110 100MINUS5 TXI5P4FLC,0,−5 TO LOCATE FLOCON.
00115 0 76600 0 00333 101EOFILE IOD WHEN DONE,
00116−0 76000 0 00012 102RTT MAKE SURE TAPE CHECK
00117 0 76100 0 00000 103NOP LIGHT IS TURNED OFF, AND
00120 0 07400 4 00304 104TSX5PS1R,4 * GO READ FLOCON INTO BUFFER.
00121−3 00000 1 00125 105TXL5P5R6C,1,0 * IF NO ENTRIES, GO COMPILE REGION6.
00122 0 50000 0 00427 106CLAFLOSYM SET WORD1 OF COMPILED
00123 0 60100 0 00441 107STOWORD1 INSTRUCTION TO (300000) BCD.
00124 0 07400 4 00331 108TSX5PS2C,4 * GO COMPILE FLOCON ENTRIES.
109 END OF PROGRAM 5P4FLC.
110* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
111
1125P5R6C/ CALLS=5PS2C.
113COMPILE REGION-SIX CONSTANTS.
00125 0 50000 0 00430 1145P5R6C CLASIXSYM SET WORD1 OF COMPILED
00126 0 60100 0 00441 115STOWORD1 INSTRUCTION TO (600000) BCD.
00127 0 50000 0 00101 116CLAL(SIX) SET COMPILING
00130 0 62100 0 00333 117STACOMP SUBROUTINE (5PS2)
00131−0 53400 1 00114 118LXDMINUS5,1 TO PICK UP THE FIVE CONSTANTS.
00132 0 07400 4 00331 119TSX5PS2C,4 * GO COMPILE REGION-SIX CONSTANTS.
120 END OF PROGRAM 5P5R6C.
121* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
122
1235P6FTC/ CALLS=5PS1R,5PS4W.
124READ IN AND COMPILE FORMAT TABLE.
00133 0 50000 0 00137 1255P6FTC CLATXLOP SET OP SWITCH
00134 0 63000 0 00306 126STPOPSW1 IN READING ROUTINE (5PS1)
00135 0 50000 0 00424 127CLAL(10) TO TEST FOR CORRECT TABLE NUMBER.
00136 0 07400 4 00304 128TSX5PS1R,4 * GO READ IN FORMAT TABLE.
00137−3 00000 1 00154 129TXLOP TXL5P7CBW,1,0 * IF NO ENTRIES, GO WRITE OUT CIT.
00140 0 50000 0 00432 130CLA4MATOP SET WORD2 OF COMPILED
00141 0 60100 0 00442 131STOWORD2 INSTRUCTION TO (BCD000) BCD.
00142 0 53400 2 00413 132LXAL(0),2 MOVE
00143 0 50000 2 00614 133COMPW1 CLABUFFER,2 FORMAT
00144 0 60100 0 00441 134STOWORD1 ENTRY
00145 1 77777 2 00146 135TXICOMPW3,2,−1 INTO
00146 0 50000 2 00614 136COMPW3 CLABUFFER,2 WORD1 AND
00147 0 60100 0 00443 137STOWORD3 WORD3.
00150 0 07400 4 00370 138TSX5PS4W,4 * THEN GO COMPILE FORMAT TABLE.
00151 1 00002 1 00152 139TXITESTF,1,2 IF NO ENTRIES REMAIN,
00152−3 00000 1 00154 140TESTF TXL5P7CBW,1,0 * THEN GO WRITE OUT CIT BUFFER.
00153 1 77777 2 00143 141TXICOMPW1,2,−1 OTHERWISE, CONTINUE COMPILING.
142 END OF PROGRAM 5P6FTC.
143* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
144
1455P7CBW.
146TERMINATE COMPILING.
00154 0 76600 0 00223 1475P7CBW WTBCITTAP WRITE
00155−0 53400 2 00044 148LXDBBOX,2 THE CONTENTS
00156−0 63400 2 00162 149SXDTESTC,2 OF THE
00157 0 53400 2 00413 150LXAL(0),2 CIT BUFFER
00160 0 70000 2 00445 151WRCIB CPYCIB,2 ONTO
00161 1 77777 2 00162 152TXITESTC,2,−1 TAPE3
00162 3 00000 2 00160 153TESTC TXHWRCIB,2,** FOLLOWED BY
00163 0 77000 0 00203 154WEFCITTAP AN END OF FILE.
155 END OF PROGRAM 5P7CBW.
156* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
157
1585P8S2D/ CALLS=5PS1R,5PS3D.
159TRANSFER SIZ TABLE FROM TAPE 2 TO DRUM 2.
00164−0 50000 0 00137 1605P8S2D CALTXLOP SET OP SWITCH IN 5PS1R
00165 0 63000 0 00310 161STPOPSW2 TO COPY EIFNO, BUT SKIP TABNO TEST.
00166 0 07400 4 00304 162TSX5PS1R,4 * GO READ IN SIZ TABLE + EIFNO.
00167 0 50000 0 00612 163CLATABNUM MOVE EIFNO
00170 0 60100 0 00611 164STOEIFNO INTO PROPER LOCATION.
00171 0 50000 0 00351 165CLASETDRM SET DRUM ROUTINE (5PS3D)
00172 0 40200 0 00414 166SUBL(1) TO WRITE ONTO DRUM2.
00173 0 60100 0 00351 167STOSETDRM SET DRUM ADDRESS
00174−0 75400 0 02000 168DRMLOC PXD1024,0 FOR REMAINING DRUM TABLES
00175 0 62100 0 00174 169STADRMLOC TO ZERO.
00176−3 00000 1 00202 170TXLEMPTY2,1,0 IF THERE WERE ENTRIES MADE
00177 0 50000 0 00613 171CLAWRDCNT IN SIZ TABLE, PICKUP WRDCNT AND,
00200 0 07400 4 00346 172TSX5PS3D2,4 * GO WRITE SIZ ONTO DRUM2.
D00201 1 00000 0 00203 173TXI5P9T4D,0 * WHEN DONE, GO READ IN TEIFNO.
00202 0 07400 4 00351 174EMPTY2 TSX5PS3D3,4 * IF SIZ IS EMPTY, GO RECORD WRD CNT.
175 END OF PROGRAM 5P8S2D.
176* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
177
1785P9T4D/ CALLS=5PS1R,5PS3D.
179TRANSFER TEIFNO TABLE FROM TAPE 2 TO DRUM 4.
00203 0 53400 2 00420 1805P9T4D LXAL(5),2 MOVE TABLE TAPE
00204 0 76200 0 00222 181RTBTABTAP OVER END OF FILE AND 1ST FOUR
00205 2 00001 2 00204 182TIX5P9T4D+1,2,1 TABLES TO POSITION FOR TEIFNO.
00206 0 50000 0 00137 183CLATXLOP SET OP SW1TCH IN 5PS1R
00207 0 63000 0 00310 184STPOPSW2 TO MAKE TABLE NUMBER TEST.
00210 0 50000 0 00413 185CLAL(0) PICKUP TEIFNO TABLE NUMBER, AND
00211 0 07400 4 00304 186TSX5PS1R,4 * GO READ IN TEIFNO TABLE.
00212 0 50000 0 00137 187CLATXLOP SET OP SWITCH IN 5PS3D
00213 0 63000 0 00354 188STPDRMSW TO WRITE EIFNO ON DRUM.
00214 0 50000 0 00351 189CLASETDRM SET DRUM ROUTINE
00215 0 40000 0 00415 190ADDL(2) TO WRITE ONTO
00216 0 60100 0 00351 191STOSETDRM DRUM 4.
00217−3 00000 1 00222 192TXLEMPTY3,1,0 IF THERE WERE ENTRIES MAEEIN TEIFNO
00220 0 07400 4 00344 193TSX5PS3D,4 * GO WRITE EIFNO AND TEIFNO ON DRUM4.
D00221 1 00000 0 00223 194TXI5P10ED,0 * WHEN DONE, GO READ IN EQUIT.
00222 0 07400 4 00351 195EMPTY3 TSX5PS3D3,4 * IF TEIFNO IS EMPTY, RECORD WRD CNT.
196 END OF PROGRAM 5P9T4D.
197* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
198
1995P10ED/ CALLS=5PS1R,5PS3D.
200TRANSFER EQU1T TABLE FROM TAPE 2 TO DRUM 1.
00223 0 53400 1 00421 2015P10ED LXAL(7),1 MOVE TABLE TAPE
00224 0 76200 0 00222 202RTBTABTAP OVER 7 RECORDS
00225 2 00001 1 00224 203TIX5P10ED+1,1,1 TO POSITION FOR EQUIT.
00226 0 50000 0 00422 204CLAL(8) PICKUP EQUIT TABLE NUMBER, AND
00227 0 07400 4 00304 205TSX5PS1R,4 * GO READ IN EQUIT TABLE.
00230−0 50000 0 00137 206CALTXLOP SET OP SWITCH IN 5PS3D
00231 0 63000 0 00354 207STPDRMSW TO SKIP WRIT1NG OF EIFNO.
00232 0 50000 0 00351 208CLASETDRM SET DRUM ROUTINE
00233 0 40200 0 00416 209SUBL(3) TO WRITE ONTO
00234 0 60100 0 00351 210STOSETDRM DRUM1.
00235−3 00000 1 00270 211TXLEMPTY4,1,0 IF EQUIT IS EMPTY, RECORD WRDCNT.
00236−0 53400 4 00613 212LXDWRDCNT,4 OTHERWISE,
00237 0 53400 3 00413 213LXAL(0),3 COMPUTE A
00240 0 76000 0 00000 214EQCHS CLM LOG1CAL
00241 0 36100 1 00614 215CLASS ACLBUFFER,1 CHECK
00242 0 56000 1 00614 216LDQBUFFER,1 SUM
00243−0 60000 2 03550 217STQNEWEQ,2 FOR
00244 1 77777 1 00245 218TXINXT1,1,−1 EACH
00245 1 77777 2 00246 219NXT1 TXINXT2,2,−1 EQUIVALENCE
00246 0 36100 1 00614 220NXT2 ACLBUFFER,1 CLASS
00247 0 56000 1 00614 221LDQBUFFER,1 AND
00250−0 60000 2 03550 222STQNEWEQ,2 MOVE
00251 1 77777 1 00252 223TXINXT3,1,−1 EACH
00252 1 77777 2 00253 224NXT3 TXINXT4,2,−1 CLASS
00253 1 77776 4 00254 225NXT4 TXINXT5,4,−2 FOLLOWED
00254 0 16200 0 00241 226NXT5 TQPCLASS BY ITS
00255 0 60200 2 03550 227L(NEQ) SLWNEWEQ,2 CHECK
00256 1 77777 2 00257 228TXINXT6,2,−1 SUM
00257 3 00001 4 00240 229NXT6 TXHEQCHS,4,1 INTO NEWEQ.
00260−0 75400 2 00000 230PXD,2 COMPUTE
00261 0 76000 0 00006 231COM THE
00262 0 40100 0 00425 232ADMDECR1 NEW
00263 0 62200 0 00613 233STDWRDCNT WORDCOUNT
00264 0 77100 0 00022 234ARS18 AND
00265 0 73400 1 00000 235PAX,1 THE
00266 0 40000 0 00255 236ADDL(NEQ) NEW
00267 0 62100 0 00362 237STACADDRM MEMORY ADDRESS, AND
00270 0 07400 4 00351 238EMPTY4 TSX5PS3D3,4 * GO WRITE EQUIT ON DRUM 1.
239 END OF PROGRAM 5P10ED.
240 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
241
242 5P11CD/ CALLS=5PS1R,5PS3D.
243 TRANSFER CLOSUB TABLE FROM TAPE 2 TO DRUM 3.
00271 0 50000 0 00423 2445P11CD CLAL(9) PICKUP CLOSUB TABLE NUMBER, AND
00272 0 07400 4 00304 245TSX5PS1R,4 * GO READ IN CLOSUB TABLE.
00273 0 50000 0 00351 246CLASETDRM SET DRUM ROUTINE
00274 0 40000 0 00415 247ADDL(2) TO WRITE ONTO
00275 0 60100 0 00351 248STOSETDRM DRUM3.
00276−3 00000 1 00301 249TXLEMPTY5,1,0 IF THERE WERE ENTRIES MADEIN CLOSUB
00277 0 07400 4 00344 250TSX5PS3D,4 * GO WRITE CLOSUB ONTO DRUM3.
00300 1 00000 0 00302 2515PXR1 TXIEND5P,0,** THEN GO CALL SECTION SIX.
00301 0 07400 4 00351 252EMPTY5 TSX5PS3D3,4 * IF CLOSUB IS EMPTY, RECORD WRDCNT.
00302 0 76200 0 00221 253END5P RTBSYSTAP SPACE OVER DIAGNOSTIC RECORD,
00303 1 00000 0 00004 2545PXR2 TXISECSIX,0,** * THEN GO CALL SECTION SIX.
255 END OF PROGRAM 5P11CD.
256 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
257
258 END OF PROGRAM 5PRIME.
259 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
260
261 5PS1R,4/ CALLERS=5P1ASC,5P2FXC,5P3F3D,5P4FLC,5P6FTC,5P8S2D,
262 5P9T4D,5P10ED,5P11CD. CALLS=DIAG.
263 READ A RECORD FROM TAPE 2.
00304 0 53400 2 00420 2645PS1R LXATERC,2 SET TAPE ERROR COUNTER FOR 5 TRYS.
00305 0 76200 0 00222 265READ RTBTABTAP SELECT TABLE TAPE FOR READING.
D00306−3 00000 0 00315 266OPSW1 TXLSKIP,0 IF OP SWITCH IS SET TO TXH,
00307 0 70000 0 00612 267CPYTABNUM THEN COPY 1ST WORD INTO TABNUM.
D00310 3 00000 0 00315 268OPSW2 TXHSKIP,0 IF OP SWITCH IS SET TO TXH,
00311 0 34000 0 00612 269CASTABNUM THEN COMPARE C(AC) WITH TABNUM=
D00312 1 00000 0 00314 270TXISTOP,0 IF INCORRECT RECORD - GO TO STOP.
00313 1 00000 0 00315 2715PXR4 TXISKIP,0,** IF EQUAL - THEN CONTINUE.
00314 0 07400 4 00004 272STOP TSXDIAG,4 * IF INCORRECT RECORD - GO TO DIAG.
00315 0 70000 0 00613 273SKIP CPYWRDCNT READ WORD COUNT,
00316 0 53400 1 00413 274LXAL(0),1 AND THEN READ
00317 0 70000 1 00614 275COPY CPYBUFFER,1 COMPLETE TABLE
00320 1 77777 1 00317 276TXICOPY,1,−1 INTO BUFFER.
00321 0 07400 4 00004 277TSXDIAG,4 * IF END OF FILE -,GO TO DIAGNOSTIC.
00322 0 76600 0 00333 278IOD WHEN DONE,
00323−0 76000 0 00012 279RTT IF TAPE RECORD
D00324 1 00000 0 00326 280TXIRTTON,0 WAS READ CORRECTLY,
00325 0 02000 4 00001 281TRA1,4 * RETURN TO MAIN ROUTINE.
00326 0 76400 0 00202 282RTTON BSTTABTAP OTHERWISE, BACKSPACE TAPE, AND
00327 2 00001 2 00305 283TIXREAD,2,1 GO REREAD RECORD UNLESS
00330 0 07400 4 00004 284TSXDIAG,4 * 5 ATTEMPTS FAILED - GO TO DIAG.
285 END OF PROGRAM 5PS1R.
286* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
287
2885PS2C,4/ CALLS=5PS4W. CALLERS=5P1ASC,5P2FXC,5P4FLC,5P5R6C.
289COMPILE 4-WORD INSTRUCTIONS FROM BUFFER ENTRIES.
00331−0 63400 4 00313 2905PS2C SXD5PXR4,4 SAVE C(XR4) FOR EXIT.
00332 0 53400 2 00413 291LXAL(0),2 MOVE
00333 0 50000 2 00614 292COMP CLABUFFER,2 ENTRY
00334 0 60100 0 00443 293STOWORD3 INTO WORD3,
00335 0 07400 4 00370 294TSX5PS4W,4 * AND GO COMPILE INSTRUCTION.
00336 1 00001 1 00337 295TXITEST,1,1 IF NO ENTRIES REMAIN,
00337−3 00000 1 00342 296TEST TXLEXIT2,1,0 THEN TAKE EXIT2.
00340 0 60000 0 00441 297STZWORD1 SET WORD1 TO ZERO,
00341 1 77777 2 00333 298TXICOMP,2,−1 AND COMPILE SUCCEEDING ENTRIES.
00342−0 53400 4 00313 299EXIT2 LXD5PXR4,4 RESTORE C(XR4), AND
00343 0 02000 4 00001 300TRA1,4 * RETURN TO MAIN ROUTINE.
301 END OF PROGRAM 5PS2C.
302 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
303
304 5PS3D,4/ CALLERS=5P3F3D,5P8S2D,5P9T4D,5P10ED,5P11CD.
305 WRITE TABLE ONTO DRUM FOLLOWED BY CHECKSUM.
00344 0 50000 0 00613 3065PS3D CLAWRDCNT SET C(XR1)
00345 0 77100 0 00022 3075PS3D1 ARS18 EQUAL TO
00346 0 73400 1 00614 3085PS3D2 PAXBUFFER,1 THE WORD COUNT
00347 0 40000 0 00346 309ADD5PS3D2 AND INITIALIZE
00350 0 62100 0 00362 310STACADDRM CAD ADDRESS.
00351 0 76600 0 00303 3115PS3D3 WDR3 WRITE ONTO
00352 0 76000 0 00000 312CLM THE DRUM,
00353 0 46000 0 00174 313LDADRMLOC ACCORDING TO SWITCH SETTING.
D00354−3 00000 0 00357 314DRMSW TXLDRMSW+3,0 IF OP SWITCH IS TXH,
00355 0 70000 0 00611 315CPYEIFNO WRITE EIFNO FOLLOWED
00356 0 70000 0 00611 316CPYEIFNO BY ITS CHECKSUM.
00357 0 70000 0 00613 317CPYWRDCNT WRITE WORD COUNT FOLLOWED
00360 0 70000 0 00613 318CPYWRDCNT BY ITS CHECKSUM, AND THEN
00361−3 00000 1 00367 319TXLEXIT3,1,0 UNLESS THE BUFFER IS EMPTY,
00362−0 70000 1 00000 320CADDRM CAD**,1 WRITE THE
00363 2 00001 1 00362 321TIXCADDRM,1,1 CONTENTS OF BUFFER
00364 0 70000 0 00413 322CPYL(0) ONTO DRUM FOLLOWED
00365 0 60200 0 00440 323SLW5PERAS BY ZERO AND THEN
00366 0 70000 0 00440 324CPY5PERAS THE LOGICAL CHECKSUM.
00367 0 02000 4 00001 325EXIT3 TRA1,4 * RETURN TO MAIN ROUTINE.
326 END OF PROGRAM 5PS3D.
327 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
328
3295PS4W,4/ CALLERS=5P6FTC,5PS2C.
330MOVE 4-WORD INSTRUCTION INTO CIB, AND WRITE CIB ONTO TAPE3.
00370−0 63400 1 00300 3315PS4W SXD5PXR1,1 SAVE C(XR1) AND
00371−0 63400 2 00303 332SXD5PXR2,2 SAVE C(XR2).
00372−0 53400 2 00044 333LXDBBOX,2 IF THE NUMBER OF
00373 3 77634 2 00402 334TXHMOVE−1,2,−100 WORDS ENTERED = 100,
00374 0 76600 0 00223 335WTBCITTAP THEN
00375 0 53400 1 00413 336LXAL(0),1 WRITE
00376 0 70000 1 00445 337WRITE CPYCIB,1 THE CONTENTS
00377 1 00001 2 00400 338TXITESTB,2,1 OF THE CIT
00400−3 00000 2 00402 339TESTB TXLMOVE−1,2,0 BUFFER
00401 1 77777 1 00376 340TXIWRITE,1,−1 ONTO TAPE3.
00402 0 53400 1 00417 341LXAL(4),1 MOVE
00403 0 50000 1 00445 342MOVE CLAWORD1+4,1 NEW
00404 0 60100 2 00445 343STOCIB,2 4 WORD
00405 1 77777 2 00406 344TXITESTA,2,−1 INSTRUCTION
00406 2 00001 1 00403 345TESTA TIXMOVE,1,1 INTO CIT BUFFER.
00407−0 63400 2 00044 346SXDBBOX,2 ADJUST BUFFER COUNT.
00410−0 53400 1 00300 347LXD5PXR1,1 RESTORE C(XR1),
00411−0 53400 2 00303 348LXD5PXR2,2 RESTORE C(XR2), AND
00412 0 02000 4 00001 349TRA1,4 * EXIT TO MAIN ROUTINE.
350 END DF PROGRAM 5PS4W.
351 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
352
353
354 CONSTANTS USED BY 5 PRIME.
00413 0 00000 0 00000 355L(0) PZE0
00414 0 00000 0 00001 356L(1) PZE1
00415 0 00000 0 00002 357L(2) PZE2
00416 0 00000 0 00003 358L(3) PZE3
00417 0 00000 0 00004 359L(4) PZE4
00420 0 00000 0 00005 360L(5) PZE5
00421 0 00000 0 00007 361L(7) PZE7
00422 0 00000 0 00010 362L(8) PZE8
00423 0 00000 0 00011 363L(9) PZE9
00424 0 00000 0 00012 364L(10) PZE10
00425 0 00001 0 00000 365DECR1 PZE0,0,1
00426 020000000000 366FIXSYM BCD1200000
00427 030000000000 367FLOSYM BCD1300000
00430 060000000000 368SIXSYM BCD1600000
00431 462363000000 369OCTLOP BCD1OCT000
00432 222324000000 3704MATOP BCD1BCD000
00433+233000000000 371SIX OCT233000000000,77777,0,1000000,0
00434+000000077777 372
00435+000000000000 373
00436+000001000000 374
00437+000000000000 375
376 END OF 5 PRIME CONSTANTS.
377* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
378
379WORKING STORAGE USED BY 5 PRIME.
00440 3805PERAS BSS1
00441 050000000000 381WORD1 BCD1500000
00442 635121000000 382WORD2 BCD1TRA000
00443 000000000000 383WORD3 BCD1000000
00444 000000000000 384WORD4 BCD1000000
00445 385CIB BSS100
00611 386EIFNO BSS1
00612 387TABNUM BSS1
00613 388WRDCNT BSS1
00614 389BUFFER BSS1500
03550 390NEWEQ BSS1500
391 END OF 5 PRIME WORKING STORAGE.
392* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
393
394
395SYNONYMS USED BY 5 PRIME.
00351 396SETDRM SYN5PS3D3 LOCATION OF WDR INSTRUCTION.
00420 397TERC SYNL(5) TAPE ERROR COUNTER.
00001 398SYSTAP SYN1 FORTRAN SYSTEM TAPE.
00002 399TABTAP SYN2 TABLE TAPE.
00003 400CITTAP SYN3 COMPILED INSTRUCTION TAPE.
00004 401DIAG SYN4 DIAGNOSTIC ROUTINE.
00004 402SECSIX SYN4 SECTION SIX = NEXT SECTION.
403 END OF 5 PRIME SYNONYMS.
404 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
405
406