ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:06 2020 Source File: \kforph03.asm 1130 FORTRAN COMPILER PHASE 3 2 | *************************************************** K0300020 3 | *STATUS - VERSION 2, MODIFICATION 12 * K0300030 4 | * * K0300040 5 | *FUNCTION/OPERATION- * K0300050 6 | * * CHECKS SUBPROGRAM AND SPECIFICATION STMNTS * K0300060 7 | * FOR THE PROPER ORDER. REMOVES ANY STMNT * K0300070 8 | * NUMBERS FROM THESE STATEMENTS * K0300080 9 | * * CHECKS TO ENSURE THAT STMNTS FOLLOWING IF, * K0300090 10 | * GO TO, RETURN, AND STOP STMNTS HAVE STMNT * K0300100 11 | * NUMBERS * K0300110 12 | * * REMOVES CONTINUE STATEMENTS THAT DO NOT HAVE* K0300120 13 | * STATEMENT NUMBERS * K0300130 14 | * * CHECKS THE STMNTS FOR STMNT NUMBERS * K0300140 15 | * * CHECKS THE SYMBOL TABLE FOR A PREVIOUS ENTRY* K0300150 16 | * OF THE SAME STMNT NUMBER * K0300160 17 | * * PLACES THE STMNT NO. INTO THE SYMBOL TABLE * K0300170 18 | * * PLACES THE SYMBOL TABLE ADDRESS INTO THE * K0300180 19 | * STRING ENTRY * K0300190 20 | * * PHASE 3 MAKES TWO PASSES THROUGH THE STMNT * K0300200 21 | * STRING. THE FIRST PASS CHECKS TO ASCERTAIN * K0300210 22 | * THAT THE SUBPROGRAM AND SPECIFICATION * K0300220 23 | * STMNTS ARE IN THE FOLLOWING SEQUENCE * K0300230 24 | * SUBROUTINE OR FUNCTION STATEMENT * K0300240 25 | * EXTERNAL STATEMENTS * K0300250 26 | * DIMENSION STATEMENTS * K0300260 27 | * COMMON STATEMENTS * K0300270 28 | * EQUIVALENCE STATEMENTS * K0300280 29 | * * THE SECOND PASS OF PHASE 3 SCANS THE STMNT * K0300290 30 | * STRING FOR STMNTS WITH STMNT NUMBERS * K0300300 31 | * * K0300310 32 | *ENTRY POINTS- * K0300320 33 | * START-PHASE 3 IS READ INTO CORE BY PHASE 2 * K0300330 34 | * AND EXECUTION BEGUN AT LOCATION START * K0300340 35 | * * K0300350 36 | *INPUT- * K0300360 37 | * NONE IN THE USUAL SENSE. HOWEVER, THE STMNT * K0300370 38 | * STRING SCANNED BY THE COMPILER MAY BE * K0300380 39 | * CONSIDERED INPUT * K0300390 40 | * * K0300400 41 | *OUTPUT- * K0300410 42 | * NONE IN THE USUAL SENSE. HOWEVER, PHASE 3 * K0300420 43 | * REMOVES STMNTS FROM THE STMNT STRING AND ADDS * K0300430 44 | * ENTRIES TO THE SYMBOL TABLE * K0300440 45 | * * K0300450 46 | *EXTERNAL ROUTINES-N/A * K0300460 47 | * * K0300470 48 | *EXITS- * K0300480 49 | * NORMAL- * K0300490 50 | * PHASE EXITS NORMALLY IF NO ERRORS ARE * K0300500 51 | * FOUND. PHASE 4 IS LOADED AND EXECUTED * K0300510 52 | * ERROR- * K0300520 53 | * THE FLOW OF COMPILER PROCESSING IS NOT * K0300530 54 | * INTERRUPTED WHEN AN ERROR IS ENCOUNTERED * K0300540 55 | * AN ERROR STMNT REPLACES THE FAULTY STMNT * K0300550 56 | * ON THE STRING AND STMNT SCANNING PROCESS * K0300560 57 | * CONTINUES. AN EXCEPTION OCCURS IN THE CASE * K0300570 58 | * OF AN OVERLAP ERROR. COMPILATION IS * K0300580 59 | * ABORTED AND CONTROL IS PASSED FROM PHASE * K0300590 60 | * TO SUCCEEDING PHASE UNTIL AN OUTPUT PHASE * K0300600 61 | * IS REACHED WHICH CAN PRINT AN ERROR MESSAGE* K0300610 62 | * THE ERRORS DETECTED BY PHASE 3 ARE 5, 6 * K0300620 63 | * AND 9. * K0300630 64 | * * K0300640 65 | *TABLES/WORK AREAS- * K0300650 66 | * NON EXCEPT STMNT STRING, SYMBOL TABLE AND * K0300660 67 | * FORTRAN COMMUNICATION AREA * K0300670 68 | * * K0300680 69 | *ATTRIBUTES-N/A * K0300690 70 | * * K0300700 71 | *NOTES- * K0300710 72 | * THE SWITCHES USED IN PHASE 3 FOLLOW. IF NON- * K0300720 73 | * ZERO, THE SWITCH IS TRANSFER=T. IF ZERO, THE * K0300730 74 | * SWITCH IS NOTMAL=N. * K0300740 75 | * * SW1-SUBROUTINE OR FUNCTION ALLOWABLE * K0300750 76 | * T#NOT ALLOWABLE * K0300760 77 | * * SW2-TYPE STATEMENT ALLOWABLE * K0300770 78 | * T#NOT ALLOWABLE * K0300780 79 | * * SW3-DIMENSION STATEMENT ALLOWABLE * K0300790 80 | * T#NOT ALLOWABLE * K0300800 81 | * * SW4-COMMON STATEMENT ALLOWABLE * K0300810 82 | * T#NOT ALLOWABLE * K0300820 83 | * * SW5-EQUIVALENCE STATEMENT ALLOWABLE * K0300830 84 | * T#NOT ALLOWABLE * K0300840 85 | * * SW7-STATEMENT ORDER INDICATOR * K0300850 86 | * T#STATEMENT OUT OF ORDER * K0300860 87 | *************************************************** K0300870 88 | ABS K0300880 89 | * K0300890 90 | * SYSTEM EQUATES K0300900 8000 91 | MEMRY EQU /8000 K0300910 7A23 92 | OVERL EQU MEMRY-1501 START OF FCOM K0300920 7FBC 93 | ROL EQU MEMRY-68 LOCN OF RTN TO READ NXT PH K0300930 0078 94 | $PHSE EQU /78 NO. OF PHASE NOW IN CORE K0300940 0002 95 | PHLEN EQU 2 NO SECTORS THIS PHASE 2-9 K0300945 7A23 96 | ORG OVERL K0300950 0021 97 | PHID EQU 33 ID NUMBER THIS PHASE K0300960 98 | * K0300970 99 | * FORTRAN COMMUNICATION AREA K0300980 7A23 100 | ORG BSS 1 ORIGIN ADDRESS 2-9 K0300985 7A24 101 | SOFS BSS 1 START OF STRING K0300990 7A25 102 | EOFS BSS 1 END OF STRING K0301000 7A26 103 | SOFST BSS 1 START OF SYMBOL TABLE K0301010 7A27 104 | SOFNS BSS 1 START OF NON-STATEMENT NUMBERS K0301020 7A28 105 | SOFXT BSS 1 START OF SUBSCRIPT TEMPORARIES K0301030 7A29 106 | SOFGT BSS 1 START OF GENERATED TEMPORARIES K0301040 7A2A 107 | EOFST BSS 1 END OF SYMBOL TABLE K0301050 7A2B 108 | COMON BSS 1 NEXT AVAILABLE COMMON K0301060 7A2C 109 | CSIZE BSS 1 SIZE OF COMMON K0301070 7A2D 110 | ERROR BSS 1 OVERLAP ERROR K0301080 7A2E 111 | FNAME BSS 1 PROGRAM NAME K0301090 7A2F 112 | BSS 1 K0301100 7A30 113 | SORF BSS 1 SUBROUTINE(-) OR FUNCTION(+) K0301110 7A31 114 | CCWD BSS 1 CONTROL CARD WORD K0301120 115 | * BIT 15 TRANSFER TRACE K0301130 116 | * BIT 14 ARITHMETIC TRACE K0301140 117 | * BIT 13 EXTENDED PRECISION K0301150 118 | * BIT 12 LIST SYMBOL TABLE K0301160 119 | * BIT 11 LIST SUBPROGRAM NAMES K0301170 120 | * BIT 10 LIST SOURCE PROGRAM K0301180 121 | * BIT 9 ONE WORD INTEGERS K0301190 122 | * BIT 8 ORIGIN 2-9 K0301195 7A32 123 | IOCS BSS 1 IOCS CONTROL CARD WORD K0301200 124 | * BIT 15 CARD K0301210 125 | * BIT 14 PAPER TAPE K0301220 126 | * BIT 13 TYPEWRITER K0301230 127 | * BIT 12 1403 PRINTER K0301240 128 | * BIT 11 2501 READER K0301250 129 | * BIT 10 KEYBOARD K0301260 130 | * BIT 9 1442 PUNCH K0301270 131 | * BIT 8 DISK K0301280 132 | * BIT 7 1132 PRINTER K0301290 133 | * BIT 3 PLOTTER K0301300 7A33 134 | DFCNT BSS 1 K0301310 135 | * K0301320 136 | * K0301330 137 | * END OF FORTRAN COMMUNICATION K0301340 138 | * AREA K0301350 139 | * K0301360 7A36 140 | BPHAR EQU *+2 BEGIN PHASE AREA K0301370 7A34 0000 141 | DC 0 LOADER WORK AREA K0301380 7A35 FFDF 142 | DC -33 -PHASE ID FOR SLET LOOKUP K0301390 7A36 0192 143 | DC NXTPH-*+1 TABLE FOR NEXT PHASE ENTRY K0301400 7A37 0001 144 | DC 1 SYSTEM WORK AREA K0301410 7A36 145 | ORG *-2 K0301420 146 | * K0301430 147 | * K0301440 148 | * K0301450 7A36 6121 149 | START LDX 1 PHID GET ID FOR THIS PHASE K0301460 7A37 6D00 0078 150 | STX L1 $PHSE STORE IN SYST PHASE AREA K0301470 7A39 C0F3 151 | LD ERROR IS THERE OVERLAP ERROR K0301480 7A3A 4C20 7BAE 152 | BSC L INIT,Z GO TO NEXT PHASE IF ERROR K0301490 153 | * K0301500 154 | * INITIALIZE PHASE K0301510 7A3C 6580 7A24 155 | LDX I1 SOFS INITIALIZE I/P STRING PT K0301520 156 | * K0301530 157 | * K0301540 7A3E C100 158 | FIOCL LD 1 0 LOAD STMNT ID WORD K0301550 7A3F 180B 159 | SRA 11 GET STMNT ID TYPE K0301560 7A40 903D 160 | S FIOC IS IT INTERNAL OUTPUT FMT K0301570 7A41 4C18 7B20 161 | BSC L MOVE,+- BRANCH IF YES K0301580 162 | * K0301590 163 | * K0301600 164 | * CHECKS FOR A FUNCTION STMNT K0301610 7A43 C100 165 | ST1 LD 1 0 LOAD STMNT ID WORD K0301620 7A44 1801 166 | SRA 1 K0301630 7A45 E03B 167 | AND IDTPE GET STMNT ID TYPE K0301640 7A46 903B 168 | S FUNCK IS IT FUNCTION K0301650 7A47 4C20 7AB6 169 | BSC L SUBRT,Z BRANCH IF NOT K0301660 170 | * K0301670 171 | * K0301680 7A49 C035 172 | LD ONE SET FUNCTION SWITCH (+) K0301690 7A4A D0E5 173 | STO SORF IN SORF K0301700 174 | * K0301710 175 | * K0301720 7A4B C037 176 | JIM LD SW1 IS SUBR OR FUNC ALLOWED K0301730 7A4C 4C20 7AD8 177 | BSC L BO,Z BRANCH IF NOT K0301740 178 | * DOES STMNT HAVE STMNT NUMBER K0301750 179 | * K0301760 7A4E 7401 7A83 180 | MDX L SW1,1 SET SUBR/FUNC NOT ALLOWED K0301770 181 | * K0301780 182 | * K0301790 183 | * CHECKS THE STMNT FOR A K0301800 184 | * STMNT NUMBER K0301810 7A50 C100 185 | ABEL LD 1 0 LOAD STMNT ID WORD K0301820 7A51 4C04 7A9B 186 | BSC L RMOVE,E BRANCH IF NUMBERED STMNT K0301830 187 | * K0301840 188 | * TEST SW7 K0301850 7A53 C030 189 | JACK LD SW7 IS STMNT OUT OF ORDER K0301860 7A54 4C18 7B20 190 | BSC L MOVE,+- BRANCH IF NOT K0301870 191 | * K0301880 192 | * SET UP ERROR NO. 5 K0301890 7A56 C02E 193 | ER5 LD ERR5 LOAD ERROR NO. 5 K0301900 7A57 D02E 194 | STO ERRNO STORE K0301910 7A58 6920 195 | STX 1 SAVE2+1 DUMMY SAVING OF XR1 2-9 K0301914 196 | * *NEEDED WHEN ENTERING 2-9 K0301915 197 | * *ON ERR6 2-9 K0301916 198 | * K0301920 199 | * REPLACES THE ERRONEOUS STMNT K0301930 200 | * WITH AN ERROR MESSAGE K0301940 201 | * CLOSES UP THE STRING K0301950 7A59 C100 202 | CLOSE LD 1 0 LOAD STMNT ID WORD K0301960 7A5A 1802 203 | SRA 2 SHIFT NORM TO RIGHT K0301970 7A5B E02B 204 | AND IDNRM CLEAR ALL BUT NORM K0301980 7A5C D02B 205 | STO NRMSV K0301990 7A5D 692B 206 | STX 1 SAVE1 SAVE INPUT POINTER K0302000 7A5E C02B 207 | LD ERRID LOAD ERROR STMNT ID WORD K0302010 7A5F D100 208 | STO 1 0 PUT ON STRING K0302020 7A60 C0C4 209 | LD EOFS LOAD END OF STRING ADDRESS K0302030 210 | * K0302040 7A61 9027 211 | S SAVE1 GET RANGE OF MOVE LOOP BY K0302050 7A62 9025 212 | S NRMSV SUBTRACTING PRESENT ADDR K0302060 7A63 D027 213 | STO RANGE THEN SUBTRACTING PRESENT K0302070 7A64 6780 7A8B 214 | LDX I3 RANGE STMNT SIZE K0302080 215 | * K0302090 7A66 7301 216 | MDX 3 1 K0302100 7A67 7101 217 | MDX 1 1 MOVE INPUT POINTER K0302110 7A68 C01D 218 | LD ERRNO PUT ERROR NO. K0302120 7A69 D100 219 | STO 1 0 ON STRING K0302130 7A6A C01E 220 | LD SAVE1 GET ADDRESS OF K0302140 7A6B 801C 221 | A NRMSV NEXT STATEMENT K0302150 7A6C D013 222 | STO GET K0302160 7A6D 6680 7A80 223 | LDX I2 GET INITIALIZE POINTER K0302170 224 | * K0302180 7A6F C200 225 | LOOZ LD 2 0 MOVE WORDS IN STRING K0302190 7A70 D101 226 | STO 1 1 NEXT TO ERROR STMNT K0302200 227 | * K0302210 7A71 7101 228 | MDX 1 1 MOVE POINTERS K0302220 7A72 7201 229 | MDX 2 1 K0302230 7A73 73FF 230 | MDX 3 -1 DECREMENT RANGE OF LOOP K0302240 7A74 70FA 231 | MDX LOOZ CONTINUE LOOP K0302250 7A75 69AF 232 | STX 1 EOFS NEW END OF STRING ADDRESS K0302260 7A76 6580 7A89 233 | LDX I1 SAVE1 RESET INPUT POINTER K0302270 7A78 6500 0000 234 | SAVE2 LDX L1 *-* NECESSARY IF ERR6 2-9 K0302275 235 | * K0302280 236 | * SW7 TO NORMAL K0302290 7A7A 1010 237 | SLA 16 K0302300 7A7B D008 238 | STO SW7 CLEAR OUT OF ORDER SWITCH K0302310 7A7C 6400 7B20 239 | LDX L MOVE GO TO NEXT STMNT K0302320 240 | * K0302330 241 | * CONSTANTS K0302340 7A7E 001B 242 | FIOC DC /1B INTERNAL OUTPUT FORMAT K0302350 7A7F 0001 243 | ONE DC 1 ONE K0302360 7A80 0000 244 | GET DC 0 NEXT STMNT ADDR K0302370 7A81 7C00 245 | IDTPE DC /7C00 STMNT ID TYPE MASK K0302380 7A82 3400 246 | FUNCK DC /3400 FUNCTION K0302390 7A83 0000 247 | SW1 DC 0 SWITCH 1 K0302400 7A84 0000 248 | SW7 DC 0 SWITCH 7 K0302410 7A85 0005 249 | ERR5 DC 5 ERROR NO. 5 K0302420 7A86 0000 250 | ERRNO DC 0 ERROR NO. K0302430 7A87 01FF 251 | IDNRM DC /01FF NORM MASK K0302440 7A88 0000 252 | NRMSV DC 0 NORM STORAGE K0302450 7A89 0000 253 | SAVE1 DC 0 POINTER K0302460 7A8A A008 254 | ERRID DC /A008 ERROR STMNT ID WORD K0302470 7A8B 0000 255 | RANGE DC 0 RANGE OF LOOP K0302480 7A8C 0000 256 | DIP DC 0 INPUT POINTER K0302490 7A8D 0000 257 | DIP1 DC 0 POINTER K0302500 7A8E DC00 258 | SUBRC DC /DC00 SUBROUTINE K0302510 7A8F 2400 259 | REALC DC /2400 REAL K0302520 7A90 0000 260 | SW2 DC 0 SWITCH 2 K0302530 7A91 0000 261 | SW3 DC 0 SWITCH 3 K0302540 7A92 0400 262 | INTC DC /0400 INTEGER K0302550 7A93 2000 263 | DIMC DC /2000 DIMENSION K0302560 7A94 1C00 264 | COMMC DC /1C00 COMMON K0302570 7A95 0002 265 | TWO DC 2 TWO K0302580 7A96 FFFF 266 | MINUS DC /FFFF MINUS K0302590 7A97 0009 267 | VALYU DC 9 ELIMINATES STMNT NO. BITS K0302600 7A98 6800 268 | DFILE DC /7800-/1000 DEFINE FILE K0302610 7A99 0400 269 | DATAS DC /7C00-/7800 DATA K0302620 7A9A 0000 270 | OKSW DC *-* COMMON OUT OF ORDER K0302630 271 | * K0302640 272 | * REMOVES THE STMNT NO. FROM K0302650 273 | * NUMBERED SPECIFICATION STMNTS. K0302660 274 | * ADJUSTS THE NORM K0302670 7A9B 69F0 275 | RMOVE STX 1 DIP SAVE INPUT POINTER K0302680 7A9C 7103 276 | MDX 1 3 MOVE POINTER TO STMNT BODY K0302690 7A9D 69EF 277 | STX 1 DIP1 SAVE INPUT POINTER K0302700 7A9E 6680 7A8D 278 | LDX I2 DIP1 K0302710 7AA0 C400 7A25 279 | LD L EOFS LOAD END OF STRING K0302720 7AA2 90E9 280 | S DIP GET RANGE OF MOVE LOOP K0302730 7AA3 90F1 281 | S TWO K0302740 7AA4 D0E6 282 | STO RANGE K0302750 7AA5 6780 7A8B 283 | LDX I3 RANGE INITIALIZE RANGE COUNTER K0302760 7AA7 71FD 284 | MDX 1 -3 RESTORE INPUT POINTER K0302770 7AA8 C200 285 | LOOP LD 2 0 MOVE WORD DOWN K0302780 7AA9 D101 286 | STO 1 1 TO NEW POSITION K0302790 7AAA 7101 287 | MDX 1 1 MOVE POINTERS K0302800 7AAB 7201 288 | MDX 2 1 K0302810 7AAC 73FF 289 | MDX 3 -1 DECREMENT RANGE OF MOVE K0302820 7AAD 70FA 290 | MDX LOOP CONTINUE LOOP K0302830 7AAE 6D00 7A25 291 | STX L1 EOFS NEW END OF STRING ADDRESS K0302840 7AB0 6580 7A8C 292 | LDX I1 DIP RESTORE INPUT POINTER K0302850 7AB2 C100 293 | LD 1 0 REMOVE STMNT NO. BIT AND K0302860 7AB3 90E3 294 | S VALYU ADJUST NORM IN ID WORD K0302870 7AB4 D100 295 | STO 1 0 PUT BACK ON STRING K0302880 7AB5 709D 296 | MDX JACK RETURN K0302890 297 | * K0302900 298 | * CHECKS FOR A SUBROUTINE STMNT K0302910 7AB6 90D7 299 | SUBRT S SUBRC IS IT SUBROUTINE K0302920 7AB7 4C20 7ABD 300 | BSC L TENT,Z BRANCH IF NOT K0302930 301 | * K0302940 302 | * K0302950 7AB9 C0DC 303 | LD MINUS SET SUBROUTINE SWITCH (-) K0302960 7ABA D400 7A30 304 | STO L SORF IN SORF K0302970 7ABC 708E 305 | MDX JIM GO CHECK SWITCH 1 K0302980 306 | * K0302990 307 | * K0303000 7ABD 7401 7A83 308 | TENT MDX L SW1,1 SET SUBR/FUNC NOT ALLOWED K0303010 309 | * K0303020 310 | * CHECKS FOR DEFINE FILE STMNTS K0303030 7ABF 90D8 311 | S DFILE IS IT DEFINE FILE K0303040 7AC0 4C18 7AC5 312 | BSC L TSTOK,+- BRANCH IF YES K0303050 313 | * K0303060 314 | * K0303070 7AC2 90D6 315 | S DATAS IS IT DATA K0303080 7AC3 4C20 7ACE 316 | BSC L CKRL,Z BRANCH IF NOT K0303090 317 | * K0303100 318 | * K0303110 7AC5 C039 319 | TSTOK LD SW5 IS EQUIVALENCE STMNT K0303120 7AC6 4C20 7AD8 320 | BSC L BO,Z ALLOWED - BRANCH IF NOT K0303130 321 | * K0303140 322 | * K0303150 7AC8 C034 323 | LD SW4 IS COMMON STMNT ALLOWED K0303160 7AC9 4C18 7A50 324 | BSC L ABEL,+- BRANCH IF YES K0303170 325 | * K0303180 326 | * K0303190 7ACB 68CE 327 | STX 0 OKSW SET COMMON OUT OF ORDER SW K0303200 7ACC 4C00 7A50 328 | BSC L ABEL CHECK FOR STMNT NO K0303210 329 | * K0303220 330 | * K0303230 331 | * CHECKS FOR REAL STMNTS K0303240 7ACE C100 332 | CKRL LD 1 0 LOAD STMNT ID WORD K0303250 7ACF 1801 333 | SRA 1 K0303260 7AD0 E0B0 334 | AND IDTPE GET STMNT ID TYPE K0303270 7AD1 D029 335 | STO MAM STORE ID TYPE K0303280 7AD2 90BC 336 | S REALC IS IT REAL K0303290 7AD3 4C20 7ADC 337 | BSC L TENT1,Z BRANCH IF NOT K0303300 338 | * K0303310 339 | * K0303320 7AD5 C0BA 340 | SON LD SW2 IS TYPE STMNT ALLOWABLE K0303330 7AD6 4C18 7A50 341 | BSC L ABEL,+- BRANCH IF YES K0303340 342 | * K0303350 343 | * K0303360 7AD8 7401 7A84 344 | BO MDX L SW7,1 SET STMNT OUT OF ORDER SW K0303370 7ADA 4C00 7A50 345 | BSC L ABEL CHECK FOR STMNT NO. K0303380 346 | * K0303390 347 | * K0303400 348 | * CHECKS FOR INTEGER, EXTERNAL, K0303410 349 | * AND DIMENSION STMNTS K0303420 7ADC 90B5 350 | TENT1 S INTC IS IT INTEGER K0303430 7ADD 4C18 7AD5 351 | BSC L SON,+- BRANCH IF YES K0303440 352 | * K0303450 353 | * K0303460 7ADF 7401 7A90 354 | MDX L SW2,1 SET TYPE NOT ALLOWABLE 212 K0303465 7AE1 C019 355 | LD MAM LOAD STMNT ID TYPE K0303470 7AE2 9019 356 | S EXTER IS IT EXTERNAL K0303480 7AE3 4C18 7A50 357 | BSC L ABEL,+- BR IF YES 212 K0303490 358 | * K0303500 359 | * K0303510 360 | * K0303530 361 | * K0303540 7AE5 C100 362 | LD 1 0 LOAD STMNT ID WORD K0303550 7AE6 1801 363 | SRA 1 K0303560 7AE7 E099 364 | AND IDTPE GET STMNT ID TYPE K0303570 7AE8 90AA 365 | S DIMC IS IT DIMENSION K0303580 7AE9 4C20 7AEF 366 | BSC L TAG3,Z BRANCH IF NOT K0303590 367 | * K0303600 368 | * K0303610 7AEB C0A5 369 | LD SW3 IS DIM STMNT ALLOWABLE K0303620 7AEC 4C18 7A50 370 | BSC L ABEL,+- BRANCH IF YES K0303630 7AEE 70E9 371 | MDX BO SET STMNT OUT OF ORDER SW K0303640 372 | * K0303650 373 | * K0303660 7AEF 7401 7A91 374 | TAG3 MDX L SW3,1 SET DIM NOT ALLOWABLE SW K0303670 375 | * K0303680 376 | * CHECKS FOR COMMON STMNTS K0303690 7AF1 C100 377 | LD 1 0 LOAD STMNT ID WORD K0303700 7AF2 1801 378 | SRA 1 K0303710 7AF3 E08D 379 | AND IDTPE GET STMNT ID TYPE K0303720 7AF4 909F 380 | S COMMC IS IT COMMON K0303730 7AF5 4C20 7B04 381 | BSC L TAG4,Z BRANCH IF NOT K0303740 382 | * K0303750 383 | * K0303760 7AF7 C005 384 | LD SW4 IS COMMON STMNT ALLOWED K0303770 7AF8 4C18 7A50 385 | BSC L ABEL,+- BRANCH IF YES K0303780 7AFA 70DD 386 | MDX BO SET STMNT OUT OF ORDER SW K0303790 387 | * K0303800 388 | * CONSTANTS K0303810 7AFB 0000 389 | MAM DC 0 ID STORAGE K0303820 7AFC 6400 390 | EXTER DC /6400 EXTERNAL K0303830 7AFD 0000 391 | SW4 DC 0 SWITCH 4 K0303840 7AFE 5400 392 | EQUIC DC /5400 EQUIVALENCE K0303850 7AFF 0000 393 | SW5 DC 0 SWITCH 5 K0303860 7B00 5800 394 | CONTC DC /5800 CONTINUE K0303870 7B01 0000 395 | DIP2 DC 0 TEMPORARY STORAGE K0303880 7B02 0000 396 | DIP3 DC 0 TEMPORARY STORAGE K0303890 7B03 E000 397 | GOTOC DC /E000 GO TO K0303900 398 | * K0303910 399 | * K0303920 7B04 7401 7AFD 400 | TAG4 MDX L SW4,1 SET COMMON NOT ALLOWED SW K0303930 401 | * K0303940 402 | * CHECKS FOR EQUIVALENCE STMNTS K0303950 7B06 C100 403 | LD 1 0 LOAD STMNT ID WORD K0303960 7B07 1801 404 | SRA 1 K0303970 7B08 E400 7A81 405 | AND L IDTPE GET STMNT ID TYPE K0303980 7B0A 90F3 406 | S EQUIC IS IT EQUIVALENCE K0303990 7B0B 4C20 7B12 407 | BSC L TAG5,Z BRANCH IF NOT K0304000 408 | * K0304010 409 | * K0304020 7B0D C0F1 410 | LD SW5 K0304030 7B0E E88B 411 | OR OKSW IS EQUIVALENCE STMNT K0304040 7B0F 4C18 7A50 412 | BSC L ABEL,+- ALLOWED - BRANCH IF YES K0304050 7B11 70C6 413 | MDX BO SET STMNT OUT OF ORDER SW K0304060 414 | * K0304070 415 | * K0304080 7B12 7401 7AFF 416 | TAG5 MDX L SW5,1 SET EQUIVALENCE NOT ALLOW K0304090 417 | * K0304100 418 | * CHECKS FOR CONTINUE STMNTS K0304110 7B14 C100 419 | LD 1 0 LOAD STMNT ID WORD K0304120 7B15 1801 420 | SRA 1 K0304130 7B16 E03D 421 | AND IDSTY GET STMNT ID TYPE K0304140 7B17 90E8 422 | S CONTC IS IT CONTINUE K0304150 7B18 4C20 7B56 423 | BSC L EFF,Z BRANCH IF NOT K0304160 424 | * K0304170 425 | * K0304180 7B1A C100 426 | LD 1 0 LOAD SWITCH ID WORD K0304190 7B1B 4C04 7B20 427 | BSC L MOVE,E BRANCH IF HAVE STMNT NO. K0304200 7B1D 400B 428 | BSI RMOV1 REMOVE WORD FROM STRING K0304210 7B1E 4C00 7A43 429 | BSC L ST1 CHECK STATEMENT K0304220 430 | * K0304230 431 | * UPDATES THE STRING I/P PT (XR1) K0304240 432 | * TO MOVE TO THE NEXT STMNT K0304250 7B20 C100 433 | MOVE LD 1 0 LOAD STMNT ID WORD K0304260 7B21 1802 434 | SRA 2 SHIFT RIGHT TO GET NORM K0304270 7B22 E400 7A87 435 | AND L IDNRM GET NORM K0304280 7B24 D001 436 | STO NXID+1 K0304290 7B25 7500 0000 437 | NXID MDX L1 GET ADDR OF NEXT STMNT K0304300 7B27 4C00 7A3E 438 | BSC L FIOCL SEE IF FI0 STMNT K0304310 439 | * K0304320 440 | * REMOVE STATEMENT FROM STRING K0304330 7B29 0000 441 | RMOV1 DC *-* RETURN ADDRESS K0304340 7B2A 69D6 442 | STX 1 DIP2 SAVE POINTER K0304350 7B2B 1802 443 | SRA 2 SHIFT NORM TO RIGHT K0304360 7B2C E400 7A87 444 | AND L IDNRM CLEAR ALL BUT NORM K0304370 445 | * K0304380 7B2E D400 7A88 446 | STO L NRMSV ADD NORM TO POINTER K0304390 7B30 80D0 447 | A DIP2 TO GET ADDRESS OF K0304400 7B31 D0D0 448 | STO DIP3 NEXT STATEMENT K0304410 449 | * K0304420 7B32 6680 7B02 450 | LDX I2 DIP3 INITIALIZE LOOP INPUT PT K0304430 7B34 C400 7A25 451 | LD L EOFS GET RANGE OF LOOP BY K0304440 7B36 90CA 452 | S DIP2 SUBTRACTING POINTER FROM K0304450 7B37 9400 7A88 453 | S L NRMSV END OF STRING THEN K0304460 7B39 D0C8 454 | STO DIP3 SUBTRACT NORM K0304470 455 | * K0304480 7B3A 6780 7B02 456 | LDX I3 DIP3 INITIALIZE RANGE COUNTER K0304490 7B3C 71FF 457 | MDX 1 -1 K0304500 7B3D 7301 458 | MDX 3 1 K0304510 7B3E C200 459 | LOOP1 LD 2 0 MOVE WORD DOWN K0304520 7B3F D101 460 | STO 1 1 TO NEW POSITION K0304530 7B40 7101 461 | MDX 1 1 MOVE POINTERS K0304540 7B41 7201 462 | MDX 2 1 K0304550 7B42 73FF 463 | MDX 3 -1 DECREMENT RANGE COUNTER K0304560 7B43 70FA 464 | MDX LOOP1 CONTINUE LOOP K0304570 7B44 6D00 7A25 465 | STX L1 EOFS NEW END OF STRING ADDRESS K0304580 7B46 6580 7B01 466 | LDX I1 DIP2 RESTORE INPUT POINTER K0304590 7B48 4C80 7B29 467 | BSC I RMOV1 RETURN K0304600 468 | * K0304610 469 | * K0304620 7B4A 0006 470 | ERR6 DC 6 ERROR NO. 6 K0304630 7B4B 0400 471 | IFC DC /0400 IF K0304640 7B4C C800 472 | ENDC DC /0800-/4000 END K0304650 7B4D E400 473 | RTNCN DC /4000-/5C00 RETURN K0304660 7B4E 2000 474 | STOPC DC /2000 STOP K0304670 7B4F 0012 475 | ERCN DC /14-/02 ERROR K0304680 7B50 6800 476 | CLKST DC /7000-/0800 CALL LINK K0304690 7B51 0001 477 | CETST DC /7001-/7000 CALL EIXT K0304700 7B52 A7FF 478 | CLTST DC /1800-/7001 CALL K0304710 7B53 B004 479 | CONT DC /B004 CONTINUE K0304720 7B54 7C01 480 | IDSTY DC /7C01 ID MASK K0304730 7B55 000C 481 | H000C DC /000C FORMAT STATEMENT 2-9 K0304731 482 | * K0304740 483 | * K0304750 484 | * CHECKS FOR THE PRESENCE OF K0304760 485 | * TRANSFER STATEMENTS K0304770 7B56 90AC 486 | EFF S GOTOC IS IT GO TO K0304780 7B57 4C18 7B6C 487 | BSC L MOVES,+- BRANCH IF YES K0304790 488 | * K0304800 489 | * K0304810 7B59 90F1 490 | S IFC IS IT IF K0304820 7B5A 4C18 7B6C 491 | BSC L MOVES,+- BRANCH IF YES K0304830 492 | * K0304840 493 | * K0304850 7B5C 90F1 494 | S STOPC IS IT STOP K0304860 7B5D 4C18 7B6C 495 | BSC L MOVES,+- BRANCH IF YES K0304870 496 | * K0304880 497 | * K0304890 7B5F 90ED 498 | S RTNCN IS IT RETURN K0304900 7B60 4C18 7B6C 499 | BSC L MOVES,+- BRANCH IF YES K0304910 500 | * K0304920 501 | * K0304930 7B62 90E9 502 | S ENDC IS IT END K0304940 7B63 4C18 7BAE 503 | BSC L INIT,+- BRANCH IF YES K0304950 504 | * K0304960 505 | * K0304970 7B65 90EA 506 | S CLKST IS IT CALL LINK K0304980 7B66 4C18 7B6C 507 | BSC L MOVES,+- BRANCH IF YES K0304990 508 | * K0305000 509 | * K0305010 7B68 90E8 510 | S CETST IS IT CALL EXIT K0305020 7B69 4C18 7B6C 511 | BSC L MOVES,+- BRANCH IF YES K0305030 7B6B 70B4 512 | MDX MOVE GO TO NEXT STMNT K0305040 513 | * K0305050 514 | * K0305060 515 | * K0305070 516 | * MOVE TO NEXT STATEMENT K0305080 7B6C C100 517 | MOVES LD 1 0 LOAD STMNT ID WORD K0305090 7B6D 1802 518 | SRA 2 SHIFT NORM TO RIGHT K0305100 7B6E E400 7A87 519 | AND L IDNRM GET NORM K0305110 7B70 D001 520 | STO NEXT+1 K0305120 521 | * K0305130 522 | * CHECKS FOR STMNT NUMBERS IN K0305140 523 | * STMNTS FOLLOWING TRANSFER K0305150 524 | * STMNTS K0305160 7B71 7500 0000 525 | NEXT MDX L1 GET ADDRESS OF NEXT STMNT K0305170 7B73 6D00 7A79 526 | STX L1 SAVE2+1 SAVE POINTER,TO BE USED2-9 K0305175 527 | * *IF ERR6 OCCURS 2-9 K0305176 528 | * K0305180 529 | * K0305190 7B75 C100 530 | CKEND LD 1 0 LOAD STMNT ID WORD K0305200 7B76 180B 531 | SRA 11 GET STMNT ID TYPE K0305210 7B77 9400 7A95 532 | S L TWO IS IT END K0305220 7B79 4C18 7BAE 533 | BSC L INIT,+- BRANCH IF YES K0305230 534 | * K0305240 535 | * K0305250 7B7B 90D3 536 | S ERCN IS IT ERROR K0305260 7B7C 4C18 7A43 537 | BSC L ST1,+- BRANCH IF YES K0305270 538 | * K0305280 539 | * DOES STATEMENT HAVE NUMBER K0305290 7B7E C100 540 | LD 1 0 LOAD STMNT ID WORD K0305300 7B7F 4C04 7B8E 541 | BSC L FMTST,E BRANCH IF HAS STMNT NO.2-9 K0305310 7B81 90D1 542 | S CONT IS IT CONTINUE K0305320 7B82 4C20 7B89 543 | BSC L STER6,Z BRANCH IF NOT K0305330 7B84 C100 544 | LD 1 0 LOAD STMNT ID WORD K0305340 7B85 4400 7B29 545 | BSI L RMOV1 REMOVE STMNT FROM STRING K0305350 7B87 4C00 7B75 546 | BSC L CKEND CHECK FOR END K0305360 547 | * K0305370 548 | * SET UP ERROR NO. 6 K0305380 7B89 C0C0 549 | STER6 LD ERR6 LOAD ERROR NO. 6 K0305390 7B8A D400 7A86 550 | STO L ERRNO STORE IN ERROR NO. K0305400 7B8C 6400 7A59 551 | LDX L CLOSE CLOSE UP STRING K0305410 552 | * K0305420 7B8E 6905 553 | FMTST STX 1 RESET+1 SAVE POINTER 2-9 K0305421 7B8F 180B 554 | FORMT SRA 11 IS IT 2-9 K0305422 7B90 90C4 555 | S H000C *FORMAT STATEMENT 2-9 K0305423 7B91 4C18 7B97 556 | BSC L LOOP2,+- BRANCH IF YES 2-9 K0305424 7B93 6500 0000 557 | RESET LDX L1 *-* RESET POINTER 2-9 K0305425 7B95 4C00 7A43 558 | BSC L ST1 GO OUT 2-9 K0305426 7B97 C100 559 | LOOP2 LD 1 0 LOAD STMNT ID WORD 2-9 K0305427 7B98 1802 560 | SRA 2 GET 2-9 K0305428 7B99 E400 7A87 561 | AND L IDNRM *NORM 2-9 K0305429 7B9B D001 562 | STO MDX1+1 *TO STEP UP POINTER 2-9 K0305430 7B9C 7500 0000 563 | MDX1 MDX L1 *-* *TO NEXT STATEMENT 2-9 K0305431 7B9E C100 564 | LD 1 0 LOAD STMNT ID WORD 2-9 K0305432 7B9F 180B 565 | SRA 11 GET ID TYPE 2-9 K0305433 7BA0 9400 7A95 566 | S L TWO IS IT END STATEMENT 2-9 K0305434 7BA2 4C18 7B93 567 | BSC L RESET,+- BRANCH IF YES 2-9 K0305435 7BA4 90AA 568 | S ERCN IS IT ERROR 2-9 K0305436 7BA5 4C18 7B93 569 | BSC L RESET,+- BRANCH IF YES 2-9 K0305437 7BA7 C100 570 | LD 1 0 IS IT STATEMENT NUMBER 2-9 K0305438 7BA8 4C04 7B8F 571 | BSC L FORMT,E BRANCH IF YES 2-9 K0305439 7BAA 90A8 572 | S CONT IS IT CONTINUE 2-9 K0305440 7BAB 4C18 7B97 573 | BSC L LOOP2,+- BRANCH IF YES 2-9 K0305441 7BAD 70DB 574 | MDX STER6 GO TO ERROR 6 2-9 K0305442 575 | * INITIALIZES THE PHASE 2-9 K0305443 576 | * K0305450 577 | * INITIALIZES THE PHASE K0305460 578 | * CHECKS FOR A PREVIOUS OVERLAP K0305470 579 | * ERROR K0305480 7BAE 6580 7A24 580 | INIT LDX I1 SOFS INITIALIZE INPUT POINTER K0305490 581 | * K0305500 7BB0 C400 7A2D 582 | LD L ERROR CHECK FOR OVERLAP ERROR K0305510 7BB2 4C20 7BC3 583 | BSC L EOP,Z BRANCH ON OVERLAP ERROR K0305520 584 | * K0305530 585 | * K0305540 586 | * CHECKS FOR THE END STMNT K0305550 587 | * CHECKS FOR A STMNT NO. IN STMNT K0305560 588 | * OTHER THAN END K0305570 7BB4 C100 589 | ENDST LD 1 LOAD STMNT ID WORD K0305580 7BB5 E03A 590 | AND IDCL GET STMNT ID TYPE K0305590 7BB6 903A 591 | S IDEND IS IT END K0305600 7BB7 4C18 7BC3 592 | BSC L EOP,+- BRANCH IF YES K0305610 593 | * K0305620 594 | * K0305630 7BB9 C100 595 | LD 1 DOES STMNT HAVE STMNT NO. K0305640 7BBA 4C04 7BFB 596 | BSC L LOOK,E BRANCH IF YES K0305650 597 | * K0305660 598 | * MOVE TO NEXT STATEMENT K0305670 7BBC C100 599 | MOVS LD 1 0 LOAD STMNT ID WORD K0305680 7BBD E034 600 | AND NMCL GET NORM K0305690 7BBE 1802 601 | SRA 2 MOVE NORM TO RIGHT K0305700 7BBF D001 602 | STO A+1 K0305710 7BC0 7500 0000 603 | A MDX L1 0 GET ADDR OF NEXT STMNT K0305720 7BC2 70F1 604 | MDX ENDST CHECK FOR END STMNT K0305730 605 | * K0305740 606 | * BRANCHES TO ROL ROUTINE TO LOAD K0305750 607 | * THE NEXT PHASE K0305760 7BC3 6580 7BC9 608 | EOP LDX I1 NXTPH+1 LOAD PARAM FOR READING K0305770 7BC5 C804 609 | LDD NXTPH+2 *NEXT PHASE K0305780 7BC6 4C00 7FBC 610 | BSC L ROL GO TO LOAD NEXT PHASE K0305790 7BC8 611 | BSS E 0 K0305800 7BC8 0022 612 | NXTPH DC 34 ID OF NEXT PHASE K0305810 7BC9 613 | BSS 3 LOADER TBL FOR NEXT PHASE K0305820 614 | * K0305830 615 | * REPLACES THE ERRONEOUS STMNT K0305840 616 | * WITH AN ERROR MESSAGE K0305850 617 | * CLOSES UP THE STRING K0305860 7BCC D101 618 | CLOZE STO 1 1 STORE ERROR NUMBER K0305870 7BCD C100 619 | LD 1 LOAD STMNT ID WORD K0305880 7BCE E023 620 | AND NMCL CLEAR ALL BUT NORM K0305890 7BCF 1802 621 | SRA 2 SHIFT NORM TO RIGHT K0305900 7BD0 D009 622 | STO C+1 K0305910 7BD1 C026 623 | LD ERTY LOAD ERROR STMNT ID WORD K0305920 7BD2 D100 624 | STO 1 PUT ON STRING K0305930 7BD3 691F 625 | STX 1 TEMP STORE INPUT POINTER K0305940 7BD4 6680 7BF3 626 | LDX I2 TEMP INITIALIZE LOOP OUTPUT PT K0305950 7BD6 7202 627 | MDX 2 2 MODIFY PT FOR STMNT SIZE K0305960 7BD7 6780 7BF3 628 | LDX I3 TEMP INITIALIZE LOOP INPUT PT K0305970 7BD9 7700 0000 629 | C MDX L3 MODIFY TO GET ADDRESS OF K0305980 7BDB 73FF 630 | MDX 3 -1 NEXT STATEMENT K0305990 7BDC 6B16 631 | STX 3 TEMP K0306000 7BDD 6919 632 | STX 1 TNKOK SAVE INPUT POINTER K0306010 7BDE C400 7A25 633 | LD L EOFS GET RANGE OF LOOP BY K0306020 7BE0 9012 634 | S TEMP SUBTRACTING POINTER FROM K0306030 7BE1 D011 635 | STO TEMP END OF STRING K0306040 7BE2 6580 7BF3 636 | LDX I1 TEMP LOAD RANGE OF LOOP K0306050 637 | * K0306060 7BE4 7301 638 | LOOPB MDX 3 1 RESET INPUT POINTER K0306070 7BE5 C300 639 | LD 3 MOVE WORD DOWN K0306080 7BE6 D200 640 | STO 2 IN STRING K0306090 7BE7 7201 641 | MDX 2 1 MOVE POINTER K0306100 7BE8 71FF 642 | MDX 1 -1 DECREMENT RANGE OF LOOP K0306110 7BE9 70FA 643 | MDX LOOPB CONTINUE LOOP K0306120 7BEA 6580 7BF7 644 | LDX I1 TNKOK RESET INPUT POINTER K0306130 7BEC 72FF 645 | MDX 2 -1 K0306140 7BED 6E00 7A25 646 | STX L2 EOFS NEW END OF STRING ADDRESS K0306150 7BEF 70CC 647 | MDX MOVS GO TO NEXT STATEMENT K0306160 648 | * K0306170 649 | * CONSTANTS AND WORKING STORAGE K0306180 7BF0 F800 650 | IDCL DC /F800 ID MASK K0306190 7BF1 1000 651 | IDEND DC /1000 END K0306200 7BF2 07FC 652 | NMCL DC /07FC NORM MASK K0306210 7BF3 0000 653 | TEMP DC 0 TEMPORARY STORAGE K0306220 7BF4 0200 654 | STNOC DC /0200 STMNT NO. SYMBOL TABLE ID K0306230 7BF5 0003 655 | THREE DC 3 THREE K0306240 7BF6 8000 656 | SIGN DC /8000 USEFUL CONSTANT K0306250 7BF7 0000 657 | TNKOK DC 0 TEMPORARY STORAGE K0306260 7BF8 A008 658 | ERTY DC /A008 ERROR STMNT ID WORD K0306270 7BF9 0002 659 | C2 DC 2 TWO K0306280 7BFA 0009 660 | C9 DC 9 NINE K0306290 661 | * K0306300 662 | * SCANS THE SYMBOL TABLE FOR A K0306310 663 | * DUPLICATE STMNT NUMBER K0306320 7BFB 6680 7A26 664 | LOOK LDX I2 SOFST INITIALIZE SYMBOL TABLE PT K0306330 7BFD 7001 665 | MDX RETRY+1 SKIP NEXT INSTRUCTION K0306340 7BFE 72FD 666 | RETRY MDX 2 -3 GO TO NEXT TABLE ENTRY K0306350 7BFF 6AF3 667 | STX 2 TEMP SAVE POINTER K0306360 7C00 C0F2 668 | LD TEMP HAS ENTIRE SYMBOL TABLE K0306370 7C01 9400 7A2A 669 | S L EOFST BEEN CHECKED FOR DUPLICATE K0306380 7C03 4C18 7C0F 670 | BSC L PUTIN,+- BRANCH IF YES K0306390 671 | * K0306400 7C05 C201 672 | LD 2 1 COMPARE FIRST WORD K0306410 7C06 9101 673 | S 1 1 OF NAMES - IF UNEQUAL K0306420 7C07 4C20 7BFE 674 | BSC L RETRY,Z GET NEW TABLE ENTRY K0306430 7C09 C202 675 | LD 2 2 COMPARE SECOND WORD OF K0306440 7C0A 9102 676 | S 1 2 NAMES - IF UNEQUAL GET NEW K0306450 7C0B 4C20 7BFE 677 | BSC L RETRY,Z SYMBOL TABLE ENTRY K0306460 678 | * K0306470 679 | * SET UP ERROR NO. 9 K0306480 7C0D C0EC 680 | LD C9 LOAD ERROR NO. K0306490 7C0E 70BD 681 | MDX CLOZE CLOSE UP STRING K0306500 682 | * K0306510 683 | * PLACES THE STMNT NO. INTO THE K0306520 684 | * SYM TBL - UPDATES THE FORTRAN K0306530 685 | * COMMUNICATIONS AREA TO REFLECT K0306540 686 | * CHANGES IN THE TABLE'S LENGTH - K0306550 687 | * REPLACES THE STRING AREA STMNT K0306560 688 | * NUMBER WITH THE SYMBOL TABLE K0306570 689 | * ADDR WHERE IT IS NOW LOCATED K0306580 690 | * K0306590 7C0F C101 691 | PUTIN LD 1 1 LOAD 1ST WORD IN NAME K0306600 7C10 D201 692 | STO 2 1 PUT IN SYMBOL TABLE K0306610 7C11 C102 693 | LD 1 2 LOAD 2ND WORD IN NAME K0306620 7C12 D202 694 | STO 2 2 PUT IN SYMBOL TABLE K0306630 7C13 C0E0 695 | LD STNOC LOAD SYMBOL TABLE ID WORD K0306640 7C14 D200 696 | STO 2 PUT IN SYMBOL TABLE K0306650 697 | * K0306660 7C15 72FD 698 | MDX 2 -3 MOVE SYMBOL TABLE POINTER K0306670 7C16 6E00 7A27 699 | STX L2 SOFNS NEW START OF NON-STMNT-NOS K0306680 7C18 6E00 7A2A 700 | STX L2 EOFST NEW END OF SYMBOL TABLE K0306690 7C1A 74FD 7A28 701 | MDX L SOFXT,-3 NEW START OF SUBSCR-TEMP K0306700 7C1C 74FD 7A29 702 | MDX L SOFGT,-3 NEW START OF GENER-TEMP K0306710 703 | * K0306720 704 | * PUT RELATIVE ADDRESS IN STRING K0306730 7C1E C400 7A26 705 | LD L SOFST GET SIZE OF SYMBOL TABLE K0306740 7C20 9400 7A2A 706 | S L EOFST K0306750 7C22 1890 707 | SRT 16 SHIFT FOR DIVIDE K0306760 7C23 A8D1 708 | D THREE GET NO. OF ENTRIES IN TBL K0306770 7C24 E8D1 709 | OR SIGN PUT IN SIGN K0306780 7C25 D101 710 | STO 1 1 STORE IN STRING K0306790 7C26 6901 711 | STX 1 B+1 SAVE INPUT POINTER K0306800 7C27 74FC 0000 712 | B MDX L 0,-4 MODIFY NORM BY -1 K0306810 7C29 6780 7C28 713 | LDX I3 B+1 INITIALIZE POINTER K0306820 7C2B 7302 714 | MDX 3 2 MOVE POINTER K0306830 7C2C C400 7A25 715 | LD L EOFS GET RANGE OF MOVE LOOP K0306840 7C2E 90F9 716 | S B+1 K0306850 7C2F D0C3 717 | STO TEMP K0306860 7C30 6680 7BF3 718 | LDX I2 TEMP INITIALIZE RANGE COUNTER K0306870 7C32 72FE 719 | MDX 2 -2 MODIFY RANGE K0306880 7C33 C301 720 | LOOPA LD 3 1 MOVE WORD DOWN K0306890 7C34 D300 721 | STO 3 IN STRING K0306900 7C35 7301 722 | MDX 3 1 MOVE POINTER K0306910 7C36 72FF 723 | MDX 2 -1 DECREMENT RANGE K0306920 7C37 70FB 724 | MDX LOOPA CONTINUE LOOP K0306930 7C38 74FF 7A25 725 | MDX L EOFS,-1 NEW END OF STRING ADDRESS K0306940 726 | * K0306950 727 | * SYMBOL TABLE OVERLAP K0306960 7C3A C400 7A25 728 | LD L EOFS LOAD END OF STRING K0306970 7C3C 9400 7A2A 729 | S L EOFST CHECK FOR OVERLAP BY SUBTR K0306980 7C3E 4C28 7BBC 730 | BSC L MOVS,+Z BRANCH NO OVERLAP 2-9 K0307000 731 | * K0307010 732 | * SET UP OVERLAP ERROR K0307020 7C40 7401 7A2D 733 | MDX L ERROR,1 SET ERROR INDICATOR K0307030 7C42 4C00 7BC3 734 | BSC L EOP GO TO END OF PHASE K0307040 7C44 735 | BSS BPHAR+PHLEN*320-1-* PATCH AREA 2-9 K0307050 7CB5 0000 736 | DC 0 K0307060 7CB6 737 | END BPHAR-2 K0307070 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $PHSE 0078 94 150 A 7BC0 603 602 ABEL 7A50 185 324 328 341 345 357 370 385 412 B 7C27 712 711 713 716 BO 7AD8 344 177 320 371 386 413 BPHAR 7A36 140 735 737 C 7BD9 629 622 C2 7BF9 659 C9 7BFA 660 680 CCWD 7A31 114 CETST 7B51 477 510 CKEND 7B75 530 546 CKRL 7ACE 332 316 CLKST 7B50 476 506 CLOSE 7A59 202 551 CLOZE 7BCC 618 681 CLTST 7B52 478 COMMC 7A94 264 380 COMON 7A2B 108 CONT 7B53 479 542 572 CONTC 7B00 394 422 CSIZE 7A2C 109 DATAS 7A99 269 315 DFCNT 7A33 134 DFILE 7A98 268 311 DIMC 7A93 263 365 DIP 7A8C 256 275 280 292 DIP1 7A8D 257 277 278 DIP2 7B01 395 442 447 452 466 DIP3 7B02 396 448 450 454 456 EFF 7B56 486 423 ENDC 7B4C 472 502 ENDST 7BB4 589 604 EOFS 7A25 102 209 232 279 291 451 465 633 646 715 725 728 EOFST 7A2A 107 669 700 706 729 EOP 7BC3 608 583 592 734 EQUIC 7AFE 392 406 ER5 7A56 193 ERCN 7B4F 475 536 568 ERR5 7A85 249 193 ERR6 7B4A 470 549 ERRID 7A8A 254 207 ERRNO 7A86 250 194 218 550 ERROR 7A2D 110 151 582 733 ERTY 7BF8 658 623 EXTER 7AFC 390 356 FIOC 7A7E 242 160 FIOCL 7A3E 158 438 FMTST 7B8E 553 541 FNAME 7A2E 111 FORMT 7B8F 554 571 FUNCK 7A82 246 168 GET 7A80 244 222 223 GOTOC 7B03 397 486 H000C 7B55 481 555 IDCL 7BF0 650 590 IDEND 7BF1 651 591 IDNRM 7A87 251 204 435 444 519 561 IDSTY 7B54 480 421 IDTPE 7A81 245 167 334 364 379 405 IFC 7B4B 471 490 INIT 7BAE 580 152 503 533 INTC 7A92 262 350 IOCS 7A32 123 JACK 7A53 189 296 JIM 7A4B 176 305 LOOK 7BFB 664 596 LOOP 7AA8 285 290 LOOP1 7B3E 459 464 LOOP2 7B97 559 556 573 LOOPA 7C33 720 724 LOOPB 7BE4 638 643 LOOZ 7A6F 225 231 MAM 7AFB 389 335 355 MDX1 7B9C 563 562 MEMRY 8000 91 92 93 MINUS 7A96 266 303 MOVE 7B20 433 161 190 239 427 512 MOVES 7B6C 517 487 491 495 499 507 511 MOVS 7BBC 599 647 730 NEXT 7B71 525 520 NMCL 7BF2 652 600 620 NRMSV 7A88 252 205 212 221 446 453 NXID 7B25 437 436 NXTPH 7BC8 612 143 608 609 OKSW 7A9A 270 327 411 ONE 7A7F 243 172 ORG 7A23 100 OVERL 7A23 92 96 PHID 0021 97 149 PHLEN 0002 95 735 PUTIN 7C0F 691 670 RANGE 7A8B 255 213 214 282 283 REALC 7A8F 259 336 RESET 7B93 557 553 567 569 RETRY 7BFE 666 665 674 677 RMOV1 7B29 441 428 467 545 RMOVE 7A9B 275 186 ROL 7FBC 93 610 RTNCN 7B4D 473 498 SAVE1 7A89 253 206 211 220 233 SAVE2 7A78 234 195 526 SIGN 7BF6 656 709 SOFGT 7A29 106 702 SOFNS 7A27 104 699 SOFS 7A24 101 155 580 SOFST 7A26 103 664 705 SOFXT 7A28 105 701 SON 7AD5 340 351 SORF 7A30 113 173 304 ST1 7A43 165 429 537 558 START 7A36 149 STER6 7B89 549 543 574 STNOC 7BF4 654 695 STOPC 7B4E 474 494 SUBRC 7A8E 258 299 SUBRT 7AB6 299 169 SW1 7A83 247 176 180 308 SW2 7A90 260 340 354 SW3 7A91 261 369 374 SW4 7AFD 391 323 384 400 SW5 7AFF 393 319 410 416 SW7 7A84 248 189 238 344 TAG3 7AEF 374 366 TAG4 7B04 400 381 TAG5 7B12 416 407 TEMP 7BF3 653 625 626 628 631 634 635 636 667 668 717 718 TENT 7ABD 308 300 TENT1 7ADC 350 337 THREE 7BF5 655 708 TNKOK 7BF7 657 632 644 TSTOK 7AC5 319 312 TWO 7A95 265 281 532 566 VALYU 7A97 267 294