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 -- OVERLAY LOADER PAGE 1 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB FORTRAN COMPILER -- OVERLAY LOADER 102 CTL 6611 103 * 104 * XLINKF LOADER - FUNCTION I. 105 * 106 * INPUTS ARE IN 84-86, (274..279)&X3 AND MAYBE EXIT&(1..3). 107 * 108 * IF THE CHARACTER ADDRESSED BY 84-86 IS $, CLEAR FROM 3+(CONTENTS 109 * OF 84-86) DOWN TO DOWNTO, ELSE CLEAR FROM TOP OF CORE. 110 * 111 * IF THE TARGET IN (274..279)&X3 IS ZERO WITH SOME ZONE, LOAD FROM 112 * CARDS. IF THE TARGET IS NEGATIVE OR BLANK, LOAD THE FIRST RECORD 113 * FROM TAPE AT 1 AND BRANCH TO 1. OTHERWISE HUNT FOR IT, AND WHEN 114 * FOUND LOAD THE NEXT BLOCK AT 333 AND THE ONE AFTER THAT AT 700, 115 * AND BRANCH TO THE ADDRESS STORED INTO EXIT&3. 116 * 117 X1 EQU 89 0089 118 X2 EQU 94 0094 119 X3 EQU 99 0099 120 * 121 TARGET EQU 279&X3 0279 X 122 * 123 ORG 333 0333 124 333 HALT H HALT 4 0333 . 333 4 125 337 MCW 86,X2 7 0337 M 086 094 4 126 344 CS 80 4 0344 / 080 4 127 348 BCE SETCLR,0&X2,$ SET THE CLEAR ADDRESS 8 0348 B 585 0!0 $ 4 128 * 129 * CLEAR FROM TOP OF CORE OR THE SPECIFIED CLEAR ADDRESS DOWN TO 130 * DOWNTO. 131 * 132 356 CLEAR CS 0 4 0356 / 000 4 133 360 SBR CLEAR&3 4 0360 H 359 4 134 364 C CLEAR&3,DOWNTO 7 0364 C 359 645 4 135 371 BU CLEAR 5 0371 B 356 / 5 136 376 SW TARGET-5 4 0376 , 2G4 5 137 380 MZ TARGET,KZ6 7 0380 Y 2G9 642 5 138 387 C KZ6,TARGET 7 0387 C 642 2G9 5 139 394 BE CDLOOP TARGET IS ZERO WITH SOME ZONE 5 0394 B 603 S 5 140 399 BM LOAD1,TARGET TARGET IS NEGATIVE 8 0399 V 620 2G9 K 5 141 407 MZ KZ6-5,TARGET CLEAR ZONE OF LOW-ORDER TARGET CHAR 7 0407 Y 637 2G9 6 142 414 C BLANKS,TARGET 7 0414 C 699 2G9 6 143 421 BE LOAD1 TARGET IS BLANKS 5 0421 B 620 S 6 144 * 145 * SET GMWM IN 22 146 * 147 426 SW 22 4 0426 , 022 6 FORTRAN COMPILER -- OVERLAY LOADER PAGE 2 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 430 MCW GM,22 7 0430 M 680 022 6 149 * 150 * HUNT FOR LIB IN 8-10 AND THE TARGET (TARGET) IN 12-17 151 * 152 437 HUNT RT 1,1 8 0437 M %U1 001 R 6 153 445 BEF ENDFIL 5 0445 B 478 K 7 154 450 C 10,LIB 7 0450 C 010 648 7 155 457 BU HUNT 5 0457 B 437 / 7 156 462 C 17,TARGET 7 0462 C 017 2G9 7 157 469 BE FOUND 5 0469 B 498 S 7 158 474 B HUNT 4 0474 B 437 7 159 * 160 * END OF FILE. CHANGE THE NOP TO A HALT AND BRANCH TO LOAD 161 * FROM CARDS, THEN REWIND THE TAPE AND HUNT AGAIN. THEREBY, THE 162 * TAPE IS ONLY SEARCHED TWICE. 163 * 164 478 ENDFIL NOP CDLOOP BECOMES H CDLOOP 4 0478 N 603 7 165 482 MCW ERRHLT,ENDFIL 7 0482 M 581 478 8 166 489 RWD 1 5 0489 U %U1 R 8 167 494 B HUNT 4 0494 B 437 8 168 * 169 * FOUND THE TARGET 170 * LOAD THE NEXT BLOCK AT 333 AND THE ONE AFTER THAT AT 700, 171 * THEN BRANCH TO THE ADDRESS PLUGGED INTO EXIT&3 172 * 173 498 FOUND LCA KZ6-1,101 CLEAR 7 0498 L 641 101 8 174 505 LCA KZ6-1 INDEX 4 0505 L 641 8 175 509 LCA KZ6-1 REGISTERS 4 0509 L 641 8 176 513 RTW 1,333 HOPE SHORT ENOUGH NOT TO CLOBBER US 8 0513 L %U1 333 R 8 177 521 BER TAPERR 5 0521 B 557 L 9 178 526 MCW KZ6-5,KZ6-1 7 0526 M 637 641 9 179 533 SBR TAPERX&3,READ2 7 0533 H 580 540 9 180 540 READ2 B READ2X V3M4 4 0540 B 649 9 181 544 READ2R MN 0-0 V3M4 4 0544 D 000 9 182 548 SW V3M4 1 0548 , 9 183 549 NOP V3M4 1 0549 N 9 184 550 NOP V3M4 1 0550 N 10 185 552 DCW @NL@ V3M4 2 0552 10 186 553 EXIT B 0 4 0553 B 000 10 187 557 TAPERR A K1,KZ6-1 7 0557 A 679 641 10 188 564 BCE ERRHLT,KZ6-1,9 NINE ERRORS? 8 0564 B 581 641 9 10 189 572 BSP 1 5 0572 U %U1 B 10 190 577 TAPERX B FOUND 4 0577 B 498 10 191 581 ERRHLT H ERRHLT 4 0581 . 581 11 192 * 193 * SET THE CLEAR START ADDRESS 194 * 195 585 SETCLR MCW 3&X2,CLEAR&3 7 0585 M 0!3 359 11 196 592 MZ KZ6-5,CLEAR&2 7 0592 Y 637 358 11 197 599 B CLEAR 4 0599 B 356 11 FORTRAN COMPILER -- OVERLAY LOADER PAGE 3 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 * 199 * TARGET IS 00000X WHERE X IS ZERO WITH SOME ZONE. 200 * READ CARDS UNTIL ONE WITH COMMA (SW) IN COLUMN 1 IS FOUND, 201 * THEN BRANCH TO IT. 202 * 203 603 CDLOOP SW 1 4 0603 , 001 11 204 607 R 1 0607 1 11 205 608 BCE 1,1,, 8 0608 B 001 001 , 11 206 616 B CDLOOP 4 0616 B 603 12 207 * 208 * LOAD A BLOCK INTO 1 AND BRANCH TO IT 209 * 210 620 LOAD1 RWD 1 5 0620 U %U1 R 12 211 625 RTW 1,1 8 0625 L %U1 001 R 12 212 633 B 1 4 0633 B 001 12 213 * 214 * DATA 215 * 216 642 KZ6 DCW 000000 6 0642 12 217 645 DOWNTO DSA BLANKS 3 0645 699 12 218 648 LIB DCW @LIB@ 3 0648 12 219 649 READ2X RTW 1,700 V3M4 8 0649 L %U1 700 R 13 220 657 SBR READ2R&3 V3M4 4 0657 H 547 13 221 661 BER TAPERR V3M4 5 0661 B 557 L 13 222 666 B READ2R V3M4 4 0666 B 544 13 223 678 DC #9 V3M4 9 0678 13 224 679 K1 DCW @1@ 1 0679 13 225 680 GM DC @}@ 1 0680 GMARK 13 226 699 BLANKS DC #19 19 0699 14 227 EX B 000 15 228 END / 000 080 FORTRAN COMPILER -- OVERLAY LOADER PAGE 4 SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS BLANKS 699 CDLOOP 603 CLEAR 356 DOWNTO 645 ENDFIL 478 ERRHLT 581 EXIT 553 FOUND 498 GM 680 HALT 333 HUNT 437 K1 679 KZ6 642 LIB 648 LOAD1 620 READ2 540 READ2R 544 READ2X 649 SETCLR 585 TAPERR 557 TAPERX 577 TARGET 279+X3 X1 89 X2 94 X3 99