CLEAR STORAGE 1 ,008015,022026,030037,044,049,053053N000000N00001026 1 CLEAR STORAGE 2 L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0? 2 BOOTSTRAP ,008015,022029,036040,047054,061068,072/061039 ,0010011040 3 FORTRAN COMPILER -- DO PHASE -- PHASE 46 PAGE 1 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB FORTRAN COMPILER -- DO PHASE -- PHASE 46 102 CTL 6611 103 * 104 * STRINGS OF UNCONDITIONAL BRANCH INSTRUCTIONS AND PARAMETERS 105 * ARE GENERATED IN-LINE. AN UNCONDITIONAL BRANCH IS GENERATED 106 * TO FOLLOW THE LAST STATEMENT WITHIN THE RANGE OF THE DO 107 * 108 X1 EQU 89 0089 109 X2 EQU 94 0094 110 X3 EQU 99 0099 111 * 112 * STUFF IN THE RESIDENT AREA 113 * 114 PHASID EQU 110 PHASE ID, FOR SNAPSHOT DUMPS 0110 115 NEGAR2 EQU 142 LOOKS LIKE NEGARY -- SEE PHASE 20 0142 116 DOCNT EQU 151 COUNT OF DO STATEMENTS 0151 117 GLOBER EQU 184 GLOBAL ERROR FLAG -- WM MEANS ERROR 0184 118 SNAPSH EQU 333 CORE DUMP SNAPSHOT 0333 119 LOADNX EQU 700 LOAD NEXT OVERLAY 0700 120 CLEARL EQU 707 CS AT START OF OVERLAY LOADER 0707 121 CDOVLY EQU 769 1 IF RUNNING FROM CARDS, N IF FROM TAPE 0769 122 LOADXX EQU 793 EXIT FROM OVERLAY LOADER 0793 123 * 124 ORG 838 0838 125 LOADDD EQU *&1 LOAD ADDRESS 0838 126 838 BEGINN SW GM,GM3 7 0838 , V98 W26 4 127 845 SW GM4,GM2 7 0845 , W31 W22 4 128 852 MCW X3,SX3 7 0852 M 099 W37 4 129 859 LOOP BW DONE,0&X1 8 0859 V V33 0|0 1 4 130 867 MCW KLESS,2&X1 MARK TOP OF CODE -- BOTTOM OF FREE 7 0867 M W38 0|2 4 131 874 SBR TSTLES&6,2&X1 7 0874 H S65 0|2 5 132 881 C 0&X1 4 0881 C 0|0 5 133 885 SAR X1 4 0885 Q 089 5 134 889 C 2&X1,KD DO STATEMENT? 7 0889 C 0|2 W39 5 135 896 BU ALMOST NO 5 0896 B V26 / 5 136 901 CW 111,112 7 0901 ) 111 112 5 137 908 CW 113,114 7 0908 ) 113 114 6 138 915 MCW 5&X1,X2 ADDRESS OF SEQUENCE NUMBER 7 0915 M 0|5 094 6 139 922 MCW 0&X2,SEQNO 7 0922 M 0!0 W42 6 140 929 MCW 0&X1,X2 7 0929 M 0|0 094 6 141 936 SAR X1 4 0936 Q 089 6 142 940 MCW 0&X2,SEQEND 7 0940 M 0!0 W45 6 143 947 ZA SEQNO,SEQDIF 7 0947 ? W42 W48 7 144 954 S SEQEND,SEQDIF 7 0954 S W45 W48 7 145 961 MCW NOP,SWICH1 7 0961 M W49 S12 7 146 968 BWZ MSG38,SEQDIF,B ILLEGAL RANGE IF POSITIVE 8 0968 V T97 W48 B 7 147 976 MCW X1,X2 7 0976 M 089 094 7 FORTRAN COMPILER -- DO PHASE -- PHASE 46 PAGE 2 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 983 MCW KB3,F5 7 0983 M W52 W21 8 149 990 MCW KT,LONGOP 7 0990 M W53 W27 8 150 997 MCW BRANCH,SWICH2 7 0997 M W54 S16 8 151 1 004 NESTED C 0&X2 DOWN TO BODY OF STMT BELOW DO 4 1004 C 0!0 8 152 1 008 C 1 1008 C 8 153 1 009 SAR X2 4 1009 Q 094 8 154 1 013 C 2&X2,KD IS IT A DO STATEMENT? 7 1013 C 0!2 W39 8 155 1 020 BU NOTDO 5 1020 B |90 / 9 156 1 025 MCW 0&X2,X3 7 1025 M 0!0 099 9 157 1 032 C 0&X3,SEQNO PROPERLY NESTED? 7 1032 C 0?0 W42 9 158 1 039 BH NESTED YES 5 1039 B |04 U 9 159 1 044 C 0&X3,SEQEND 7 1044 C 0?0 W45 9 160 1 051 BH MSG39 ILLEGAL DO NESTING 5 1051 B U42 U 9 161 1 056 BCE *&8,1&X2,H CO-ENDING? 8 1056 B |71 0!1 H 10 162 1 064 MCW KE,1&X2 NOT CO-ENDING 7 1064 M W55 0!1 10 163 1 071 BL NOTDO 5 1071 B |90 T 10 164 1 076 MCW KH,1&X2 CO-ENDING AFTER ALL 7 1076 M W56 0!1 10 165 1 083 MCW 5&X2,F5 7 1083 M 0!5 W21 10 166 1 090 NOTDO BCE COEND,4&X1,H 8 1090 B /20 0|4 H 11 167 1 098 MCW NOP,SWICH2 7 1098 M W49 S16 11 168 1 105 BCE *&8,4&X1,} 8 1105 B /20 0|4 } GMARK 11 169 1 113 MCW BRANCH,LONGOP 7 1113 M W54 W27 11 170 1 120 COEND MCW SEQEND,LONG 7 1120 M W45 W34 11 171 1 127 SW 6&X1 4 1127 , 0|6 12 172 1 131 MCW 8&X1,SHORT 7 1131 M 0|8 W25 12 173 1 138 MCW 8&X1,F6 7 1138 M 0|8 W30 12 174 * 175 * TEST SYNTAX AND GENERATE CODE 176 * 177 1 145 GEN B SUB 4 1145 B T01 12 178 1 149 DCW @,@ 1 1149 12 179 1 152 DSA F4 3 1152 W18 12 180 1 153 B SUB 4 1153 B T01 12 181 1 157 DCW @#@ 1 1157 13 182 1 160 DSA F1 3 1160 W09 13 183 1 161 B SUB 4 1161 B T01 13 184 1 165 DCW @,@ 1 1165 13 185 1 168 DSA F2 3 1168 W12 13 186 1 169 BW NRBOT,0&X1 8 1169 V T86 0|0 1 13 187 1 177 B SUB 4 1177 B T01 13 188 1 181 DCW @,@ 1 1181 14 189 1 184 DSA F3 3 1184 W15 14 190 1 185 BW BOTTOM,0&X1 8 1185 V /97 0|0 1 14 191 1 193 B MSG40 SYNTAX ERROR 4 1193 B U80 14 192 * 193 1 197 BOTTOM MCW SX3,X3 7 1197 M W37 099 14 194 1 204 MN 0&X1 4 1204 D 0|0 14 195 1 208 SAR X1 4 1208 Q 089 14 196 1 212 SWICH1 NOP TSTLES 4 1212 N S59 15 197 1 216 SWICH2 NOP SKIP 4 1216 N S40 15 FORTRAN COMPILER -- DO PHASE -- PHASE 46 PAGE 3 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 1 220 A KP1,DOCNT 7 1220 A W57 151 15 199 1 227 LCA LONG,0&X3 7 1227 L W34 0?0 15 200 1 234 LCA 1 1234 L 15 201 1 235 LCA 1 1235 L 15 202 1 236 SBR X3 4 1236 H 099 15 203 1 240 SKIP LCA SHORT,0&X3 7 1240 L W25 0?0 16 204 1 247 CHAIN 8 MACRO 205 LCA 1 1247 L GEN 16 206 LCA 1 1248 L GEN 16 207 LCA 1 1249 L GEN 16 208 LCA 1 1250 L GEN 16 209 LCA 1 1251 L GEN 16 210 LCA 1 1252 L GEN 16 211 LCA 1 1253 L GEN 17 212 LCA 1 1254 L GEN 17 213 1 255 SBR SX3 4 1255 H W37 17 214 1 259 TSTLES BCE LOOP,0,< 8 1259 B 859 000 < 17 215 1 267 CS 332 4 1267 / 332 17 216 1 271 CS 1 1271 / 17 217 1 272 CC 1 2 1272 F 1 17 218 1 274 MCW ERROR2,270 7 1274 M W93 270 18 219 1 281 W 1 1281 2 18 220 1 282 CC 1 2 1282 F 1 18 221 1 284 BCE HALT,CDOVLY,1 8 1284 B S97 769 1 18 222 1 292 RWD 1 5 1292 U %U1 R 18 223 1 297 HALT H HALT 4 1297 . S97 18 224 * 225 * CHECK THE NEXT CHARACTER AGAINST THE ONE AT 0&X1, THEN 226 * CHECK THAT THE NEXT THREE HAVE NUMERIC PARTS IN 0..9, 227 * THAT IS, THEY CONSTITUTE AN ADDRESS. 228 * 229 1 301 SUB SBR X2 4 1301 H 094 18 230 1 305 C 0&X1,0&X2 7 1305 C 0|0 0!0 19 231 1 312 SAR X1 4 1312 Q 089 19 232 1 316 BU MSG40 SYNTAX ERROR IF NOT THE EXPECTED CHAR 5 1316 B U80 / 19 233 1 321 MCW 3&X2,*&7 7 1321 M 0!3 T34 19 234 1 328 MCW 0&X1,0 7 1328 M 0|0 000 19 235 1 335 S W1 4 1335 S W94 19 236 1 339 GOTDIG A KP1,W1 7 1339 A W57 W94 20 237 1 346 BCE 4&X2,W1,D EXIT IF THREE TIMES THROUGH LOOP 8 1346 B 0!4 W94 D 20 238 1 354 MN 0&X1,*&12 7 1354 D 0|0 T72 20 239 1 361 SAR X1 4 1361 Q 089 20 240 1 365 BCE GOTDIG,DIGITS,0 8 1365 B T39 X04 0 20 241 1 373 CHAIN 9 MACRO 242 BCE 1 1373 B GEN 20 243 BCE 1 1374 B GEN 20 244 BCE 1 1375 B GEN 21 245 BCE 1 1376 B GEN 21 246 BCE 1 1377 B GEN 21 247 BCE 1 1378 B GEN 21 FORTRAN COMPILER -- DO PHASE -- PHASE 46 PAGE 4 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 248 BCE 1 1379 B GEN 21 249 BCE 1 1380 B GEN 21 250 BCE 1 1381 B GEN 21 251 1 382 B MSG40 SPECIAL CHARACTER MEANS SYNTAX ERROR 4 1382 B U80 22 252 * 253 1 386 NRBOT MCW NEGAR2,F3 7 1386 M 142 W15 22 254 1 393 B BOTTOM 4 1393 B /97 22 255 * 256 * ILLEGAL RANGE OF DO 257 * 258 1 397 MSG38 CS 332 4 1397 / 332 22 259 1 401 CS 1 1401 / 22 260 1 402 SW GLOBER 4 1402 , 184 22 261 1 406 MN SEQNO,245 7 1406 D W42 245 22 262 1 413 MN 1 1413 D 23 263 1 414 MN 1 1414 D 23 264 1 415 MCW ERR38 4 1415 M X46 23 265 1 419 W 1 1419 2 23 266 1 420 BCV *&5 5 1420 B U29 @ 23 267 1 425 B *&3 4 1425 B U31 23 268 1 429 CC 1 2 1429 F 1 23 269 1 431 SET1 MCW BRANCH,SWICH1 7 1431 M W54 S12 24 270 1 438 B GEN 4 1438 B /45 24 271 * 272 * ILLEGAL NESTING 273 * 274 1 442 MSG39 CS 332 4 1442 / 332 24 275 1 446 CS 1 1446 / 24 276 1 447 SW GLOBER 4 1447 , 184 24 277 1 451 MN SEQNO,241 7 1451 D W42 241 24 278 1 458 MN 1 1458 D 24 279 1 459 MN 1 1459 D 25 280 1 460 MCW ERR39 4 1460 M X84 25 281 1 464 W 1 1464 2 25 282 1 465 BCV *&5 5 1465 B U74 @ 25 283 1 470 B *&3 4 1470 B U76 25 284 1 474 CC 1 2 1474 F 1 25 285 1 476 B SET1 4 1476 B U31 25 286 * 287 * SYNTAX ERROR 288 * 289 1 480 MSG40 CS 332 4 1480 / 332 26 290 1 484 CS 1 1484 / 26 291 1 485 SW GLOBER 4 1485 , 184 26 292 1 489 MN SEQNO,235 7 1489 D W42 235 26 293 1 496 MN 1 1496 D 26 294 1 497 MN 1 1497 D 26 295 1 498 MCW ERR40 4 1498 M Y16 26 296 1 502 W 1 1502 2 27 297 1 503 BCV *&5 5 1503 B V12 @ 27 FORTRAN COMPILER -- DO PHASE -- PHASE 46 PAGE 5 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 298 1 508 B *&3 4 1508 B V14 27 299 1 512 CC 1 2 1512 F 1 27 300 1 514 C 1&X1 4 1514 C 0|1 27 301 1 518 SAR X1 4 1518 Q 089 27 302 1 522 B TSTLES 4 1522 B S59 27 303 * 304 1 526 ALMOST SBR X1,5&X1 7 1526 H 089 0|5 28 305 1 533 DONE MCW SX3,X3 7 1533 M W37 099 28 306 1 540 MN 0&X3 4 1540 D 0?0 28 307 1 544 SAR X2 4 1544 Q 094 28 308 1 548 CSLOOP CS 0&X2 4 1548 / 0!0 28 309 1 552 SBR X2 4 1552 H 094 28 310 1 556 C 0&X2,1899 SHOULD THIS BE @1899@??? 7 1556 C 0!0 Y99 28 311 1 563 BU CSLOOP 5 1563 B V48 / 29 312 1 568 BSS SNAPSH,E 5 1568 B 333 E 29 313 1 573 SBR LOADXX&3,1175 7 1573 H 796 /75 29 314 1 580 SBR CLEARL&3,2499 7 1580 H 710 M99 29 315 1 587 LCA RESORT,PHASID 7 1587 L Y24 110 29 316 1 594 B LOADNX 4 1594 B 700 29 317 1 598 GM DC @}@ 1 1598 GMARK 29 318 * 319 * GENERATED CODE TEMPLATE 320 * 321 1 602 DCW @T924@ 4 1602 30 322 1 606 DCW @T921@ 4 1606 30 323 1 609 F1 DCW #3 3 1609 30 324 1 612 F2 DCW #3 3 1612 30 325 1 615 F3 DCW #3 3 1615 30 326 1 618 F4 DCW #3 3 1618 30 327 1 621 F5 DCW #3 3 1621 30 328 1 622 GM2 DC @}@ 1 1622 GMARK 30 329 1 625 SHORT DC #3 3 1625 30 330 1 626 GM3 DC @}@ 1 1626 GMARK 30 331 1 627 LONGOP DCW @T@ 1 1627 31 332 1 630 F6 DC #3 3 1630 31 333 1 631 GM4 DC @}@ 1 1631 GMARK 31 334 1 634 LONG DC #3 3 1634 31 335 * 336 * DATA 337 * 338 1 637 SX3 DCW #3 3 1637 31 339 1 638 KLESS DCW @<@ 1 1638 31 340 1 639 KD DCW @D@ 1 1639 31 341 1 642 SEQNO DCW #3 SEQUENCE NUMBER OF DO 3 1642 31 342 1 645 SEQEND DCW #3 SEQUENCE NUMBER OF FINAL STATEMENT OF DO 3 1645 31 343 1 648 SEQDIF DCW #3 SEQNO - SEQEND -- BETTER BE NEGATIVE 3 1648 31 344 1 649 NOP NOP 1 1649 N 32 345 1 652 KB3 DCW #3 3 1652 32 346 1 653 KT DCW @T@ 1 1653 32 347 1 654 BRANCH B 1 1654 B 32 FORTRAN COMPILER -- DO PHASE -- PHASE 46 PAGE 6 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 348 1 655 KE DCW @E@ 1 1655 32 349 1 656 KH DCW @H@ 1 1656 32 350 1 657 KP1 DCW &1 1 1657 32 351 1 693 ERROR2 DCW @MESSAGE 2 - OBJECT PROGRAM TOO LARGE@ 36 1693 33 352 1 694 W1 DCW #1 1 1694 33 353 1 704 DIGITS DCW @0123456789@ 10 1704 34 354 1 746 ERR38 DCW @ERROR 38 - ILLEGAL RANGE OF DO, STATEMENT @ 42 1746 36 355 1 784 ERR39 DCW @ERROR 39 - ILLEGAL NESTING, STATEMENT @ 38 1784 37 356 1 816 ERR40 DCW @ERROR 40 - DO SYNTAX, STATEMENT @ 32 1816 38 357 1 824 RESORT DCW @RESORT 1@ 8 1824 39 358 1 825 DCW @}@ 1 1825 GMARK 39 359 ORG 201 0201 360 203 DSA LOADDD LOAD ADDRESS FOR CARD-TO-TAPE PROGRAM 3 0203 838 40 361 EX BEGINN B 838 41 362 END / 000 080 FORTRAN COMPILER -- DO PHASE -- PHASE 46 PAGE 7 SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS ALMOST 1526 BEGINN 838 BOTTOM 1197 BRANCH 1654 CDOVLY 769 CLEARL 707 COEND 1120 CSLOOP 1548 DIGITS 1704 DOCNT 151 DONE 1533 ERR38 1746 ERR39 1784 ERR40 1816 ERROR2 1693 F1 1609 F2 1612 F3 1615 F4 1618 F5 1621 F6 1630 GEN 1145 GLOBER 184 GM 1598 GM2 1622 GM3 1626 GM4 1631 GOTDIG 1339 HALT 1297 KB3 1652 KD 1639 KE 1655 KH 1656 KLESS 1638 KP1 1657 KT 1653 LOADDD 838 LOADNX 700 LOADXX 793 LONG 1634 LONGOP 1627 LOOP 859 MSG38 1397 MSG39 1442 MSG40 1480 NEGAR2 142 NESTED 1004 NOP 1649 NOTDO 1090 NRBOT 1386 PHASID 110 RESORT 1824 SEQDIF 1648 SEQEND 1645 SEQNO 1642 SET1 1431 SHORT 1625 SKIP 1240 SNAPSH 333 SUB 1301 SWICH1 1212 SWICH2 1216 SX3 1637 TSTLES 1259 W1 1694 X1 89 X2 94 X3 99