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 HALT,ENDFIL 7 0482 M 333 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 RTW 1,700 8 0540 L %U1 700 R 9 186 548 BER TAPERR 5 0548 B 557 L 9 187 553 EXIT B 0 4 0553 B 000 9 188 557 TAPERR A K1,KZ6-1 7 0557 A 679 641 10 189 564 BCE ERRHLT,KZ6-1,9 NINE ERRORS? 8 0564 B 581 641 9 10 190 572 BSP 1 5 0572 U %U1 B 10 191 577 TAPERX B FOUND 4 0577 B 498 10 192 581 ERRHLT H ERRHLT 4 0581 . 581 10 193 * 194 * SET THE CLEAR START ADDRESS 195 * 196 585 SETCLR MCW 3&X2,CLEAR&3 7 0585 M 0!3 359 10 197 592 MZ KZ6-5,CLEAR&2 7 0592 Y 637 358 11 FORTRAN COMPILER -- OVERLAY LOADER PAGE 3 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 599 B CLEAR 4 0599 B 356 11 199 * 200 * TARGET IS 00000X WHERE X IS ZERO WITH SOME ZONE. 201 * READ CARDS UNTIL ONE WITH COMMA (SW) IN COLUMN 1 IS FOUND, 202 * THEN BRANCH TO IT. 203 * 204 603 CDLOOP SW 1 4 0603 , 001 11 205 607 R 1 0607 1 11 206 608 BCE 1,1,, 8 0608 B 001 001 , 11 207 616 B CDLOOP 4 0616 B 603 11 208 * 209 * LOAD A BLOCK INTO 1 AND BRANCH TO IT 210 * 211 620 LOAD1 RWD 1 5 0620 U %U1 R 11 212 625 RTW 1,1 8 0625 L %U1 001 R 12 213 633 B 1 4 0633 B 001 12 214 * 215 * DATA 216 * 217 642 KZ6 DCW 000000 6 0642 12 218 645 DOWNTO DSA 699 3 0645 699 12 219 648 LIB DCW @LIB@ 3 0648 12 220 678 DC #30 30 0678 13 221 679 K1 DCW @1@ 1 0679 13 222 680 GMWM DCW @}@ 1 0680 GMARK 13 223 EX AFTOVL B |20 14 224 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 SETCLR 585 TAPERR 557 TAPERX 577 TARGET 279+X3 X1 89 X2 94 X3 99