| 1 | APPLIED PROGRAMMING/ FORTRAN. 704 = EST.NO. 8081, JOB NO. 1. | ||||||
| 2 | |||||||
| 3 | |||||||
| 4 | THE FOLLOWING CONVENTIONS ARE USED IN TH1S LISTING= | ||||||
| 5 | |||||||
| 6 | |||||||
| 7 | ** IN THE ADDRESS, TAG, OR DECREMENT OF AN INSTRUCTION | ||||||
| 8 | INDICATES THAT THIS FIELD WILL BE MODIFIED BY THE PROGRAM. | ||||||
| 9 | * IN COL/36 INDICATES THE INSTRUCTION IS A TRANSFER OUT OF | ||||||
| 10 | THIS L0GICAL BLOCK OR SUBROUTINE. | ||||||
| 11 | C IN COL/34 INDICATES THE INSTRUCTION WAS CORRECTED. | ||||||
| 12 | P IN COL/32 INDICATES THE INSTRUCTION WAS INSERTED (PATCH). | ||||||
| 13 | |||||||
| 14 | |||||||
| 15 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 16 | |||||||
| 17 | |||||||
| 18 | 704 FORTRAN 2 / SECTION 5PRIME / A. S. NOBLE, JR. / 12 FEB 58 | ||||||
| 19 | |||||||
| 20 | |||||||
| 21 | 5PRIME COMPILES ASSIGN CONSTANTS, FIXED POINT CONSTANTS | ||||||
| 22 | FLOATING POINT CONSTANTS, REGION SIX CONSTANTS AND FORMAT | ||||||
| 23 | STATEMENTS. THE FOLLOWING TABLES ARE PUT ON DRUMS FOR USE IN | ||||||
| 24 | THE ASSEMBLY PROGRAM ... SIZ, TEIFNO, EQUIT, CLOSUB, FORSUB. | ||||||
| 00030 | 25 | ORG | 24 | ||||
| 26 | SETCIT/ CALLS=OIAG. | ||||||
| 27 | SET UP CIT BUFFER, COUNTER, ANO TARE FOR COMPILING. | ||||||
| 00030 | 0 76400 0 00203 | 28 | 5PRIME | BST | CITTAP BACKSPACE CIT TAPE OVER EOF MARK | ||
| 00031 | 0 76400 0 00203 | 29 | BST | CITTAP AND LAST RECOR0. | |||
| 00032 | 0 53400 2 00420 | 30 | LXA | TERC,2 SET TAPE ERROR COUNTER FOR 5 TRYS. | |||
| 00033 | 0 76200 0 00223 | 31 | RTB | CITTAP SELECT CIT TAPE FOR READING. | |||
| 00034 | 0 53400 1 00413 | 32 | LXA | L(0),1 COPY LAST | |||
| 00035 | 0 70000 1 00445 | 33 | CPYCIT | CPY | CIB,1 CIT RECORD | ||
| 00036 | 1 77777 1 00035 | 34 | TXI | CPYCIT,1,−1 INTO CIT BUFFER. | |||
| 00037 | 0 07400 4 00004 | 35 | TSX | DIAG,4 * EOF ERROR - GO TO DIAGNOSTIC. | |||
| 00040 | 0 76400 0 00203 | 36 | BST | CITTAP REPOSITION CIT TAPE, AND | |||
| 00041 | −0 76000 0 00012 | 37 | RTT | IF TAPE RECORD | |||
| D | 00042 | 1 00000 0 00045 | 38 | TXI | RTTON1,0 WAS READ CORRECTLY, | ||
| 00043 | −0 63400 1 00044 | 39 | SXD | BBOX,1 SAVE CIT COUNTER, | |||
| 00044 | 1 00000 0 00047 | 40 | BBOX | TXI | 5P1ASC,0,** * AND GO READ ASSIGN CONSTANTS. | ||
| 00045 | 2 00001 2 00033 | 41 | RTTON1 | TIX | CPYCIT−2,2,1 OTHERWISE, GO REREAD RECORD UNLESS | ||
| 00046 | 0 07400 4 00004 | 42 | TSX | DIAG,4 * 5 ATTEMPTS FAILE0 - GO TO DIAG. | |||
| 43 | END OF PROGRAM SETCIT. | ||||||
| 44 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 45 | |||||||
| 46 | 5P1ASC/ CALLS=5PS1R,5PS2C. | ||||||
| 47 | READ IN AND COMPILE ASSIGN CONSTANTS. | ||||||
| 00047 | 0 76400 0 00202 | 48 | 5P1ASC | BST | TABTAP POSITION TABLE TAPE, AND | ||
| 00050 | 0 07400 4 00304 | 49 | TSX | 5PS1R,4 * GO READ ASSIGN CONSTANTS. | |||
| 00051 | −3 00000 1 00053 | 50 | TXL | SETOP,1,0 IF NO ENTRIES, GO SET OP TO OCT. | |||
| 00052 | 0 07400 4 00331 | 51 | TSX | 5PS2C,4 * GO COMPILE ASSIGN CONSTANTS. | |||
| 00053 | 0 50000 0 00431 | 52 | SETOP | CLA | OCTLOP SET WORD2 OF COMPILED INSTRUCTION | ||
| 00054 | 0 60100 0 00442 | 53 | STO | WORD2 TO (OCT000) BCD FOR FUTURE USE. | |||
| 54 | END OF PROGRAM 5P1ASC. | ||||||
| 55 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 56 | |||||||
| 57 | 5P2FXC/ CALLS=5PS1R,5PS2C. | ||||||
| 58 | READ IN AND COMPILE FIXCON. | ||||||
| 00055 | 0 53400 2 00416 | 59 | 5P2FXC | LXA | L(3),2 POSITION | ||
| 00056 | 0 76400 0 00202 | 60 | BST | TABTAP TABLE TAPE | |||
| 00057 | 2 00001 2 00056 | 61 | TIX | 5P2FXC+1,2,1 TO FIXCON. | |||
| 00060 | 0 07400 4 00304 | 62 | TSX | 5PS1R,4 * GO READ FIXCON INTO BUFFER. | |||
| 00061 | −3 00000 1 00065 | 63 | TXL | 5P3F3D,1,0 * IF NO ENTRIES, GO READ IN FORSUB. | |||
| 00062 | 0 50000 0 00426 | 64 | CLA | FIXSYM SET WORD1 OF COMPILED | |||
| 00063 | 0 60100 0 00441 | 65 | STO | WORD1 INSTRUCTION TO (200000) BCD. | |||
| 00064 | 0 07400 4 00331 | 66 | TSX | 5PS2C,4 * GO COMPILE FIXCON ENTRIES. | |||
| 67 | END OF PROGRAM 5P2FXC. | ||||||
| 68 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 69 | |||||||
| 70 | 5P3F3D/ CALLS=5PS1R,5PS3D. | ||||||
| 71 | TRANSFER FORSUB TABLE FROM TAPE 2 TO DRUM 3. | ||||||
| 00065 | 0 53400 2 00420 | 72 | 5P3F3D | LXA | L(5),2 POSITION | ||
| 00066 | 0 76400 0 00202 | 73 | BST | TABTAP TABLE TAPE | |||
| 00067 | 2 00001 2 00066 | 74 | TIX | 5P3F3D+1,2,1 TO DO TAG B | |||
| 00070 | 0 76200 0 00222 | 75 | RTB | TABTAP RECORD COUNT | |||
| 00071 | 0 70000 0 00440 | 76 | CPY | 5PERAS AND ADD 23 | |||
| 00072 | −0 53400 1 00440 | 77 | LXD | 5PERAS,1 TO THIS TO | |||
| 00073 | 1 00027 1 00074 | 78 | TXI | BKSPC,1,23 POSITION | |||
| 00074 | 0 76400 0 00202 | 79 | BKSPC | BST | TABTAP TABLE TAPE | ||
| 00075 | 2 00001 1 00074 | 80 | TIX | BKSPC,1,1 TO FORSUB. | |||
| 00076 | 0 07400 4 00304 | 81 | TSX | 5PS1R,4 * GO READ FORSUB INTO BUFFER. | |||
| 00077 | 0 60000 0 00613 | 82 | STZ | WRDCNT IF THERE WERE | |||
| 00100 | −3 00000 1 00107 | 83 | TXL | EMPTY1,1,0 ENTRIES MADE IN | |||
| 00101 | −0 75400 1 00433 | 84 | L(SIX) | PXD | SIX,1 FORSUB TABLE | ||
| 00102 | 0 76000 0 00006 | 85 | COM | COMPUTE THE | |||
| 00103 | 0 40100 0 00425 | 86 | ADM | DECR1 WORD COUNT | |||
| 00104 | 0 62200 0 00613 | 87 | STD | WRDCNT AND THEN | |||
| 00105 | 0 07400 4 00345 | 88 | TSX | 5PS3D1,4 * GO WRITE FORSUB ONTO DRUM3. | |||
| D | 00106 | 1 00000 0 00110 | 89 | TXI | 5P4FLC,0 * WHEN DONE, GO READ IN FLOCON. | ||
| 00107 | 0 07400 4 00351 | 90 | EMPTY1 | TSX | 5PS3D3,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 | 96 | 5P4FLC | RTB | TABTAP FIND | ||
| 00111 | 0 70000 0 00440 | 97 | CPY | 5PERAS NEXT | |||
| D | 00112 | 1 00000 0 00111 | 98 | TXI | 5P4FLC+1,0 END OF FILE | ||
| D | 00113 | 1 00000 0 00115 | 99 | TXI | EOFILE,0 ON TABLE TAPE | ||
| 00114 | 1 77773 0 00110 | 100 | MINUS5 | TXI | 5P4FLC,0,−5 TO LOCATE FLOCON. | ||
| 00115 | 0 76600 0 00333 | 101 | EOFILE | IOD | WHEN DONE, | ||
| 00116 | −0 76000 0 00012 | 102 | RTT | MAKE SURE TAPE CHECK | |||
| 00117 | 0 76100 0 00000 | 103 | NOP | LIGHT IS TURNED OFF, AND | |||
| 00120 | 0 07400 4 00304 | 104 | TSX | 5PS1R,4 * GO READ FLOCON INTO BUFFER. | |||
| 00121 | −3 00000 1 00125 | 105 | TXL | 5P5R6C,1,0 * IF NO ENTRIES, GO COMPILE REGION6. | |||
| 00122 | 0 50000 0 00427 | 106 | CLA | FLOSYM SET WORD1 OF COMPILED | |||
| 00123 | 0 60100 0 00441 | 107 | STO | WORD1 INSTRUCTION TO (300000) BCD. | |||
| 00124 | 0 07400 4 00331 | 108 | TSX | 5PS2C,4 * GO COMPILE FLOCON ENTRIES. | |||
| 109 | END OF PROGRAM 5P4FLC. | ||||||
| 110 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 111 | |||||||
| 112 | 5P5R6C/ CALLS=5PS2C. | ||||||
| 113 | COMPILE REGION-SIX CONSTANTS. | ||||||
| 00125 | 0 50000 0 00430 | 114 | 5P5R6C | CLA | SIXSYM SET WORD1 OF COMPILED | ||
| 00126 | 0 60100 0 00441 | 115 | STO | WORD1 INSTRUCTION TO (600000) BCD. | |||
| 00127 | 0 50000 0 00101 | 116 | CLA | L(SIX) SET COMPILING | |||
| 00130 | 0 62100 0 00333 | 117 | STA | COMP SUBROUTINE (5PS2) | |||
| 00131 | −0 53400 1 00114 | 118 | LXD | MINUS5,1 TO PICK UP THE FIVE CONSTANTS. | |||
| 00132 | 0 07400 4 00331 | 119 | TSX | 5PS2C,4 * GO COMPILE REGION-SIX CONSTANTS. | |||
| 120 | END OF PROGRAM 5P5R6C. | ||||||
| 121 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 122 | |||||||
| 123 | 5P6FTC/ CALLS=5PS1R,5PS4W. | ||||||
| 124 | READ IN AND COMPILE FORMAT TABLE. | ||||||
| 00133 | 0 50000 0 00137 | 125 | 5P6FTC | CLA | TXLOP SET OP SWITCH | ||
| 00134 | 0 63000 0 00306 | 126 | STP | OPSW1 IN READING ROUTINE (5PS1) | |||
| 00135 | 0 50000 0 00424 | 127 | CLA | L(10) TO TEST FOR CORRECT TABLE NUMBER. | |||
| 00136 | 0 07400 4 00304 | 128 | TSX | 5PS1R,4 * GO READ IN FORMAT TABLE. | |||
| 00137 | −3 00000 1 00154 | 129 | TXLOP | TXL | 5P7CBW,1,0 * IF NO ENTRIES, GO WRITE OUT CIT. | ||
| 00140 | 0 50000 0 00432 | 130 | CLA | 4MATOP SET WORD2 OF COMPILED | |||
| 00141 | 0 60100 0 00442 | 131 | STO | WORD2 INSTRUCTION TO (BCD000) BCD. | |||
| 00142 | 0 53400 2 00413 | 132 | LXA | L(0),2 MOVE | |||
| 00143 | 0 50000 2 00614 | 133 | COMPW1 | CLA | BUFFER,2 FORMAT | ||
| 00144 | 0 60100 0 00441 | 134 | STO | WORD1 ENTRY | |||
| 00145 | 1 77777 2 00146 | 135 | TXI | COMPW3,2,−1 INTO | |||
| 00146 | 0 50000 2 00614 | 136 | COMPW3 | CLA | BUFFER,2 WORD1 AND | ||
| 00147 | 0 60100 0 00443 | 137 | STO | WORD3 WORD3. | |||
| 00150 | 0 07400 4 00370 | 138 | TSX | 5PS4W,4 * THEN GO COMPILE FORMAT TABLE. | |||
| 00151 | 1 00002 1 00152 | 139 | TXI | TESTF,1,2 IF NO ENTRIES REMAIN, | |||
| 00152 | −3 00000 1 00154 | 140 | TESTF | TXL | 5P7CBW,1,0 * THEN GO WRITE OUT CIT BUFFER. | ||
| 00153 | 1 77777 2 00143 | 141 | TXI | COMPW1,2,−1 OTHERWISE, CONTINUE COMPILING. | |||
| 142 | END OF PROGRAM 5P6FTC. | ||||||
| 143 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 144 | |||||||
| 145 | 5P7CBW. | ||||||
| 146 | TERMINATE COMPILING. | ||||||
| 00154 | 0 76600 0 00223 | 147 | 5P7CBW | WTB | CITTAP WRITE | ||
| 00155 | −0 53400 2 00044 | 148 | LXD | BBOX,2 THE CONTENTS | |||
| 00156 | −0 63400 2 00162 | 149 | SXD | TESTC,2 OF THE | |||
| 00157 | 0 53400 2 00413 | 150 | LXA | L(0),2 CIT BUFFER | |||
| 00160 | 0 70000 2 00445 | 151 | WRCIB | CPY | CIB,2 ONTO | ||
| 00161 | 1 77777 2 00162 | 152 | TXI | TESTC,2,−1 TAPE3 | |||
| 00162 | 3 00000 2 00160 | 153 | TESTC | TXH | WRCIB,2,** FOLLOWED BY | ||
| 00163 | 0 77000 0 00203 | 154 | WEF | CITTAP AN END OF FILE. | |||
| 155 | END OF PROGRAM 5P7CBW. | ||||||
| 156 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 157 | |||||||
| 158 | 5P8S2D/ CALLS=5PS1R,5PS3D. | ||||||
| 159 | TRANSFER SIZ TABLE FROM TAPE 2 TO DRUM 2. | ||||||
| 00164 | −0 50000 0 00137 | 160 | 5P8S2D | CAL | TXLOP SET OP SWITCH IN 5PS1R | ||
| 00165 | 0 63000 0 00310 | 161 | STP | OPSW2 TO COPY EIFNO, BUT SKIP TABNO TEST. | |||
| 00166 | 0 07400 4 00304 | 162 | TSX | 5PS1R,4 * GO READ IN SIZ TABLE + EIFNO. | |||
| 00167 | 0 50000 0 00612 | 163 | CLA | TABNUM MOVE EIFNO | |||
| 00170 | 0 60100 0 00611 | 164 | STO | EIFNO INTO PROPER LOCATION. | |||
| 00171 | 0 50000 0 00351 | 165 | CLA | SETDRM SET DRUM ROUTINE (5PS3D) | |||
| 00172 | 0 40200 0 00414 | 166 | SUB | L(1) TO WRITE ONTO DRUM2. | |||
| 00173 | 0 60100 0 00351 | 167 | STO | SETDRM SET DRUM ADDRESS | |||
| 00174 | −0 75400 0 02000 | 168 | DRMLOC | PXD | 1024,0 FOR REMAINING DRUM TABLES | ||
| 00175 | 0 62100 0 00174 | 169 | STA | DRMLOC TO ZERO. | |||
| 00176 | −3 00000 1 00202 | 170 | TXL | EMPTY2,1,0 IF THERE WERE ENTRIES MADE | |||
| 00177 | 0 50000 0 00613 | 171 | CLA | WRDCNT IN SIZ TABLE, PICKUP WRDCNT AND, | |||
| 00200 | 0 07400 4 00346 | 172 | TSX | 5PS3D2,4 * GO WRITE SIZ ONTO DRUM2. | |||
| D | 00201 | 1 00000 0 00203 | 173 | TXI | 5P9T4D,0 * WHEN DONE, GO READ IN TEIFNO. | ||
| 00202 | 0 07400 4 00351 | 174 | EMPTY2 | TSX | 5PS3D3,4 * IF SIZ IS EMPTY, GO RECORD WRD CNT. | ||
| 175 | END OF PROGRAM 5P8S2D. | ||||||
| 176 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 177 | |||||||
| 178 | 5P9T4D/ CALLS=5PS1R,5PS3D. | ||||||
| 179 | TRANSFER TEIFNO TABLE FROM TAPE 2 TO DRUM 4. | ||||||
| 00203 | 0 53400 2 00420 | 180 | 5P9T4D | LXA | L(5),2 MOVE TABLE TAPE | ||
| 00204 | 0 76200 0 00222 | 181 | RTB | TABTAP OVER END OF FILE AND 1ST FOUR | |||
| 00205 | 2 00001 2 00204 | 182 | TIX | 5P9T4D+1,2,1 TABLES TO POSITION FOR TEIFNO. | |||
| 00206 | 0 50000 0 00137 | 183 | CLA | TXLOP SET OP SW1TCH IN 5PS1R | |||
| 00207 | 0 63000 0 00310 | 184 | STP | OPSW2 TO MAKE TABLE NUMBER TEST. | |||
| 00210 | 0 50000 0 00413 | 185 | CLA | L(0) PICKUP TEIFNO TABLE NUMBER, AND | |||
| 00211 | 0 07400 4 00304 | 186 | TSX | 5PS1R,4 * GO READ IN TEIFNO TABLE. | |||
| 00212 | 0 50000 0 00137 | 187 | CLA | TXLOP SET OP SWITCH IN 5PS3D | |||
| 00213 | 0 63000 0 00354 | 188 | STP | DRMSW TO WRITE EIFNO ON DRUM. | |||
| 00214 | 0 50000 0 00351 | 189 | CLA | SETDRM SET DRUM ROUTINE | |||
| 00215 | 0 40000 0 00415 | 190 | ADD | L(2) TO WRITE ONTO | |||
| 00216 | 0 60100 0 00351 | 191 | STO | SETDRM DRUM 4. | |||
| 00217 | −3 00000 1 00222 | 192 | TXL | EMPTY3,1,0 IF THERE WERE ENTRIES MAEEIN TEIFNO | |||
| 00220 | 0 07400 4 00344 | 193 | TSX | 5PS3D,4 * GO WRITE EIFNO AND TEIFNO ON DRUM4. | |||
| D | 00221 | 1 00000 0 00223 | 194 | TXI | 5P10ED,0 * WHEN DONE, GO READ IN EQUIT. | ||
| 00222 | 0 07400 4 00351 | 195 | EMPTY3 | TSX | 5PS3D3,4 * IF TEIFNO IS EMPTY, RECORD WRD CNT. | ||
| 196 | END OF PROGRAM 5P9T4D. | ||||||
| 197 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 198 | |||||||
| 199 | 5P10ED/ CALLS=5PS1R,5PS3D. | ||||||
| 200 | TRANSFER EQU1T TABLE FROM TAPE 2 TO DRUM 1. | ||||||
| 00223 | 0 53400 1 00421 | 201 | 5P10ED | LXA | L(7),1 MOVE TABLE TAPE | ||
| 00224 | 0 76200 0 00222 | 202 | RTB | TABTAP OVER 7 RECORDS | |||
| 00225 | 2 00001 1 00224 | 203 | TIX | 5P10ED+1,1,1 TO POSITION FOR EQUIT. | |||
| 00226 | 0 50000 0 00422 | 204 | CLA | L(8) PICKUP EQUIT TABLE NUMBER, AND | |||
| 00227 | 0 07400 4 00304 | 205 | TSX | 5PS1R,4 * GO READ IN EQUIT TABLE. | |||
| 00230 | −0 50000 0 00137 | 206 | CAL | TXLOP SET OP SWITCH IN 5PS3D | |||
| 00231 | 0 63000 0 00354 | 207 | STP | DRMSW TO SKIP WRIT1NG OF EIFNO. | |||
| 00232 | 0 50000 0 00351 | 208 | CLA | SETDRM SET DRUM ROUTINE | |||
| 00233 | 0 40200 0 00416 | 209 | SUB | L(3) TO WRITE ONTO | |||
| 00234 | 0 60100 0 00351 | 210 | STO | SETDRM DRUM1. | |||
| 00235 | −3 00000 1 00270 | 211 | TXL | EMPTY4,1,0 IF EQUIT IS EMPTY, RECORD WRDCNT. | |||
| 00236 | −0 53400 4 00613 | 212 | LXD | WRDCNT,4 OTHERWISE, | |||
| 00237 | 0 53400 3 00413 | 213 | LXA | L(0),3 COMPUTE A | |||
| 00240 | 0 76000 0 00000 | 214 | EQCHS | CLM | LOG1CAL | ||
| 00241 | 0 36100 1 00614 | 215 | CLASS | ACL | BUFFER,1 CHECK | ||
| 00242 | 0 56000 1 00614 | 216 | LDQ | BUFFER,1 SUM | |||
| 00243 | −0 60000 2 03550 | 217 | STQ | NEWEQ,2 FOR | |||
| 00244 | 1 77777 1 00245 | 218 | TXI | NXT1,1,−1 EACH | |||
| 00245 | 1 77777 2 00246 | 219 | NXT1 | TXI | NXT2,2,−1 EQUIVALENCE | ||
| 00246 | 0 36100 1 00614 | 220 | NXT2 | ACL | BUFFER,1 CLASS | ||
| 00247 | 0 56000 1 00614 | 221 | LDQ | BUFFER,1 AND | |||
| 00250 | −0 60000 2 03550 | 222 | STQ | NEWEQ,2 MOVE | |||
| 00251 | 1 77777 1 00252 | 223 | TXI | NXT3,1,−1 EACH | |||
| 00252 | 1 77777 2 00253 | 224 | NXT3 | TXI | NXT4,2,−1 CLASS | ||
| 00253 | 1 77776 4 00254 | 225 | NXT4 | TXI | NXT5,4,−2 FOLLOWED | ||
| 00254 | 0 16200 0 00241 | 226 | NXT5 | TQP | CLASS BY ITS | ||
| 00255 | 0 60200 2 03550 | 227 | L(NEQ) | SLW | NEWEQ,2 CHECK | ||
| 00256 | 1 77777 2 00257 | 228 | TXI | NXT6,2,−1 SUM | |||
| 00257 | 3 00001 4 00240 | 229 | NXT6 | TXH | EQCHS,4,1 INTO NEWEQ. | ||
| 00260 | −0 75400 2 00000 | 230 | PXD | ,2 COMPUTE | |||
| 00261 | 0 76000 0 00006 | 231 | COM | THE | |||
| 00262 | 0 40100 0 00425 | 232 | ADM | DECR1 NEW | |||
| 00263 | 0 62200 0 00613 | 233 | STD | WRDCNT WORDCOUNT | |||
| 00264 | 0 77100 0 00022 | 234 | ARS | 18 AND | |||
| 00265 | 0 73400 1 00000 | 235 | PAX | ,1 THE | |||
| 00266 | 0 40000 0 00255 | 236 | ADD | L(NEQ) NEW | |||
| 00267 | 0 62100 0 00362 | 237 | STA | CADDRM MEMORY ADDRESS, AND | |||
| 00270 | 0 07400 4 00351 | 238 | EMPTY4 | TSX | 5PS3D3,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 | 244 | 5P11CD | CLA | L(9) PICKUP CLOSUB TABLE NUMBER, AND | ||
| 00272 | 0 07400 4 00304 | 245 | TSX | 5PS1R,4 * GO READ IN CLOSUB TABLE. | |||
| 00273 | 0 50000 0 00351 | 246 | CLA | SETDRM SET DRUM ROUTINE | |||
| 00274 | 0 40000 0 00415 | 247 | ADD | L(2) TO WRITE ONTO | |||
| 00275 | 0 60100 0 00351 | 248 | STO | SETDRM DRUM3. | |||
| 00276 | −3 00000 1 00301 | 249 | TXL | EMPTY5,1,0 IF THERE WERE ENTRIES MADEIN CLOSUB | |||
| 00277 | 0 07400 4 00344 | 250 | TSX | 5PS3D,4 * GO WRITE CLOSUB ONTO DRUM3. | |||
| 00300 | 1 00000 0 00302 | 251 | 5PXR1 | TXI | END5P,0,** THEN GO CALL SECTION SIX. | ||
| 00301 | 0 07400 4 00351 | 252 | EMPTY5 | TSX | 5PS3D3,4 * IF CLOSUB IS EMPTY, RECORD WRDCNT. | ||
| 00302 | 0 76200 0 00221 | 253 | END5P | RTB | SYSTAP SPACE OVER DIAGNOSTIC RECORD, | ||
| 00303 | 1 00000 0 00004 | 254 | 5PXR2 | TXI | SECSIX,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 | 264 | 5PS1R | LXA | TERC,2 SET TAPE ERROR COUNTER FOR 5 TRYS. | ||
| 00305 | 0 76200 0 00222 | 265 | READ | RTB | TABTAP SELECT TABLE TAPE FOR READING. | ||
| D | 00306 | −3 00000 0 00315 | 266 | OPSW1 | TXL | SKIP,0 IF OP SWITCH IS SET TO TXH, | |
| 00307 | 0 70000 0 00612 | 267 | CPY | TABNUM THEN COPY 1ST WORD INTO TABNUM. | |||
| D | 00310 | 3 00000 0 00315 | 268 | OPSW2 | TXH | SKIP,0 IF OP SWITCH IS SET TO TXH, | |
| 00311 | 0 34000 0 00612 | 269 | CAS | TABNUM THEN COMPARE C(AC) WITH TABNUM= | |||
| D | 00312 | 1 00000 0 00314 | 270 | TXI | STOP,0 IF INCORRECT RECORD - GO TO STOP. | ||
| 00313 | 1 00000 0 00315 | 271 | 5PXR4 | TXI | SKIP,0,** IF EQUAL - THEN CONTINUE. | ||
| 00314 | 0 07400 4 00004 | 272 | STOP | TSX | DIAG,4 * IF INCORRECT RECORD - GO TO DIAG. | ||
| 00315 | 0 70000 0 00613 | 273 | SKIP | CPY | WRDCNT READ WORD COUNT, | ||
| 00316 | 0 53400 1 00413 | 274 | LXA | L(0),1 AND THEN READ | |||
| 00317 | 0 70000 1 00614 | 275 | COPY | CPY | BUFFER,1 COMPLETE TABLE | ||
| 00320 | 1 77777 1 00317 | 276 | TXI | COPY,1,−1 INTO BUFFER. | |||
| 00321 | 0 07400 4 00004 | 277 | TSX | DIAG,4 * IF END OF FILE -,GO TO DIAGNOSTIC. | |||
| 00322 | 0 76600 0 00333 | 278 | IOD | WHEN DONE, | |||
| 00323 | −0 76000 0 00012 | 279 | RTT | IF TAPE RECORD | |||
| D | 00324 | 1 00000 0 00326 | 280 | TXI | RTTON,0 WAS READ CORRECTLY, | ||
| 00325 | 0 02000 4 00001 | 281 | TRA | 1,4 * RETURN TO MAIN ROUTINE. | |||
| 00326 | 0 76400 0 00202 | 282 | RTTON | BST | TABTAP OTHERWISE, BACKSPACE TAPE, AND | ||
| 00327 | 2 00001 2 00305 | 283 | TIX | READ,2,1 GO REREAD RECORD UNLESS | |||
| 00330 | 0 07400 4 00004 | 284 | TSX | DIAG,4 * 5 ATTEMPTS FAILED - GO TO DIAG. | |||
| 285 | END OF PROGRAM 5PS1R. | ||||||
| 286 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 287 | |||||||
| 288 | 5PS2C,4/ CALLS=5PS4W. CALLERS=5P1ASC,5P2FXC,5P4FLC,5P5R6C. | ||||||
| 289 | COMPILE 4-WORD INSTRUCTIONS FROM BUFFER ENTRIES. | ||||||
| 00331 | −0 63400 4 00313 | 290 | 5PS2C | SXD | 5PXR4,4 SAVE C(XR4) FOR EXIT. | ||
| 00332 | 0 53400 2 00413 | 291 | LXA | L(0),2 MOVE | |||
| 00333 | 0 50000 2 00614 | 292 | COMP | CLA | BUFFER,2 ENTRY | ||
| 00334 | 0 60100 0 00443 | 293 | STO | WORD3 INTO WORD3, | |||
| 00335 | 0 07400 4 00370 | 294 | TSX | 5PS4W,4 * AND GO COMPILE INSTRUCTION. | |||
| 00336 | 1 00001 1 00337 | 295 | TXI | TEST,1,1 IF NO ENTRIES REMAIN, | |||
| 00337 | −3 00000 1 00342 | 296 | TEST | TXL | EXIT2,1,0 THEN TAKE EXIT2. | ||
| 00340 | 0 60000 0 00441 | 297 | STZ | WORD1 SET WORD1 TO ZERO, | |||
| 00341 | 1 77777 2 00333 | 298 | TXI | COMP,2,−1 AND COMPILE SUCCEEDING ENTRIES. | |||
| 00342 | −0 53400 4 00313 | 299 | EXIT2 | LXD | 5PXR4,4 RESTORE C(XR4), AND | ||
| 00343 | 0 02000 4 00001 | 300 | TRA | 1,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 | 306 | 5PS3D | CLA | WRDCNT SET C(XR1) | ||
| 00345 | 0 77100 0 00022 | 307 | 5PS3D1 | ARS | 18 EQUAL TO | ||
| 00346 | 0 73400 1 00614 | 308 | 5PS3D2 | PAX | BUFFER,1 THE WORD COUNT | ||
| 00347 | 0 40000 0 00346 | 309 | ADD | 5PS3D2 AND INITIALIZE | |||
| 00350 | 0 62100 0 00362 | 310 | STA | CADDRM CAD ADDRESS. | |||
| 00351 | 0 76600 0 00303 | 311 | 5PS3D3 | WDR | 3 WRITE ONTO | ||
| 00352 | 0 76000 0 00000 | 312 | CLM | THE DRUM, | |||
| 00353 | 0 46000 0 00174 | 313 | LDA | DRMLOC ACCORDING TO SWITCH SETTING. | |||
| D | 00354 | −3 00000 0 00357 | 314 | DRMSW | TXL | DRMSW+3,0 IF OP SWITCH IS TXH, | |
| 00355 | 0 70000 0 00611 | 315 | CPY | EIFNO WRITE EIFNO FOLLOWED | |||
| 00356 | 0 70000 0 00611 | 316 | CPY | EIFNO BY ITS CHECKSUM. | |||
| 00357 | 0 70000 0 00613 | 317 | CPY | WRDCNT WRITE WORD COUNT FOLLOWED | |||
| 00360 | 0 70000 0 00613 | 318 | CPY | WRDCNT BY ITS CHECKSUM, AND THEN | |||
| 00361 | −3 00000 1 00367 | 319 | TXL | EXIT3,1,0 UNLESS THE BUFFER IS EMPTY, | |||
| 00362 | −0 70000 1 00000 | 320 | CADDRM | CAD | **,1 WRITE THE | ||
| 00363 | 2 00001 1 00362 | 321 | TIX | CADDRM,1,1 CONTENTS OF BUFFER | |||
| 00364 | 0 70000 0 00413 | 322 | CPY | L(0) ONTO DRUM FOLLOWED | |||
| 00365 | 0 60200 0 00440 | 323 | SLW | 5PERAS BY ZERO AND THEN | |||
| 00366 | 0 70000 0 00440 | 324 | CPY | 5PERAS THE LOGICAL CHECKSUM. | |||
| 00367 | 0 02000 4 00001 | 325 | EXIT3 | TRA | 1,4 * RETURN TO MAIN ROUTINE. | ||
| 326 | END OF PROGRAM 5PS3D. | ||||||
| 327 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | * | |||||
| 328 | |||||||
| 329 | 5PS4W,4/ CALLERS=5P6FTC,5PS2C. | ||||||
| 330 | MOVE 4-WORD INSTRUCTION INTO CIB, AND WRITE CIB ONTO TAPE3. | ||||||
| 00370 | −0 63400 1 00300 | 331 | 5PS4W | SXD | 5PXR1,1 SAVE C(XR1) AND | ||
| 00371 | −0 63400 2 00303 | 332 | SXD | 5PXR2,2 SAVE C(XR2). | |||
| 00372 | −0 53400 2 00044 | 333 | LXD | BBOX,2 IF THE NUMBER OF | |||
| 00373 | 3 77634 2 00402 | 334 | TXH | MOVE−1,2,−100 WORDS ENTERED = 100, | |||
| 00374 | 0 76600 0 00223 | 335 | WTB | CITTAP THEN | |||
| 00375 | 0 53400 1 00413 | 336 | LXA | L(0),1 WRITE | |||
| 00376 | 0 70000 1 00445 | 337 | WRITE | CPY | CIB,1 THE CONTENTS | ||
| 00377 | 1 00001 2 00400 | 338 | TXI | TESTB,2,1 OF THE CIT | |||
| 00400 | −3 00000 2 00402 | 339 | TESTB | TXL | MOVE−1,2,0 BUFFER | ||
| 00401 | 1 77777 1 00376 | 340 | TXI | WRITE,1,−1 ONTO TAPE3. | |||
| 00402 | 0 53400 1 00417 | 341 | LXA | L(4),1 MOVE | |||
| 00403 | 0 50000 1 00445 | 342 | MOVE | CLA | WORD1+4,1 NEW | ||
| 00404 | 0 60100 2 00445 | 343 | STO | CIB,2 4 WORD | |||
| 00405 | 1 77777 2 00406 | 344 | TXI | TESTA,2,−1 INSTRUCTION | |||
| 00406 | 2 00001 1 00403 | 345 | TESTA | TIX | MOVE,1,1 INTO CIT BUFFER. | ||
| 00407 | −0 63400 2 00044 | 346 | SXD | BBOX,2 ADJUST BUFFER COUNT. | |||
| 00410 | −0 53400 1 00300 | 347 | LXD | 5PXR1,1 RESTORE C(XR1), | |||
| 00411 | −0 53400 2 00303 | 348 | LXD | 5PXR2,2 RESTORE C(XR2), AND | |||
| 00412 | 0 02000 4 00001 | 349 | TRA | 1,4 * EXIT TO MAIN ROUTINE. | |||
| 350 | END DF PROGRAM 5PS4W. | ||||||
| 351 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | * | |||||
| 352 | |||||||
| 353 | |||||||
| 354 | CONSTANTS USED BY 5 PRIME. | ||||||
| 00413 | 0 00000 0 00000 | 355 | L(0) | PZE | 0 | ||
| 00414 | 0 00000 0 00001 | 356 | L(1) | PZE | 1 | ||
| 00415 | 0 00000 0 00002 | 357 | L(2) | PZE | 2 | ||
| 00416 | 0 00000 0 00003 | 358 | L(3) | PZE | 3 | ||
| 00417 | 0 00000 0 00004 | 359 | L(4) | PZE | 4 | ||
| 00420 | 0 00000 0 00005 | 360 | L(5) | PZE | 5 | ||
| 00421 | 0 00000 0 00007 | 361 | L(7) | PZE | 7 | ||
| 00422 | 0 00000 0 00010 | 362 | L(8) | PZE | 8 | ||
| 00423 | 0 00000 0 00011 | 363 | L(9) | PZE | 9 | ||
| 00424 | 0 00000 0 00012 | 364 | L(10) | PZE | 10 | ||
| 00425 | 0 00001 0 00000 | 365 | DECR1 | PZE | 0,0,1 | ||
| 00426 | 020000000000 | 366 | FIXSYM | BCD | 1200000 | ||
| 00427 | 030000000000 | 367 | FLOSYM | BCD | 1300000 | ||
| 00430 | 060000000000 | 368 | SIXSYM | BCD | 1600000 | ||
| 00431 | 462363000000 | 369 | OCTLOP | BCD | 1OCT000 | ||
| 00432 | 222324000000 | 370 | 4MATOP | BCD | 1BCD000 | ||
| 00433 | +233000000000 | 371 | SIX | OCT | 233000000000,77777,0,1000000,0 | ||
| 00434 | +000000077777 | 372 | |||||
| 00435 | +000000000000 | 373 | |||||
| 00436 | +000001000000 | 374 | |||||
| 00437 | +000000000000 | 375 | |||||
| 376 | END OF 5 PRIME CONSTANTS. | ||||||
| 377 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 378 | |||||||
| 379 | WORKING STORAGE USED BY 5 PRIME. | ||||||
| 00440 | 380 | 5PERAS | BSS | 1 | |||
| 00441 | 050000000000 | 381 | WORD1 | BCD | 1500000 | ||
| 00442 | 635121000000 | 382 | WORD2 | BCD | 1TRA000 | ||
| 00443 | 000000000000 | 383 | WORD3 | BCD | 1000000 | ||
| 00444 | 000000000000 | 384 | WORD4 | BCD | 1000000 | ||
| 00445 | 385 | CIB | BSS | 100 | |||
| 00611 | 386 | EIFNO | BSS | 1 | |||
| 00612 | 387 | TABNUM | BSS | 1 | |||
| 00613 | 388 | WRDCNT | BSS | 1 | |||
| 00614 | 389 | BUFFER | BSS | 1500 | |||
| 03550 | 390 | NEWEQ | BSS | 1500 | |||
| 391 | END OF 5 PRIME WORKING STORAGE. | ||||||
| 392 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||||||
| 393 | |||||||
| 394 | |||||||
| 395 | SYNONYMS USED BY 5 PRIME. | ||||||
| 00351 | 396 | SETDRM | SYN | 5PS3D3 LOCATION OF WDR INSTRUCTION. | |||
| 00420 | 397 | TERC | SYN | L(5) TAPE ERROR COUNTER. | |||
| 00001 | 398 | SYSTAP | SYN | 1 FORTRAN SYSTEM TAPE. | |||
| 00002 | 399 | TABTAP | SYN | 2 TABLE TAPE. | |||
| 00003 | 400 | CITTAP | SYN | 3 COMPILED INSTRUCTION TAPE. | |||
| 00004 | 401 | DIAG | SYN | 4 DIAGNOSTIC ROUTINE. | |||
| 00004 | 402 | SECSIX | SYN | 4 SECTION SIX = NEXT SECTION. | |||
| 403 | END OF 5 PRIME SYNONYMS. | ||||||
| 404 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | * | |||||
| 405 | |||||||
| 406 | |||||||