1 /OS8 FORTRAN II COMPILER V5 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 // 10 / 11 / 12 / 13 / 14 /COPYRIGHT (C) 1971,1974,1975 15 /DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 16 / 17 / 18 / 19 /THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 20 /SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU- 21 /SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANT OTHER 22 /COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE 23 /TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO 24 /AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE 25 /SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. 26 / 27 / 28 /THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT 29 /NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 30 /EQUIPMRNT COROPATION. 31 / 32 /DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS 33 /SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 34 / 35 / 36 / 37 / 38 / 39 / 40 / 41 / SYMBOL TABLE FOR FORTRAN COMPILER (8K- PDP-8) 42 / FOR USE WITH DISK/DECTAPE MONITOR SYSTEM 43 / CHANGE LOCATION 'XFINI' TO A 'JMP I LFINI' THEN 44 /ASSEMBLE AND SAVE 45 / .PAL FORT.PA 46 / .PAL FPATCH.PA 47 / 48 / .LO FORT.BN$FPATCH.BN$ 49 / 50 / .SA SYS FORT 51 / 52 / 53 54 FIELD 0 55 *200 56 000200 2004 INBUF, TEXT /PDP-8 FORTRAN DEC-08-A2B1-5A/ 000201 2055 000202 7040 000203 0617 000204 2224 000205 2201 000206 1640 000207 0405 000210 0355 000211 6070 000212 5501 000213 6202 000214 6155 000215 6501 000216 0000 57 58 *1000 59 001000 6026 BEGIN, PLS /INITIALIZATION ROUTINE 60 001001 6046 TLS 61 001002 6014 RFC 62 001003 6201 CDF 00 63 001004 1262 TAD CM1300 /SET SYMBOL TABLE TO ZEROS (6300-7577 FIELD 1) 64 001005 3257 DCA INDX 65 001006 1265 TAD BSYMP 66 001007 3010 DCA TPTT 67 001010 3410 LP, DCA I TPTT 68 001011 2257 ISZ INDX 69 001012 5210 JMP LP 70 001013 1263 TAD CM60 71 001014 3257 DCA INDX 72 001015 1264 TAD BTTAB 73 001016 3010 DCA TPTT 74 001017 3410 DCA I TPTT /ZERO OUT TEMPORARY TABLES IN FIELD 0 75 001020 2257 ISZ INDX 76 001021 5217 JMP .-2 77 001022 6211 CDF 10 78 001023 1260 TAD MIN104 /ZERO EVERYTHING FROM ZERO TO 107 79 001024 3257 DCA INDX 80 001025 1261 TAD CP6 81 001026 3010 DCA TPTT 82 001027 3410 LPP, DCA I TPTT 83 001030 2257 ISZ INDX 84 001031 5227 JMP LPP 85 001032 1267 TAD TPT /MOVE DATA FROM TABLE TO FIELD 0 86 001033 3010 DCA TPTT 87 001034 6201 REP, CDF 00 88 001035 1410 TAD I TPTT 89 001036 7450 SNA /END OF FIELD 0 INITIALIZATION? 90 001037 5245 JMP DN /YES 91 001040 3256 DCA LOC 92 001041 1410 TAD I TPTT 93 001042 6211 CDF 10 94 001043 3656 DCA I LOC 95 001044 5234 JMP REP 96 001045 1410 DN, TAD I TPTT /MOVE DATA FROM TABLE TO FIELD 1 97 001046 7450 SNA /END FIELD 1 INITIALIZATION 98 001047 5254 JMP DNN /YES 99 001050 3256 DCA LOC 100 001051 1410 TAD I TPTT 101 001052 3656 DCA I LOC 102 001053 5245 JMP DN 103 001054 6212 DNN, CIF 10 104 001055 5666 JMP I STRT 105 001056 0000 LOC, 0 106 001057 0000 INDX, 0 107 001060 7673 MIN104, L7-ASSIGN 108 001061 0006 CP6, L7-1 109 001062 6500 CM1300, -1300 110 001063 7720 CM60, -60 111 001064 0707 BTTAB, ITTAB-1 112 001065 6277 BSYMP, BSYM-1 /BOTTOM OF TEMPORARY SYMBOL TABLE 113 001066 5362 STRT, FORST /STARTING POINT AFTER INITIALIZATION 114 TPTT=10 115 001067 1067 TPT, TABLE-1 116 TABLE, 117 001070 0150 PUNCH 118 001071 3372 LTTYPE 119 001072 0015 15 120 001073 2377 DOEND 121 001074 0045 45 122 001075 0740 FTTAB 123 001076 0051 51 124 001077 0710 ITTAB 125 001100 0047 47 126 001101 7575 TSYM-3 127 001102 0050 50 128 001103 7600 TSYM 129 001104 0055 55 130 001105 7753 -25 131 001106 0056 56 132 001107 6300 BSYM 133 001110 0057 57 134 001111 6300 BSYM 135 001112 0071 71 136 001113 5777 5777 137 001114 0074 74 138 001115 3000 3000 139 001116 0103 MIKE4 140 001117 3377 3377 141 001120 0110 POINTZ 142 001121 3377 3377 143 001122 0172 BASE 144 001123 0200 INBUF 145 001124 0173 BASE2 146 001125 0300 INBUF+100 147 001126 2403 SCOUNT 148 001127 0000 0 149 001130 2404 SCOUNT+1 150 001131 0000 0 151 001132 2405 SCOUNT+2 152 001133 0000 0 153 001134 2762 QONE 154 001135 0000 0 155 001136 2763 QONE+1 156 001137 0000 0 157 001140 2764 QONE+2 158 001141 0000 0 159 001142 2765 QONE+3 160 001143 0000 0 161 001144 2766 QONE+4 162 001145 0000 0 163 001146 2767 QONE+5 164 001147 0000 0 165 001150 2770 QONE+6 166 001151 0000 0 167 001152 0000 0 /THIS TERMINATES FIELD ZERO INITIALIZATION 168 001153 2375 2375 169 001154 4000 4000 170 001155 2376 2376 171 001156 4000 4000 172 001157 2377 2377 173 001160 4000 4000 174 001161 0000 0 175 176 / ERROR MESSAGE TABLE AND TEXT 177 178 001162 7546 ELIST, -ERR1-1; EMSG1 /ILLEGAL CONTINUATION 001163 1272 179 001164 7077 -ERR2-1; IE /ILLEGAL ARITHMETIC EXPRESSION 001165 1305 180 001166 6733 -ERR3-1; IE 001167 1305 181 001170 6541 -ERR6-1; IE 001171 1305 182 001172 6430 -ERR9-1; EMSG3 001173 1324 183 001174 6247 -ERR10-1; EMSG4 001175 1335 184 001176 6123 -ERR12-1; EMSG4 001177 1335 185 001200 5710 -ERR14-1; EMSG4 001201 1335 186 001202 5567 -ERR15-1; EMSG3 001203 1324 187 001204 5557 -ERR16-1; EMSG5 001205 1346 188 001206 5242 -ERR17-1; EMSG6 001207 1363 189 001210 5161 -ERR18-1; SE /SYNTAX ERROR 001211 1376 190 001212 4757 -ERR28-1; SE 001213 1376 191 001214 4733 -ERR29-1; SE 001215 1376 192 001216 4726 -ERR30-1; EMSG8 /ILLEGAL VARIABLE 001217 1405 193 001220 4514 -ERR31-1; SE 001221 1376 194 001222 4320 -ERR35-1; SE 001223 1376 195 001224 2252 -ERR36-1; EMSG36 001225 1564 196 001226 4012 -ERR37-1; CE 001227 1533 197 001230 4156 -ERR38-1; EMSG9 /ILLEGAL DO NESTING 001231 1416 198 001232 3667 -ERR39-1; SE 001233 1376 199 001234 3507 -ERR40-1; IE 001235 1305 200 001236 3320 -ERR41-1; EMSG10 /EXPRESSION TOO BIG 001237 1436 201 001240 2505 -ERR42-1; IE 001241 1305 202 001242 2445 -ERR43-1; EMSG11 /MIXED MODE 001243 1457 203 001244 2366 -ERR44-1; EMSG9 001245 1416 204 001246 1765 -ERR47-1; SF /SUBR. OR FUNCT. STMT. NOT FIRST 001247 1544 205 001250 1623 -ERR48-1; SE 001251 1376 206 001252 1543 -ERR50-1; SE 001253 1376 207 001254 1416 -ERR51-1; SE 001255 1376 208 001256 0647 -ERR52-1;IE 001257 1305 209 001260 1266 -ERR53-1; EMSG12 /ILLEGAL SUBSCRIPT 001261 1472 210 001262 5342 -ERR54-1; EMSG13 /ILLEGAL EQUIVALENCING 001263 1505 211 001264 0477 -ERR59-1; SE 001265 1376 212 001266 1370 -ERR60-1; EMSG3 001267 1324 213 001270 0000 0; EMSG14 /COMPILER MALFUNCTION 001271 1520 214 215 001272 1114 EMSG1, TEXT /ILLEGAL CONTINUATION/ 001273 1405 001274 0701 001275 1440 001276 0317 001277 1624 001300 1116 001301 2501 001302 2411 001303 1716 001304 0000 216 001305 1114 IE, TEXT /ILLEGAL ARITHMETIC EXPRESSION/ 001306 1405 001307 0701 001310 1440 001311 0122 001312 1124 001313 1015 001314 0524 001315 1103 001316 4005 001317 3020 001320 2205 001321 2323 001322 1117 001323 1600 217 001324 1114 EMSG3, TEXT /ILLEGAL STATEMENT/ 001325 1405 001326 0701 001327 1440 001330 2324 001331 0124 001332 0515 001333 0516 001334 2400 218 001335 1114 EMSG4, TEXT /ILLEGAL CONSTANT/ 001336 1405 001337 0701 001340 1440 001341 0317 001342 1623 001343 2401 001344 1624 001345 0000 219 001346 1114 EMSG5, TEXT /ILLEGAL STATEMENT NUMBER/ 001347 1405 001350 0701 001351 1440 001352 2324 001353 0124 001354 0515 001355 0516 001356 2440 001357 1625 001360 1502 001361 0522 001362 0000 220 001363 2331 EMSG6, TEXT /SYMBOL TABLE EXCEEDED/ 001364 1502 001365 1714 001366 4024 001367 0102 001370 1405 001371 4005 001372 3003 001373 0505 001374 0405 001375 0400 221 001376 2331 SE, TEXT /SYNTAX ERROR/ 001377 1624 001400 0130 001401 4005 001402 2222 001403 1722 001404 0000 222 001405 1114 EMSG8, TEXT /ILLEGAL VARIABLE/ 001406 1405 001407 0701 001410 1440 001411 2601 001412 2211 001413 0102 001414 1405 001415 0000 223 001416 1114 EMSG9, TEXT /ILLEGAL OR EXCESSIVE DO NESTING/ 001417 1405 001420 0701 001421 1440 001422 1722 001423 4005 001424 3003 001425 0523 001426 2311 001427 2605 001430 4004 001431 1740 001432 1605 001433 2324 001434 1116 001435 0700 224 001436 0122 EMSG10, TEXT /ARITHMETIC EXPRESSION TOO COMPLEX/ 001437 1124 001440 1015 001441 0524 001442 1103 001443 4005 001444 3020 001445 2205 001446 2323 001447 1117 001450 1640 001451 2417 001452 1740 001453 0317 001454 1520 001455 1405 001456 3000 225 001457 1511 EMSG11, TEXT /MIXED MODE EXPRESSION/ 001460 3005 001461 0440 001462 1517 001463 0405 001464 4005 001465 3020 001466 2205 001467 2323 001470 1117 001471 1600 226 001472 0530 EMSG12, TEXT /EXCESSIVE SUBSCRIPTS/ 001473 0305 001474 2323 001475 1126 001476 0540 001477 2325 001500 0223 001501 0322 001502 1120 001503 2423 001504 0000 227 001505 1114 EMSG13, TEXT /ILLEGAL EQUIVALENCING/ 001506 1405 001507 0701 001510 1440 001511 0521 001512 2511 001513 2601 001514 1405 001515 1603 001516 1116 001517 0700 228 001520 0317 EMSG14, TEXT /COMPILER MALFUNCTION/ 001521 1520 001522 1114 001523 0522 001524 4015 001525 0114 001526 0625 001527 1603 001530 2411 001531 1716 001532 0000 229 001533 2516 CE, TEXT /UNBALANCED QUOTES/ 001534 0201 001535 1401 001536 1603 001537 0504 001540 4021 001541 2517 001542 2405 001543 2300 230 001544 2325 SF, TEXT /SUBR. OR FUNCT. STMT. NOT FIRST/ 001545 0222 001546 5640 001547 1722 001550 4006 001551 2516 001552 0324 001553 5640 001554 2324 001555 1524 001556 5640 001557 1617 001560 2440 001561 0611 001562 2223 001563 2400 231 001564 0122 EMSG36, TEXT /ARRAY TOO LARGE/ 001565 2201 001566 3140 001567 2417 001570 1740 001571 1401 001572 2207 001573 0500 232 ITTAB=710 233 FTTAB=ITTAB+30 234 DOEND=2377 235 BSYM=6300 236 TSYM=7600 237 238 / THE STATEMENT TYPE TABLE FOLLOWS 239 *2600 240 002600 7361 STYPE, 7361 /-DO 241 002601 0000 0000 242 002602 3415 LDO 243 002603 6672 6672 /-IF 244 002604 0000 0000 245 002605 3236 LIF 246 002606 7061 7061 /-GO 247 002607 5361 5361 /-TO 248 002610 3000 LGOTO 249 002611 7477 7477 /-CA 250 002612 6364 6364 /-LL 251 002613 0600 CAL 252 002614 5573 5573 /-RE 253 002615 5353 5353 /-TU 254 002616 6400 LRET 255 002617 7461 7461 /-CO 256 002620 6154 6154 /-NT 257 002621 4000 LCONT 258 002622 5454 5454 /-ST 259 002623 6060 6060 /-OP 260 002624 4017 LSTOP 261 002625 5777 5777 /-PA 262 002626 5255 5255 /-US 263 002627 4013 LPAUSE 264 002630 5573 5573 /-RE 265 002631 7674 7674 /-AD 266 002632 6177 LREAD 267 002633 5056 5056 /-WR 268 002634 6654 6654 /-IT 269 002635 6173 LWRIT 270 002636 7161 7161 /-FO 271 002637 5563 5563 /-RM 272 002640 4070 LFRMAT 273 002641 7262 7262 /-EN 274 002642 7400 7400 /-D 275 002643 5400 LLAST 276 002644 7461 7461 /-CO 277 002645 6263 6263 /-MM 278 002646 2604 LCOMON 279 002647 7367 7367 /-DI 280 002650 6273 6273 /-ME 281 002651 2636 LDIMEN 282 002652 7257 7257 /-EQ 283 002653 5267 5267 /-UI 284 285 002654 7200 EQUI 286 002655 7167 -0611 /-FI 287 002656 6167 -1611 /-NI 288 002657 7366 LFIN 289 002660 5453 XXSUBR, 5453 /-SU 290 002661 7556 7556 /-BR 291 002662 4731 LSUB 292 002663 7153 7153 /-FU 293 002664 6175 6175 /-NC 294 002665 6000 LFUNC 295 002666 0000 0000 /THIS IS THE END OF LIST 296 002667 0000 AREA1, 0 297 002670 0000 AREA2, 0 298 299 / THE PRECEDENCE TABLE FOLLOWS, NON-ZERO PREC. OPERATORS APPEAR 300 002671 7733 -45 / PREC('%') = 7 NOTE: '%' REPLACES '**' 301 002672 0700 700 302 002673 7726 -52 / PREC('*') = 5 303 002674 0500 500 304 002675 7721 -57 / PREC('/') = 5 305 002676 0500 500 306 002677 7725 -53 / PREC('+') = 4 307 002700 0400 400 308 002701 7723 -55 / PREC('-') = 4 309 002702 0400 400 310 002703 7703 -75 / PREC('=') = 1 311 002704 0100 100 312 002705 7704 -74 / PREC('<') = 1 NOTE: '<' IMPLIES SUBSCRIPTED ASSIGNMENT 313 002706 0100 100 314 002707 0001 1 /THIS IS THE END OF THE TABLE 315 002710 6030 THOU, -1750 316 002711 7634 -144 317 002712 7766 -12 318 002713 7777 -1 319 320 / THE PERMANENT SYMBOL TABLE BEGINS HERE 321 *6000 322 006000 1501 1501 /MAIN 323 006001 1116 1116 324 006002 0001 0001 325 006003 0601 0601 /FAD 326 006004 0400 0400 327 006005 0001 0001 328 006006 2324 2324 /STO 329 006007 1700 1700 330 006010 0001 0001 331 006011 0623 0623 /FSB 332 006012 0200 0200 333 006013 0001 0001 334 006014 0615 0615 /FMP 335 006015 2000 2000 336 006016 0001 0001 337 006017 0604 0604 /FDV 338 006020 2600 2600 339 006021 0001 0001 340 006022 1520 1520 /MPY 341 006023 3100 3100 342 006024 0001 0001 343 006025 0411 0411 /DIV 344 006026 2600 2600 345 006027 0001 0001 346 006030 2205 2205 /READ 347 006031 0104 0104 348 006032 0001 0001 349 006033 2722 2722 /WRITE 350 006034 1124 1124 351 006035 0501 0501 352 006036 1117 1117 /IOH 353 006037 1000 1000 354 006040 0001 0001 355 006041 5060 5060 /(0 356 006042 0000 0000 357 006043 0001 0001 358 006044 1215 1215 /JMP 359 006045 2000 2000 360 006046 0001 0001 361 006047 1617 1617 /NOP 362 006050 2000 2000 363 006051 0001 0001 364 006052 0516 0516 /ENTRY 365 006053 2422 2422 366 006054 3101 3101 367 006055 0501 0501 /EAP 368 006056 2000 2000 369 006057 0001 0001 370 006060 2001 2001 /PAUSE 371 006061 2523 2523 372 006062 0501 0501 373 006063 2401 OPTADI, 2401 /TAD I 374 006064 0440 0440 375 006065 1101 1101 376 006066 2401 OPTAD, 2401 /TAD 377 006067 0400 0400 378 006070 0001 0001 379 006071 0403 OPDCA, 0403 /DCA 380 006072 0100 0100 381 006073 0001 0001 382 006074 1215 OPJMPI, 1215 /JMP I 383 006075 2040 2040 384 006076 1101 1101 385 006077 2205 2205 /RETRN 386 006100 2422 2422 387 006101 1601 1601 388 006102 0320 0320 /CPAGE 389 006103 0107 0107 390 006104 0501 0501 391 006105 2316 OPSNA, 2316 /SNA 392 006106 0100 0100 393 006107 0001 0001 394 006110 2320 2320 /SPC 395 006111 0300 0300 396 006112 0001 0001 397 006113 0301 0301 /CALL 398 006114 1414 1414 399 006115 0001 0001 400 006116 0313 0313 /CKIO 401 006117 1117 1117 402 006120 0001 0001 403 006121 1014 1014 /HLT 404 006122 2400 2400 405 006123 0001 0001 406 006124 0314 OPCLA, 0314 /CLA 407 006125 0100 0100 408 006126 0001 0001 409 006127 0614 0614 /FLOT 410 006130 1724 1724 411 006131 0001 0001 412 006132 1106 1106 /IFAD 413 006133 0104 0104 414 006134 0001 0001 415 006135 0311 0311 /CIA 416 006136 0100 0100 417 006137 0001 0001 418 006140 0310 0310 /CHS 419 006141 2300 2300 420 006142 0001 0001 421 006143 0611 0611 /FIX 422 006144 3000 3000 423 006145 0001 0001 424 006146 1123 1123 /ISTO 425 006147 2417 2417 426 006150 0001 0001 427 006151 2001 2001 /PAGE 428 006152 0705 0705 429 006153 0001 0001 430 006154 0214 BLCK, 0214 /BLOCK 431 006155 1703 1703 432 006156 1301 1301 433 006157 0516 0516 /END 434 006160 0400 0400 435 006161 0001 0001 436 006162 1401 1401 /LAP 437 006163 2000 2000 438 006164 0001 0001 439 006165 0317 0317 /COMMN 440 006166 1515 1515 441 006167 1601 1601 442 006170 1123 1123 /ISZ 443 006171 3200 3200 444 006172 0001 0001 445 006173 2325 2325 /SUBSC 446 006174 0223 0223 447 006175 0301 0301 448 006176 0425 DUMMY, 0425 /DUMMY 449 006177 1515 1515 450 006200 3101 3101 451 006201 0122 0122 /ARG 452 006202 0700 0700 453 006203 0001 0001 454 006204 0314 0314 /CLEAR 455 006205 0501 0501 456 006206 2201 2201 457 006207 1111 1111 /IIPOW 458 006210 2017 2017 459 006211 2701 2701 460 006212 0611 0611 /FIPOW 461 006213 2017 2017 462 006214 2701 2701 463 006215 1106 1106 /IFPOW 464 006216 2017 2017 465 006217 2701 2701 466 006220 0606 0606 /FFPOW 467 006221 2017 2017 468 006222 2701 2701 469 006223 0403 0403 /DCA I 470 006224 0140 0140 471 006225 1101 1101 472 006226 0103 0103 /ACH 473 006227 1000 1000 474 006230 0001 0001 475 006231 1720 OPEN, 1720 /OPEN 476 006232 0516 0516 477 006233 0001 0001 478 006234 0522 0522 /ERROR 479 006235 2217 2217 480 006236 2201 2201 481 006237 1116 1116 /INC 482 006240 0300 0300 483 006241 0001 0001 484 006242 0617 FORTR, 0617 /FORTR 485 006243 2224 2224 486 006244 2201 2201 487 006245 0315 OPCMA, 0315 /CMA 488 006246 0100 0100 489 006247 0001 0001 490 006250 1101 OPIAC, 1101 /IAC 491 006251 0300 0300 492 006252 0001 0001 493 006253 0530 EXIT, 0530 /EXIT 494 006254 1124 1124 495 006255 0001 0001 496 FIELD 1 497 *0 498 010000 0001 FIRSTF, 1 499 *7 500 010007 0000 L7, 0 501 010010 0000 L10, 0 502 010011 0000 L11, 0 503 010012 0000 L12, 0 /LAST LINE'S CONTENTS FOR OPTOMIZATION 504 010013 0000 0 505 010014 0000 L14, 0 506 010015 2377 L15, 2377 /POINTER INTO DOEND LIST 507 010016 0000 L16, 0 508 010017 0000 L17, 0 509 010020 0000 L20, 0 /FLAG, NON-ZERO IF '=' SEEN 510 010021 0000 L21, 0 511 010022 0000 L22, 0 /SUBSCRIPT NESTING LEVEL 512 010023 0000 L23, 0 /USED BY "DUMARG" AND "IOHAR" PATCH 513 010024 0000 L24, 0 /LINE POINTER 514 010025 0000 L25, 0 /HIGHEST SUBSCRIPT TEMP USED 515 010026 0000 L26, 0 /USED FOR DIMENSION INFORMATION 516 010027 0000 0 /UNUSED 517 010030 0000 L30, 0 /FOLLOWING EIGHT LOCS ARE USED BY ENTITY 518 010031 0000 L31, 0 519 010032 0000 L32, 0 520 010033 0000 L33, 0 521 010034 0000 L34, 0 522 010035 0000 L35, 0 523 010036 0000 L36, 0 524 010037 0000 L37, 0 525 010040 0000 L40, 0 /CONTAINS THE CURRENT TRIPLE NUMBER 526 010041 0000 L41, 0 /THIS IS THE POINTER INTO THE PUSH DOWN LIST 527 010042 0000 L42, 0 /THESE TWO LOCATIONS ARE USED BY THE TRIPLE PROCESSOR 528 010043 0000 L43, 0 / 529 010044 0000 L44, 0 /CONTAINS ONE FOR RIGHT OF EQUALS, ZERO FOR LEFT 530 010045 0740 L45, FTTAB /CONTAINS LARFEST FLOATING POINT TEMPORARY NUMBER USED 531 010046 0000 L46, 0 /CONTAINS NUMBER OF THE TRIPLE CURRENTLY IN THE AC 532 010047 7575 L47, 7575 /CONTAINS THREE LESS THAN START OF FCON TABLE 533 010050 7600 L50, 7600 /CONTAINS START OF DIMENSION TABLE 534 010051 0710 L51, ITTAB /CONTAINS LARGEST INTEGER TEMPORARY NUMBER USED 535 010052 0000 L52, 0 /CONTAINS ONE IF RETURN FROM GENER IS DESIRED FOR BALANCE 536 010053 0000 L53, 0 /CONTAINS THE LAST CREATED LABEL 537 010054 0000 L54, 0 /CONTAINS THE LABEL FOR THE CURRENT STATEMENT 538 010055 7753 L55, -25 /CONTAINS THE MAXIMUM ALLOWABLE NUMBER OF UNENDED DOS 539 010056 6300 L56, 6300 /CONTAINS BEGINNING OF SYMBOL TABLE 540 010057 6300 L57, 6300 /CONTAINS END OF SYMBOL TABLE 541 010060 0000 L60, 0 /"INDIRECT =" FLAG FOR S.S LEFT OF EQUALS SIGN 542 010061 0000 L61, 0 /NON-ZERO IF LAST STMT READ IS A COMMENT 543 010062 0000 L62, 0 /NEXT FOUR LOCATIONS USED BY GENER AND ENTITY 544 010063 0000 L63, 0 /CONTAINS THE CURRENT OPERATOR 545 010064 0000 L64, 0 /POINTS TO THE LAST OPERATOR IN THE STACK 546 010065 0000 L65, 0 /CONTAINS THE PRECEDENCE OF THE CURRENT OPERATOR 547 010066 0000 BPAREN, 0 /PARENTHESIS COUNTER 548 010067 0000 L67, 0 /ONE FOR FUNCTION AND ZERO FOR SUBROUTINE 549 010070 0000 L70, 0 /CONTAINS POINTER TO SUBPROGRAM NAME 550 010071 5777 L71, 5777 /BEGINNING OF PUSHDOWN LIST 551 010072 0000 L72, 0 /SET TO ONE IF SUBSCRIPT IS ENCOUNTERED 552 010073 0000 L73, 0 / 553 010074 3000 L74, 3000 /BEGINNING OF ERASABLE LOCATIONS USED FOR PARAMETERS 554 010075 0000 L75, 0 /SET TO ONE SUPPRESS /OUTPUT FROM COMPILER 555 010076 0000 L76, 0 / 556 010077 0000 L77, 0 /CONTAINS ADDRESS OF LAST ENTRY INTO FCON OR SYMBOL TABLE 557 /THE FOLLOWING THREE LOCS ARE USED BY THE 558 /LITERAL COLLECTER 559 010100 0000 COUNT2, 0 /NUMBER OF DIGITS TO RIGHT OF DECIMAL POINT 560 010101 0000 ESIGN, 0 /0 MEANS POSITIVE EXPONENT, 1 MEANS NEGATIVE 561 010102 0000 FPSW, 0 /0 MEANS INTEGER CONSTANT, 1 MEANS FLOATING POINT 562 010103 3377 MIKE4,MA, 3377 563 010104 0000 MIKE8,TOTAL, 0 564 010105 0000 INTA, 0 565 010106 0000 INTB,MIKE7, 0 566 010107 0000 SNUM,MB, 0 567 010110 3377 POINTZ, 3377 568 010111 0000 CHK, 0 569 010112 0000 IMPDO, 0 /"IMPLIED DO-LOOP IN PROGRESS" FLAG 570 010113 0000 KOUNT, 0 571 010114 1345 ASSIGN, LASIGN /ROUTINE TO PROCESS ASSIGNMENT STATEMENTS 572 010115 1340 PUTCH, LPUTCH /ROUTINE TO PUT A CHARACTER BACK IN THE INPUT BUFFER 573 010116 5243 PROP, LPROP /PRINTS OPCODES 574 010117 1364 PRCRL, LPRCRL /PRINTS CREATED LABELS 575 010120 2551 PRINT, LPRINT /PRINTS ONE ASCII CHAR 576 010121 2307 P2, LP2 /PRINT TWO PACKED ASCII CHARS 577 010122 0650 GETCH, LGETCH /GETS ONE CHARACTER OUT OF THE INPUT BUFFER 578 010123 7001 LUNCH, LLUNCH /PRINTS ERROR COMMENTS 579 010124 0670 MODE, LMODE /DETERMINES THE MODE OF THE ARGUMENT 580 010125 4325 LOOK, LLOOK /CHECKS FOR THE REST OF THE INPUT STATEMENT 581 010126 4166 ZZZ, LZZZ /PRINTS OUT STATEMENT LABELS 582 010127 1405 ENTITY, LENTT /GETS THE NEXT LOGICAL INPUT PARAMETER 583 010130 2406 SYMTAB, LSYMTB /ENTERS SYMBOLS INTO THE SYMBOL TABLE 584 010131 4271 DUMARG, LDMARG /SEES IF PARAMETER IS A DUMMY ARG OR SUBSCRIPT 585 010132 2247 PRSYM, LPRSYM /PRINTS SYMBOLS 586 010133 3344 CREATE, LCREAT /CREATES LABELS 587 010134 3200 PROTAC, LPRTAC /PRINTS CONTENTS OF AC IN OCTAL 588 010135 3357 PLAB, LPLAB /PRINTS LABELS 589 010136 4156 PIFF, LPIFF /PUTS OUT AN IFF FOR THE CONTENTS OF THE AC 590 010137 4200 TRIPL, LTRIPL /PROCESSES THE TRIPLES GENERATED FROM AN EXPRESSION 591 010140 1011 GENER, LGENER /GENERATES THE TRIPLES 592 010141 6753 LCHNG, CHNG /TEST FOR DUMMY ARG AND REPLACE 593 010142 6545 CLAB, LCLAB /HANGS A CREATED LABEL ON THE NEXT LINE 594 010143 4647 STORE, LSTORE /STORES THE CONTENTS OF THE AC 595 010144 4500 FPROP, LFPROP /PUT OUT CALLS TO F.P. ROUTINES 596 010145 6541 ZER, LZER 597 010146 6713 DUM, LDUM /PROCESSES OCCURRANCES OF DUMMY ARGUMENTS IN LISTS 598 010147 6451 DIM, LDIM /LOOKS UP DIMENSION INFORMATION ON VARIABLES 599 010150 3372 PUNCH, LTTYPE /ADDRESS OF CURRENT OUTPUT ROUTINE 600 010151 0002 C2, 2 601 010152 0003 C3, 3 602 010153 0040 C40, 40 603 010154 5440 C7240, 5440 /THIS WAS COLON-SPACE NOW ITS COMMA-SPACE 604 010155 0077 C77, 77 605 010156 7740 CM40, -40 606 010157 3732 CM4046, -4046 607 010160 7730 CM50, -50 608 010161 7727 CM51, -51 609 010162 7724 CM54, -54 610 010163 7776 CM2, -2 611 010164 7775 CM3, -3 612 010165 4400 CHECK, LCHECK 613 010166 5317 SMODE, LSMODE 614 010167 5602 BSS, LBSS 615 010170 5154 ARG, LARG 616 010171 0054 C54, 54 617 010172 0200 BASE, INBUF 618 010173 0300 BASE2, INBUF+100 619 010174 4000 C4000, 4000 620 010175 0637 GNB, LGNB 621 *177 622 010177 7200 START, CLA /COME HERE AT BEGINNING OF EACH STMT 623 010200 3000 DCA FIRSTF 624 010201 1112 START1, TAD IMPDO 625 010202 7640 SZA CLA 626 010203 5231 JMP ERR1 /IF IMPDO<>0 THEN WE MUST HAVE SCREWED UP ON 627 /CONTINUATIONS (I THINK) 628 010204 2111 ISZ CHK /IS THERE A STMT IN THE BUFFER? 629 010205 5210 JMP .+3 630 010206 4770 JMS I SWAP /YES, SWITCH BUFFER POINTERS 631 010207 5212 JMP .+3 632 010210 1172 TAD BASE 633 010211 4764 JMS I RCD /NO, READ THE NEXT LINE 634 010212 1015 TEST, TAD L15 635 010213 1164 TAD CM3 636 010214 3016 DCA L16 /SET UP XR FOR DO TERMINATION TEST 637 010215 1054 TAD L54 638 010216 7041 CIA 639 010217 1416 TAD I L16 640 010220 7640 SZA CLA /ARE WE TERMINATING A DO? 641 010221 5224 JMP ATRY 642 010222 4316 JMS LDNEXT /TERMINATE DO LOOP 643 010223 5212 JMP TEST /SEE IF THERE IS ANY MORE... 644 010224 1061 ATRY, TAD L61 645 010225 7640 SZA CLA /A COMMENT? 646 010226 5356 JMP CMNT 647 010227 1111 TAD CHK 648 010230 7640 SZA CLA /ILLEGAL CONTINUATION? 649 010231 4523 ERR1, JMS I LUNCH 650 010232 4767 JMS I STMT /GET THE STMT NR... 651 010233 1032 TAD L32 652 010234 7450 SNA 653 010235 5241 JMP .+4 /NO STMT NUMBER 654 010236 7041 CIA 655 010237 1012 TAD L12 656 010240 7640 SZA CLA /CAN WE OMIT A TERMINAL JMP? 657 010241 4520 JMS I PRINT 658 010242 3024 DCA L24 659 010243 4342 FLST, JMS LIST /PUNCH SOURCE STMT 660 010244 4766 JMS I WIPE /ZERO THE SUBSCRIPT TEMP. TABLE 661 010245 1032 TAD L32 662 010246 3054 DCA L54 663 010247 1163 TAD CM2 664 010250 3064 DCA L64 665 010251 7410 SKP 666 010252 3762 ACA, DCA I BAREA1 667 010253 4522 JMS I GETCH 668 010254 5257 JMP ALPH 669 010255 7000 NOP 670 010256 4515 JMS I PUTCH /PUT CHARACTER BACK 671 010257 7106 ALPH, RTL CLL 672 010260 7006 RTL 673 010261 7006 RTL 674 010262 3065 DCA L65 675 010263 4522 JMS I GETCH 676 010264 5267 JMP ALPH2 677 010265 7000 NOP 678 010266 4515 JMS I PUTCH /PUT CHARACTER BACK 679 010267 1065 ALPH2, TAD L65 680 010270 2064 ISZ L64 681 010271 5252 JMP ACA 682 010272 3763 DCA I BAREA2 683 010273 3111 DCA CHK 684 010274 1365 TAD SSTYP /COMPARE THESE CHARS WITH DISPATCH TABLE 685 010275 3017 DCA L17 686 010276 1417 TRY, TAD I L17 687 010277 7450 SNA /END OF THE TABLE? 688 010300 5514 JMP I ASSIGN /YES, MUST BE ARITHMETIC STMT 689 010301 1762 TAD I BAREA1 690 010302 7640 SZA CLA 691 010303 5313 JMP NOHIT2 692 010304 1763 TAD I BAREA2 693 010305 1417 TAD I L17 694 010306 7640 SZA CLA 695 010307 5314 JMP NOHIT1 696 010310 1417 TAD I L17 /FOUND A MATCH, GO TO PROPER HANDLER... 697 010311 3030 DCA L30 698 010312 5430 JMP I L30 699 010313 2017 NOHIT2, ISZ L17 700 010314 2017 NOHIT1, ISZ L17 701 010315 5276 JMP TRY /DOESN'T MATCH, TRY AGAIN 702 703 010316 0000 LDNEXT, 0 704 010317 1015 TAD L15 /RESET THE DO END POINTER 705 010320 1164 TAD CM3 706 010321 3015 DCA L15 707 010322 1015 TAD L15 708 010323 7001 IAC 709 010324 3016 DCA L16 710 010325 7040 CMA 711 010326 1055 TAD L55 712 010327 3055 DCA L55 713 010330 4516 JMS I PROP /PUNCH 'JMP