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 -- SORT ONE PHASE -- PHASE 04 PAGE 1 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB FORTRAN COMPILER -- SORT ONE PHASE -- PHASE 04 102 CTL 6611 103 * 104 * SORT ONE PHASE: DETERMINE WHETHER THERE IS SUFFICIENT ROOM 105 * TO EXPAND EVERY STATEMENT BY THREE CHARACTERS. 106 * 81-83 IS ONE BELOW THE GROUP MARK BELOW THE LAST (BOTTOM 107 * ADDRESS) IN CORE. 108 * 109 X1 EQU 89 0089 110 X2 EQU 94 0094 111 X3 EQU 99 0099 112 * 113 * STUFF IN THE RESIDENT AREA 114 * 115 PHASID EQU 110 PHASE ID, FOR SNAPSHOT DUMPS 0110 116 SNAPSH EQU 333 CORE DUMP SNAPSHOT 0333 117 LOADNX EQU 700 LOAD NEXT OVERLAY 0700 118 CLEARL EQU 707 CS AT START OF OVERLAY LOADER 0707 119 CDOVLY EQU 769 1 IF RUNNING FROM CARDS, N IF FROM TAPE 0769 120 TPREAD EQU 780 TAPE READ INSTRUCTION IN OVERLAY LOADER 0780 121 LOADXX EQU 793 EXIT FROM OVERLAY LOADER 0793 122 CLRBOT EQU 833 BOTTOM OF CORE TO CLEAR IN OVERLAY LOADER 0833 123 * 124 * TABLE OF ADDRESSES OF THE FIRST STATEMENT OF EACH TYPE, 125 * INDEXED BY 30*(ZONE OF STATEMENT TYPE) + 3*(NUMERIC PART OF 126 * STATEMENT CODE). FILLED IN NEXT PHASE, Q.V. 127 * 128 ORG 838 0838 129 LOADDD EQU *&1 LOAD ADDRESS 0838 130 840 DCW #3 BLANK 3 0840 4 131 843 DCW #3 1 READ TAPE 3 0843 4 132 846 DCW #3 2 3 0846 4 133 849 DCW #3 3 WRITE TAPE 3 0849 4 134 852 DCW #3 4 3 0852 4 135 855 DCW #3 5 READ INPUT TAPE 3 0855 4 136 858 DCW #3 6 WRITE OUTPUT TAPE 3 0858 4 137 861 DCW #3 7 3 0861 5 138 864 DCW #3 8 3 0864 5 139 867 DCW #3 9 3 0867 5 140 870 DCW #3 0 3 0870 5 141 873 DCW #3 / END 3 0873 5 142 876 DCW #3 S STOP 3 0876 5 143 879 DCW #3 T COMPUTED GOTO 3 0879 5 144 882 DCW #3 U PUNCH 3 0882 6 145 885 DCW #3 V 3 0885 6 146 888 DCW #3 W IF ( SENSE SWITCH ... ) 3 0888 6 147 891 DCW #3 X 3 0891 6 FORTRAN COMPILER -- SORT ONE PHASE -- PHASE 04 PAGE 2 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 894 DCW #3 Y 3 0894 6 149 897 DCW #3 Z REWIND 3 0897 6 150 900 DCW #3 ! 3 0900 6 151 903 DCW #3 J SENSE LIGHT 3 0903 7 152 906 DCW #3 K IF ( SENSE LIGHT ... ) 3 0906 7 153 909 DCW #3 L READ 3 0909 7 154 912 DCW #3 M 3 0912 7 155 915 DCW #3 N ENDFILE 3 0915 7 156 918 DCW #3 O 3 0918 7 157 921 DCW #3 P PRINT 3 0921 7 158 924 DCW #3 Q 3 0924 8 159 927 DCW #3 R ARITHMETIC 3 0927 8 160 930 DCW #3 ? 3 0930 8 161 933 DCW #3 A PAUSE 3 0933 8 162 936 DCW #3 B BACKSPACE 3 0936 8 163 939 DCW #3 C CONTINUE 3 0939 8 164 942 DCW #3 D DO 3 0942 8 165 945 DCW #3 E IF 3 0945 9 166 948 DCW #3 F FORMAT 3 0948 9 167 951 DCW #3 G GOTO 3 0951 9 168 954 DCW #3 H 3 0954 9 169 957 DCW #3 I DIMENSION 3 0957 9 170 ORG 1006 1006 171 1 009 ZONES DCW @2SKB@ 4 1009 10 172 * 173 * START HERE INSTEAD OF 838 174 * 175 1 010 BEGINN CS 2599 4 1010 / N99 10 176 1 014 CHAIN 8 MACRO 177 CS 1 1014 / GEN 10 178 CS 1 1015 / GEN 10 179 CS 1 1016 / GEN 10 180 CS 1 1017 / GEN 10 181 CS 1 1018 / GEN 10 182 CS 1 1019 / GEN 11 183 CS 1 1020 / GEN 11 184 CS 1 1021 / GEN 11 185 1 022 MCW 83,X3 ADDRESS OF END OF LAST STATEMENT 7 1022 M 083 099 11 186 1 029 MCM 2&X3 4 1029 P 0?2 11 187 1 033 MCW 1 1033 M 11 188 1 034 SBR X3 ADDRESS OF BEGINNING OF LAST STATEMENT 4 1034 H 099 11 189 * 190 * MULTIPLY STATEMENT NUMBER OF LAST STATEMENT BY 3 191 * 192 1 038 MCW 0&X3,SEQ 7 1038 M 0?0 T52 12 193 1 045 ZA SEQ,SEQ5 7 1045 ? T52 T57 12 194 1 052 A SEQ5 4 1052 A T57 12 195 1 056 A SEQ,SEQ5 7 1056 A T52 T57 12 196 1 063 S KP2,SEQ5 3 * # STMTS - 2 7 1063 S T58 T57 12 197 1 070 MCW SEQ5,WORK5 7 1070 M T57 T63 12 FORTRAN COMPILER -- SORT ONE PHASE -- PHASE 04 PAGE 3 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 1 077 MCW K16K,SEQ5 7 1077 M T68 T57 13 199 1 084 S WORK5,SEQ5 16000 - (3 * # STMTS - 2) 7 1084 S T63 T57 13 200 * 201 * CONVERT TO ADDRESS 202 * 203 1 091 BAV LOOP CLEAR OVERFLOW 5 1091 B |96 Z 13 204 1 096 LOOP A KP96,SEQ5-3 7 1096 A T70 T54 13 205 1 103 BAV LOOP 5 1103 B |96 Z 13 206 1 108 MN SEQ5-3,*&4 7 1108 D T54 /18 13 207 1 115 MZ ZONES-0,SEQ5-2 7 1115 Y |09 T55 14 208 * 209 1 122 MCW 83,X1 7 1122 M 083 089 14 210 1 129 MCW X1,NOP&3 7 1129 M 089 /53 14 211 1 136 MCW SEQ5,X2 7 1136 M T57 094 14 212 1 143 MZ KM1,NOP&2 SET TAG FOR X2 7 1143 Y T71 /52 14 213 1 150 NOP NOP 0 X1 + X2 4 1150 N 000 14 214 1 154 SAR X2 4 1154 Q 094 15 215 1 158 S W2A 4 1158 S T73 15 216 1 162 S W2B 4 1162 S T75 15 217 1 166 MZ X2,W2A-1 7 1166 Y 094 T72 15 218 1 173 MZ X2-2,W2B-1 7 1173 Y 092 T74 15 219 1 180 LOOP2 BWZ LOOP2X,W2B-1,2 8 1180 V /99 T74 2 15 220 1 188 A K10V,W2B 7 1188 A T77 T75 16 221 1 195 B LOOP2 4 1195 B /80 16 222 1 199 LOOP2X BWZ LOOP3X,W2A-1,2 8 1199 V S18 T72 2 16 223 1 207 A K04V,W2A 7 1207 A T79 T73 16 224 1 214 B LOOP2X 4 1214 B /99 16 225 1 218 LOOP3X A W2B-1,W2A 7 1218 A T74 T73 16 226 1 225 MCW X2,SEQ5 7 1225 M 094 T57 17 227 1 232 MCW W2A 4 1232 M T73 17 228 1 236 ZA SEQ5 4 1236 ? T57 17 229 1 240 MZ *-4,SEQ5 CLEAR ZONE IN TENS DIGIT 7 1240 Y S42 T57 17 230 1 247 C SEQ5,K2900 7 1247 C T57 T84 17 231 1 254 BL OK 5 1254 B S93 T 17 232 * 233 * INSUFFICIENT ROOM TO EXPAND EVERY STATEMENT BY THREE CHARACTERS 234 * 235 1 259 CS 332 4 1259 / 332 17 236 1 263 CS 1 1263 / 18 237 1 264 CC 1 2 1264 F 1 18 238 1 266 MCW MSG2,270 7 1266 M U20 270 18 239 1 273 W 1 1273 2 18 240 1 274 CC 1 2 1274 F 1 18 241 1 276 BCE HALT,CDOVLY,1 8 1276 B S89 769 1 18 242 1 284 RWD 1 5 1284 U %U1 R 18 243 1 289 HALT H HALT 4 1289 . S89 19 244 * 245 * SOURCE CODE WILL FIT AFTER EXPANDING EVERY STATEMENT BY 246 * THREE CHARACTERS 247 * FORTRAN COMPILER -- SORT ONE PHASE -- PHASE 04 PAGE 4 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 248 1 293 OK MCW X2,83 REPLACE ADDRESS OF BOTTOM OF CODE 7 1293 M 094 083 19 249 1 300 MCM 0&X1 4 1300 P 0|0 19 250 1 304 SAR X1 ADDRESS BELOW LAST STATEMENT 4 1304 Q 089 19 251 1 308 BSS SNAPSH,C 5 1308 B 333 C 19 252 1 313 SBR TPREAD&6,1022 CHANGE LOAD ADDRESS FOR NEXT PHASE 7 1313 H 786 |22 19 253 1 320 SBR CLRBOT 4 1320 H 833 19 254 1 324 SBR LOADXX&3,1022 CHANGE ENTRY ADDRESS FOR NEXT PHASE 7 1324 H 796 |22 20 255 1 331 SBR CLEARL&3,SORT2&1 7 1331 H 710 U27 20 256 1 338 LCA SORT2,PHASID 7 1338 L U26 110 20 257 1 345 B LOADNX LOAD NEXT OVERLAY 4 1345 B 700 20 258 * 259 * CONSTANTS AND WORK AREAS 260 * 261 1 349 DCW 0 1 1349 20 262 1 352 SEQ DCW #3 SEQUENCE NUMBER OF LAST STATEMENT 3 1352 20 263 1 357 SEQ5 DCW #5 STMT NUMBER TIMES 3 5 1357 20 264 1 358 KP2 DCW &2 1 1358 21 265 1 363 WORK5 DCW #5 5 1363 21 266 1 368 K16K DCW 16000 5 1368 21 267 1 370 KP96 DCW &96 2 1370 21 268 1 371 KM1 DCW -1 1 1371 21 269 1 373 W2A DCW #2 2 1373 21 270 1 375 W2B DCW #2 2 1375 21 271 1 377 K10V DCW @A0@ TEN, OVERFLOWED 2 1377 22 272 1 379 K04V DCW @?4@ 04, OVERFLOWED 2 1379 22 273 1 384 K2900 DCW 02900 5 1384 22 274 1 420 MSG2 DCW @MESSAGE 2 - OBJECT PROGRAM TOO LARGE@ 36 1420 23 275 1 426 SORT2 DCW @SORT 2@ 6 1426 24 276 1 427 GMWM DCW @}@ 1 1427 GMARK 24 277 ORG 201 0201 278 203 DSA LOADDD LOAD ADDRESS FOR CARD-TO-TAPE PROGRAM 3 0203 838 25 279 EX BEGINN B |10 26 280 END / 000 080 FORTRAN COMPILER -- SORT ONE PHASE -- PHASE 04 PAGE 5 SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS BEGINN 1010 CDOVLY 769 CLEARL 707 CLRBOT 833 GMWM 1427 HALT 1289 K04V 1379 K10V 1377 K16K 1368 K2900 1384 KM1 1371 KP2 1358 KP96 1370 LOADDD 838 LOADNX 700 LOADXX 793 LOOP 1096 LOOP2 1180 LOOP2X 1199 LOOP3X 1218 MSG2 1420 NOP 1150 OK 1293 PHASID 110 SEQ 1352 SEQ5 1357 SNAPSH 333 SORT2 1426 TPREAD 780 W2A 1373 W2B 1375 WORK5 1363 X1 89 X2 94 X3 99 ZONES 1009