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