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 -- VARIABLE PHASE TWO -- 14 PAGE 1 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB FORTRAN COMPILER -- VARIABLE PHASE TWO -- 14 102 CTL 6611 103 * 104 * THE ENTIRE PROGRAM IS SHIFTED TO THE TOP (LEFTMOST PART) OF 105 * AVAILABLE STORAGE, LEAVING ROOM FOR SUBSEQUENT COMPILER PHASES. 106 * THE REMAINING STORAGE IS CLEARED FOR TABLES INCLUDING THE 107 * ARRAY TABLE GENERATED BY DIMENSION PHASE TWO. 108 * 109 * ON ENTRY, 83 IS ONE BELOW THE GM BELOW THE BOTTOM OF 110 * THE ARRAY TABLE, X1 IS BELOW THE BOTTOM OF THE LAST 111 * STATEMENT IN SORTED ORDER AT THE BOTTOM OF FREE CORE, 112 * AND X2 IS ONE BELOW THE BOTTOM OF THE LAST TRANSFORMED 113 * STATEMENT AT THE TOP OF FREE CORE, IN SORTED ORDER. 114 * 115 * ON EXIT, 83 IS TOPCOR-2, X1 IS THE PREFIX OF THE FIRST 116 * (TOPMOST) STATEMENT, X2 IS X1&1, TOPCD9 (840) IS TOP OF 117 * CODE & X00 - 1, DIFF (845) IS TOPCOR-1 - TOPCD9, AND 118 * BNDRY (848) IS TOPCD9 + 0.3 * DIFF 119 * 120 X1 EQU 89 0089 121 X2 EQU 94 0094 122 X3 EQU 99 0099 123 * 124 * STUFF IN THE RESIDENT AREA 125 * 126 PHASID EQU 110 PHASE ID, FOR SNAPSHOT DUMPS 0110 127 SNAPSH EQU 333 CORE DUMP SNAPSHOT 0333 128 TOPCOR EQU 688 TOP CORE ADDRESS FROM PARAM CARD 0688 129 LOADNX EQU 700 LOAD NEXT OVERLAY 0700 130 CLEARL EQU 707 CS AT START OF OVERLAY LOADER 0707 131 CDOVLY EQU 769 1 IF RUNNING FROM CARDS, N IF FROM TAPE 0769 132 TPREAD EQU 780 TAPE READ INSTRUCTION IN OVERLAY LOADER 0780 133 LOADXX EQU 793 EXIT FROM OVERLAY LOADER 0793 134 CLRBOT EQU 833 BOTTOM OF CORE TO CLEAR IN OVERLAY LOADER 0833 135 * 136 FREBOT EQU 2699 2699 137 * 138 ORG 838 0838 139 LOADDD EQU *&1 LOAD ADDRESS 0838 140 840 TOPCD9 DCW #3 TOP OF CODE & X00 - 1 IS BOTTOM OF HASH 3 0840 4 141 845 DIFF DCW #5 DIFF = TOPCOR-1 - TOPCD9 IS SIZE OF HASH 5 0845 4 142 848 BNDRY DCW #3 TOP OF HASH TABLE 3 0848 4 143 849 BEGINN MCW 83,X3 7 0849 M 083 099 4 144 856 BCE TOOBIG,X1,$ 8 0856 B /97 089 $ 4 145 864 SBR TBLBOT,2&X3 7 0864 H T42 0?2 4 146 871 MCW X2,X3 7 0871 M 094 099 5 147 * FORTRAN COMPILER -- VARIABLE PHASE TWO -- 14 PAGE 2 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 * CLEAR FROM BELOW THE BOTTOM TRANSFORMED STATEMENT DOWN 149 * TO FREBOT. 150 * 151 878 CLRLP CS 0&X3 4 0878 / 0?0 5 152 882 SBR X3 4 0882 H 099 5 153 886 C X3,KFREE 7 0886 C 099 T45 5 154 893 BU CLRLP 5 0893 B 878 / 5 155 * 156 * MOVE TRANSFORMED STATEMENTS DOWN TO FREBOT 157 * 158 898 SBR X1,FREBOT 7 0898 H 089 O99 5 159 905 MN 0&X1 4 0905 D 0|0 5 160 909 SAR X1 4 0909 Q 089 6 161 913 MORE MCM 0&X2 4 0913 P 0!0 6 162 917 SAR NEXTX2&6 4 0917 Q 939 6 163 921 MCM 0&X2,1&X1 MOVE ONE STATEMENT DOWN 7 0921 P 0!0 0|1 6 164 928 MN 1 0928 D 6 165 929 SBR X1 4 0929 H 089 6 166 933 NEXTX2 SBR X2,0 7 0933 H 094 000 6 167 940 BCE MORE,0&X1,| MORE TO DO IF RM 8 0940 B 913 0|0 | 7 168 948 MN 0&X2 4 0948 D 0!0 7 169 952 CW 1 0952 ) 7 170 953 SW 0&X1 4 0953 , 0|0 7 171 957 C X2,TBLBOT DONE MOVING STATEMENTS? 7 0957 C 094 T42 7 172 964 BU MORE NO 5 0964 B 913 / 7 173 * 174 * X2 IS NOW AT THE BOTTOM OF THE ARRAY TABLE AND 175 * X1 IS AT THE TOP OF THE MOVED-DOWN TRANSFORMED CODE 176 * 177 969 CW 0&X2 WHY CLEAR THIS WM? 4 0969 ) 0!0 7 178 973 CW 1 0973 ) 8 179 974 SBR TOPCD9,2&X1 7 0974 H 840 0|2 8 180 981 MN ZONES-32,TOPCD9 99 7 0981 D T07 840 8 181 988 MN 1 0988 D 8 182 989 MCW TOPCOR,X3 7 0989 M 688 099 8 183 996 MN 0&X3 4 0996 D 0?0 8 184 1 000 SW 1 1000 , 8 185 1 001 SAR 83 TOPCOR-2 4 1001 Q 083 9 186 1 005 SBR X3 4 1005 H 099 9 187 1 009 CLRLP2 CS 0&X3 CLEAR THE ARRAY TABLE AND 4 1009 / 0?0 9 188 1 013 SBR X3 TRANSFORMED CODE AT TOP OF CORE 4 1013 H 099 9 189 1 017 C X3,TOPCD9 DOWN TO TOP OF CODE & X00 ? 7 1017 C 099 840 9 190 1 024 BU CLRLP2 NO, MORE TO DO 5 1024 B |09 / 9 191 * 192 * COMPUTE TOPCD9 (HASH TABLE BASE), DIFF (10 * SIZE OF HASH 193 * TABLE) AND BNDRY (TOP OF HASH TABLE) 194 * 195 1 029 MCW KLESS,0&X3 7 1029 M T46 0?0 9 196 1 036 MCW 83,TOCONV 7 1036 M 083 T05 10 197 1 043 B CONV5 CONVERT TOPCOR-1 TO DECIMAL 4 1043 B S31 10 FORTRAN COMPILER -- VARIABLE PHASE TWO -- 14 PAGE 3 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 1 047 MCW W5,DIFF 7 1047 M T51 845 10 199 1 054 MCW TOPCD9,TOCONV CONVERT TOPCD9 TO DECIMAL 7 1054 M 840 T05 10 200 1 061 B CONV5 4 1061 B S31 10 201 1 065 S W5,DIFF DIFF = TOPCOR-1 - TOPCD9 7 1065 S T51 845 10 202 1 072 A DIFF-1,W6 DIFF / 10 7 1072 A 844 T57 11 203 1 079 A W6 DIFF / 5 4 1079 A T57 11 204 1 083 A DIFF-1,W6 DIFF / 5 + DIFF / 10 = 3 * DIFF / 10 7 1083 A 844 T57 11 205 1 090 A W5,W6 TOPCD9 + DIFF * 0.3 7 1090 A T51 T57 11 206 1 097 MCW W6-3,X3 (TOPCD9 + DIFF * 0.3) / 1000 7 1097 M T54 099 11 207 1 104 A X3 2 * (TOPCD9 + DIFF * 0.3) / 1000 4 1104 A 099 11 208 1 108 MZ ZONES-31&X3,W6-2 7 1108 Y T?8 T55 12 209 1 115 MZ ZONES-30&X3,W6 TO MACHINE ADDRESS 7 1115 Y T?9 T57 12 210 1 122 MCW W6,X3 7 1122 M T57 099 12 211 1 129 SW 2&X3 4 1129 , 0?2 12 212 1 133 MCW KLESS 4 1133 M T46 12 213 1 137 SBR BNDRY 4 1137 H 848 12 214 1 141 MCW X1,X2 7 1141 M 089 094 13 215 1 148 MN 0&X2 4 1148 D 0!0 13 216 1 152 SAR X1 4 1152 Q 089 13 217 * 218 * DONE 219 * 220 1 156 BSS SNAPSH,C 5 1156 B 333 C 13 221 1 161 SBR TPREAD&6,BEGINN 7 1161 H 786 849 13 222 1 168 SBR CLRBOT 4 1168 H 833 13 223 1 172 SBR LOADXX&3,857 7 1172 H 796 857 13 224 1 179 SBR CLEARL&3,GMWM 7 1179 H 710 U05 14 225 1 186 LCA VARBL3,PHASID 7 1186 L T66 110 14 226 1 193 B LOADNX 4 1193 B 700 14 227 * 228 * PROGRAM IS TOO BIG 229 * 230 1 197 TOOBIG CS 332 4 1197 / 332 14 231 1 201 CS 1 1201 / 14 232 1 202 CC 1 2 1202 F 1 14 233 1 204 MCW ERROR2,270 7 1204 M U02 270 14 234 1 211 W 1 1211 2 15 235 1 212 CC 1 2 1212 F 1 15 236 1 214 BCE HALT,CDOVLY,1 8 1214 B S27 769 1 15 237 1 222 RWD 1 5 1222 U %U1 R 15 238 1 227 HALT H HALT 4 1227 . S27 15 239 * 240 * CONVERT TOCONV FROM MACHINE TO DECIMAL 241 * 242 1 231 CONV5 SBR CONVX&3 4 1231 H T00 15 243 1 235 MN TOCONV,W5 7 1235 D T05 T51 15 244 1 242 MN 1 1242 D 16 245 1 243 MN 1 1243 D 16 246 1 244 MCW 1 1244 M 16 247 1 245 MZ TOCONV,ZONES-32 7 1245 Y T05 T07 16 FORTRAN COMPILER -- VARIABLE PHASE TWO -- 14 PAGE 4 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 248 1 252 MZ TOCONV-2,ZONES-33 7 1252 Y T03 T06 16 249 1 259 NOP ZONES-34 4 1259 N T05 16 250 1 263 SAR X3 4 1263 Q 099 16 251 1 267 CONVL C 4&X3,ZONES-32 LOOK FOR CORRECT ZONES 7 1267 C 0?4 T07 17 252 1 274 SAR X3 4 1274 Q 099 17 253 1 278 A KP1,W5-3 ADD ONE TO THOUSANDS 7 1278 A U03 T48 17 254 1 285 BU CONVL 5 1285 B S67 / 17 255 1 290 MZ KB1,W5-3 7 1290 Y U04 T48 17 256 1 297 CONVX B 0 4 1297 B 000 17 257 * 258 * DATA 259 * 260 1 305 TOCONV DCW @0J @ 5 1305 17 261 1 339 ZONES DCW @9999Z9R9I99ZZZRZIZ9RZRRRIR9IZIRIII@ 34 1339 18 262 1 342 TBLBOT DCW #3 3 1342 18 263 1 345 KFREE DSA FREBOT 3 1345 O99 19 264 1 346 KLESS DCW @<@ 1 1346 19 265 1 351 W5 DCW #5 5 1351 19 266 1 357 W6 DCW #6 6 1357 19 267 1 366 VARBL3 DCW @VARBL TRI@ 9 1366 19 268 1 402 ERROR2 DCW @MESSAGE 2 - OBJECT PROGRAM TOO LARGE@ 36 1402 20 269 1 403 KP1 DCW &1 1 1403 20 270 1 404 KB1 DCW #1 1 1404 20 271 1 405 GMWM DCW @}@ 1 1405 GMARK 20 272 ORG 201 0201 273 203 DSA LOADDD LOAD ADDRESS FOR CARD-TO-TAPE PROGRAM 3 0203 838 21 274 EX BEGINN B 849 22 275 END / 000 080 FORTRAN COMPILER -- VARIABLE PHASE TWO -- 14 PAGE 5 SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS BEGINN 849 BNDRY 848 CDOVLY 769 CLEARL 707 CLRBOT 833 CLRLP 878 CLRLP2 1009 CONV5 1231 CONVL 1267 CONVX 1297 DIFF 845 ERROR2 1402 FREBOT 2699 GMWM 1405 HALT 1227 KB1 1404 KFREE 1345 KLESS 1346 KP1 1403 LOADDD 838 LOADNX 700 LOADXX 793 MORE 913 NEXTX2 933 PHASID 110 SNAPSH 333 TBLBOT 1342 TOCONV 1305 TOOBIG 1197 TOPCD9 840 TOPCOR 688 TPREAD 780 VARBL3 1366 W5 1351 W6 1357 X1 89 X2 94 X3 99 ZONES 1339