ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:06 2020 Source File: \kforph14.asm 1130 FORTRAN COMPILER PHASE 14 2 | *************************************************** K1400020 3 | *STATUS - VERSION 2 MODIFICATION 10 * K1400030 4 | * * K1400040 5 | *FUNCTION/OPERATION- * K1400050 6 | * * CHECKS FOR VALID SYNTAX IN DO STATEMENTS * K1400060 7 | * AND IN NESTED DO-LOOPS * K1400070 8 | * * GENERATES THE CODING NEEDED TO PERFORM THE * K1400080 9 | * DO-TEST. * K1400090 10 | * * CHECKS THE SYNTAX OF DO, CONTINUE, BACK- * K1400100 11 | * SPACE, REWIND, END FILE, STOP, PAUSE, AND * K1400110 12 | * END STATEMENTS * K1400120 13 | * * CHECKS FOR A GO TO, IF, STOP, CALL LINK, * K1400130 14 | * CALL EXIT, OR RETURN STATEMENT AS THE LAST * K1400140 15 | * EXECUTABLE STATEMENT OF THE SOURCE PROGRAM. * K1400150 16 | * * K1400160 17 | *ENTRY POINTS- * K1400170 18 | * START-PHASE 14 IS READ INTO CORE BY PHASE 13 * K1400180 19 | * AND EXECUTION BEGUN AT LOCATION START. * K1400190 20 | * * K1400200 21 | *INPUT- * K1400210 22 | * NONE IN THE USUAL SENSE. HOWEVER THE STMNT * K1400220 23 | * STRING SCANNED BY THE COMPILER MAY BE * K1400230 24 | * CONSIDERED INPUT * K1400240 25 | * * K1400250 26 | *OUTPUT- * K1400260 27 | * NONE IN THE USUAL SENSE HOWEVER, THE STMNT * K1400270 28 | * STRING AND THE SYMBOL TABLE ALTERED BY THE * K1400280 29 | * COMPILER MAY BE CONSIDERED OUTPUT. * K1400290 30 | * * K1400300 31 | *EXTERNAL REFERENCES-N/A * K1400310 32 | * * K1400320 33 | *EXITS- * K1400330 34 | * NORMAL- * K1400340 35 | * PHASE EXITS NORMALLY IF NO ERRORS ARE * K1400350 36 | * FOUND. PHASE 15 IS LOADED AND EXECUTED * K1400360 37 | * ERROR- * K1400370 38 | * THE FLOW OF COMPILER PROCESSING IS NOT * K1400380 39 | * INTERRUPTED WHEN AN ERROR IS ENCOUNTERED. * K1400390 40 | * AN ERROR STMNT REPLACES THE FAULTY STMNT * K1400400 41 | * ON THE STRING AND STMNT SCANNING PROCESS * K1400410 42 | * CONTINUES. AN EXCEPTION OCCURS IN THE CASE * K1400420 43 | * OF AN OVERLAP ERROR. COMPILATION IS * K1400430 44 | * ABORTED AND CONTROL IS PASSED FROM PHASE * K1400440 45 | * TO SUCCEEDING PHASE UNTIL AN OUTPUT PHASE * K1400450 46 | * IS REACHED WHICH CAN PRINT AN ERROR MESSAGE* K1400460 47 | * THE ERRORS DETECTED BY PHASE 14 ARE 51, * K1400470 48 | * 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, * K1400480 49 | * AND 62. * K1400490 50 | * * K1400500 51 | *TABLES/WORK AREAS- * K1400510 52 | * NONE EXCEPT STATEMENT STRING AREA, SYMBOL * K1400520 53 | * TABLE, AND FORTRAN COMMUNICATION AREA * K1400530 54 | * * K1400540 55 | *ATTRIBUTES-N/A * K1400550 56 | * * K1400560 57 | *NOTES- * K1400570 58 | * THE SWITCHES USED IN PHASE 14 FOLLOW. IF NON- * K1400580 59 | * ZERO, THE SWITCH IS TRANSFER=T. IF ZERO, THE * K1400590 60 | * SWITCH IS NORMAL=N. * K1400600 61 | * NORM2-PAUSE OR STOP STATEMENT * K1400610 62 | * T#PAUSE OR STOP FOUND * K1400620 63 | *************************************************** K1400630 64 | ABS K1400640 65 | * K1400650 66 | * SYSTEM EQUATES K1400660 8000 67 | MEMRY EQU /8000 K1400670 7A23 68 | OVERL EQU MEMRY-1501 START OF FCOM K1400680 7FBC 69 | ROL EQU MEMRY-68 LOCN OF RTN TO READ NXT PH K1400690 0078 70 | $PHSE EQU /78 NO. OF PHASE NOW IN CORE K1400700 0004 71 | PHLEN EQU 4 NO SECTORS THIS PHASE K1400705 7A23 72 | ORG OVERL K1400710 002C 73 | PHID EQU 44 ID NUMBER THIS PHASE K1400720 74 | * K1400730 75 | * FORTRAN COMMUNICATION AREA K1400740 7A23 76 | ORG BSS 1 ORIGIN ADDRESS 2-4 K1400745 7A24 77 | SOFS BSS 1 START OF STRING K1400750 7A25 78 | EOFS BSS 1 END OF STRING K1400760 7A26 79 | SOFST BSS 1 START OF SYMBOL TABLE K1400770 7A27 80 | SOFNS BSS 1 START OF NON-STATEMENT NUMBERS K1400780 7A28 81 | SOFXT BSS 1 START OF SUBSCRIPT TEMPORARIES K1400790 7A29 82 | SOFGT BSS 1 START OF GENERATED TEMPORARIES K1400800 7A2A 83 | EOFST BSS 1 END OF SYMBOL TABLE K1400810 7A2B 84 | COMON BSS 1 NEXT AVAILABLE COMMON K1400820 7A2C 85 | CSIZE BSS 1 SIZE OF COMMON K1400830 7A2D 86 | ERROR BSS 1 OVERLAP ERROR K1400840 7A2E 87 | FNAME BSS 1 PROGRAM NAME K1400850 7A2F 88 | BSS 1 K1400860 7A30 89 | SORF BSS 1 SUBROUTINE(-) OR FUNCTION(+) K1400870 7A31 90 | CCWD BSS 1 CONTROL CARD WORD K1400880 91 | * BIT 15 TRANSFER TRACE K1400890 92 | * BIT 14 ARITHMETIC TRACE K1400900 93 | * BIT 13 EXTENDED PRECISION K1400910 94 | * BIT 12 LIST SYMBOL TABLE K1400920 95 | * BIT 11 LIST SUBPROGRAM NAMES K1400930 96 | * BIT 10 LIST SOURCE PROGRAM K1400940 97 | * BIT 9 ONE WORD INTEGERS K1400950 98 | * BIT 8 ORIGIN 2-4 K1400955 7A32 99 | IOCS BSS 1 IOCS CONTROL CARD WORD K1400960 100 | * BIT 15 CARD K1400970 101 | * BIT 14 PAPER TAPE K1400980 102 | * BIT 13 TYPEWRITER K1400990 103 | * BIT 12 1403 PRINTER K1401000 104 | * BIT 11 2501 READER K1401010 105 | * BIT 10 KEYBOARD K1401020 106 | * BIT 9 1442 PUNCH K1401030 107 | * BIT 8 DISK K1401040 108 | * BIT 7 1132 PRINTER K1401050 109 | * BIT 3 PLOTTER K1401060 7A33 110 | DFCNT BSS 1 K1401070 111 | * K1401080 112 | * K1401090 113 | * END OF FORTRAN COMMUNICATION K1401100 114 | * AREA K1401110 115 | * K1401120 116 | * K1401130 7A36 117 | BPHAR EQU *+2 K1401140 7A34 0000 118 | DC 0 LOADER WORK AREA. K1401150 7A35 FFD4 119 | DC -44 -PHASE ID FOR SLET LOOKUP K1401160 7A36 00E4 120 | DC NXTPH-*+1 TABLE FOR NEXT PHASE ENTRY K1401170 7A37 0001 121 | DC 1 ONE ENTRY TO BE SET BY LDR K1401180 7A36 122 | ORG *-2 K1401190 123 | * K1401200 7A36 612C 124 | START LDX 1 PHID GET ID THIS PHASE K1401210 7A37 6D00 0078 125 | STX L1 $PHSE STORE IN SYSTEM PHASE AREA K1401220 126 | * CHECKS FOR A SYM TBL OVERLAP K1401230 127 | * INITIALIZES THE STRING POINTER K1401240 128 | * K1401250 129 | * K1401260 7A39 C0F3 130 | LD ERROR TEST FOR OVERLAP ERROR K1401270 7A3A 4C20 7B14 131 | BSC L OUT,Z BRANCH IF ERROR K1401280 132 | * K1401290 133 | * INITIALIZE PHASE K1401300 7A3C 6580 7A24 134 | LDX I1 SOFS INITIALIZE INPUT POINTER K1401310 7A3E 6700 7A6D 135 | LDX L3 TABLE-4 INITIALIZE DO TABLE PT K1401320 7A40 1010 136 | SLA 16 CLEAR FIRST WORD K1401330 7A41 D304 137 | STO 3 +4 OF DO TABLE K1401340 138 | * K1401350 139 | * K1401360 140 | * CHECKS FOR END, DO, STOP, AND K1401370 141 | * PAUSE STATEMENTS K1401380 7A42 C100 142 | ABEL LD 1 0 LOAD STMNT ID WORD K1401390 7A43 6D00 7C18 143 | STX L1 PAVE SAVE ADDRESS OF ID WORD K1401400 7A45 1802 144 | SRA 2 K1401410 7A46 E01E 145 | AND IDTPE GET STMNT ID TYPE K1401420 7A47 901F 146 | S ENDC IS IT END STMNT K1401430 7A48 4C18 7AFA 147 | BSC L DOTBL,+- BRANCH IF YES K1401440 148 | * K1401450 149 | * K1401460 7A4A 901D 150 | S DOC IS IT DO STMNT K1401470 7A4B 4C18 7B25 151 | BSC L FULL,+- BRANCH IF YES K1401480 152 | * K1401490 153 | * K1401500 7A4D 901B 154 | S BACKC IS IT BACKSPACE K1401510 7A4E 4C18 7D17 155 | BSC L CALL1,+- BRANCH IF YES K1401520 156 | * K1401530 157 | * K1401540 7A50 9019 158 | S WINDC IS IT REWIND K1401550 7A51 4C18 7D1D 159 | BSC L CALL2,+- BRANCH IF YES K1401560 160 | * K1401570 161 | * K1401580 7A53 9017 162 | S FILEC IS IT END FILE K1401590 7A54 4C18 7D23 163 | BSC L CALL3,+- BRANCH IF YES K1401600 164 | * K1401610 165 | * K1401620 7A56 9015 166 | S STOPC IS IT STOP K1401630 7A57 4C18 7D29 167 | BSC L CALL4,+- BRANCH IF YES K1401640 168 | * K1401650 169 | * K1401660 7A59 9013 170 | S PAUSC IS IT PAUSE K1401670 7A5A 4C18 7D2F 171 | BSC L CALL5,+- BRANCH IF YES K1401680 172 | * K1401690 173 | * K1401700 7A5C 9011 174 | S CONTQ IS IT CONTINUE K1401710 7A5D 4C18 7AF4 175 | BSC L CNTST,+- BRANCH IF YES K1401720 176 | * K1401730 177 | * K1401740 178 | * CHECKS FOR NUMBERED STMNTS K1401750 7A5F C100 179 | BAKER LD 1 0 DOES STMNT HAVE STMNT NO. K1401760 7A60 4C04 7B68 180 | BSC L TINUE,E BRANCH IF YES K1401770 181 | * K1401780 182 | * K1401790 7A62 4400 7DCF 183 | BSI L MOVE MOVE TO NEXT STATEMENT K1401800 7A64 70DD 184 | MDX ABEL START STMNT CHECK K1401810 185 | * K1401820 186 | * CONSTANTS K1401830 7A65 3E00 187 | IDTPE DC /3E00 STMNT ID TYPE MASK K1401840 7A66 01FF 188 | IDNRM DC /01FF NORM MASK K1401850 7A67 0400 189 | ENDC DC /0400 END K1401860 7A68 1200 190 | DOC DC /1200 DO K1401870 7A69 EC00 191 | BACKC DC /EC00 BACK SPACE K1401880 7A6A 0800 192 | WINDC DC /0800 REWIND K1401890 7A6B FC00 193 | FILEC DC /FC00 END FILE K1401900 7A6C 2800 194 | STOPC DC /2800 STOP K1401910 7A6D F800 195 | PAUSC DC /F800 PAUSE K1401920 7A6E 0600 196 | CONTQ DC /2C00-/2600 CONTINUE K1401930 7A6F 0002 197 | TWO DC 2 TWO K1401940 7A70 0001 198 | ONE DC 1 ONE K1401950 7A71 199 | TABLE BSS 126 DO TABLE K1401960 7AEF 0033 200 | ERR51 DC 51 ERROR NO. 51 K1401970 7AF0 A008 201 | ERRID DC /A008 ERROR STMNT ID WORD K1401980 7AF1 A00D 202 | ERSID DC /A00D ERROR STMNT ID WITH NO. K1401990 7AF2 B009 203 | CNTOK DC /B009 CONTINUE STMNT ID WORD K1402000 7AF3 0035 204 | ERQ53 DC 53 ERROR NO. 53 K1402010 205 | * K1402020 206 | * K1402030 7AF4 C100 207 | CNTST LD 1 0 LOAD STMNT ID WORD K1402040 7AF5 90FC 208 | S CNTOK IS ID WORD OK K1402050 7AF6 4C18 7A5F 209 | BSC L BAKER,+- BRANCH IF YES K1402060 210 | * K1402070 211 | * K1402080 7AF8 C0FA 212 | LD ERQ53 SET UP ERROR NO. 53 K1402090 7AF9 7031 213 | MDX CLOS1+1 PUT ERROR STMNT ON STRING K1402100 214 | * K1402110 215 | * K1402120 216 | * CHECKS TO INSURE THAT THE DO K1402130 217 | * TABLE IS EMPTY AT THE END K1402140 218 | * OF PHASE K1402150 7AFA C304 219 | DOTBL LD 3 +4 IS DO TABLE EMPTY K1402160 7AFB 4C18 7D85 220 | BSC L OUT1,+- BRANCH IF YES K1402170 221 | * K1402180 222 | * K1402190 7AFD D101 223 | STO 1 1 STORE DO RANGE STMNT NO. K1402200 7AFE C100 224 | LD 1 0 LOAD STMNT ID WORD K1402210 7AFF D103 225 | STO 1 3 PUT BACK ON STRING K1402220 7B00 C0EE 226 | LD ERR51 LOAD ERROR NO. 51 K1402230 7B01 D102 227 | STO 1 2 PUT ON STRING K1402240 7B02 C0EE 228 | LD ERSID LOAD ERROR STMNT ID WORD K1402250 7B03 D100 229 | STO 1 0 PUT ON STRING K1402260 7B04 7103 230 | MDX 1 3 MOVE INPUT PT K1402270 7B05 73FB 231 | MDX 3 -5 MOVE DO TABLE PT K1402280 7B06 6D00 7A25 232 | STX L1 EOFS NEW END OF STRING ADDRESS K1402290 233 | * K1402300 234 | * K1402310 7B08 C400 7A2A 235 | LD L EOFST CHECK FOR OVERLAP K1402320 7B0A 8400 7A6F 236 | A L TWO BETWEEN STRING AND K1402330 7B0C 9400 7A25 237 | S L EOFS SYMBOL TABLE K1402340 7B0E 4C10 7AFA 238 | BSC L DOTBL,- BRANCH IF NO OVERLAP K1402350 239 | * K1402360 240 | * K1402370 7B10 C400 7A70 241 | JIMY LD L ONE SET UP K1402380 7B12 D400 7A2D 242 | STO L ERROR OVERLAP ERROR K1402390 243 | * K1402400 244 | * TRANSFERS TO THE ROL ROUTINE K1402410 245 | * TO LOAD THE NEXT PHASE K1402420 7B14 6580 7B1B 246 | OUT LDX I1 NXTPH+1 LOAD PARAM FOR READING K1402430 7B16 C805 247 | LDD NXTPH+2 NEXT PHASE K1402440 7B17 4C00 7FBC 248 | BSC L ROL GO TO READ NEXT PHASE K1402450 7B1A 249 | BSS E 0 K1402460 7B1A 002D 250 | NXTPH DC 45 ID OF NEXT PHASE K1402470 7B1B 251 | BSS 3 LOADER TABLE FOR NEXT PHS K1402480 252 | * K1402490 253 | * CONSTANTS K1402500 7B1E 0000 254 | NRMSV DC 0 TEMPORARY STORGE FOR NORM K1402510 7B1F 0000 255 | ERRNO DC 0 ERROR NUMBER K1402520 7B20 2C00 256 | CONTC DC /2C00 CONTINUE ID TYPE K1402530 7B21 0000 257 | DIP DC 0 TEMPORARY STORAGE K1402540 7B22 C027 258 | DOTID DC /C027 DO STMNT ID WORD - NORM 9 K1402550 7B23 0034 259 | ERR52 DC 52 ERROR NO. 52 K1402560 7B24 7AEA 260 | TBCN DC TABLE+121 END OF TABLE K1402570 261 | * K1402580 262 | * K1402590 263 | * CHECKS FOR MORE THAN 25 ENTRIES K1402600 264 | * IN THE DO TABLE K1402610 7B25 6BFB 265 | FULL STX 3 DIP STORE DO TABLE POINTER K1402620 7B26 C0FA 266 | LD DIP IS DO TABLE K1402630 7B27 90FC 267 | S TBCN FULL K1402640 7B28 4C28 7C1A 268 | BSC L CEE,Z+ BRANCH NOT FULL K1402650 269 | * K1402660 270 | * K1402670 7B2A C0F8 271 | CLOS1 LD ERR52 SET UP K1402680 7B2B D0F3 272 | STO ERRNO ERROR NO. 52 K1402690 7B2C 6B2E 273 | STX 3 SAVE3+1 SAVE DO TABLE PTR K1402700 274 | * K1402710 275 | * REPLACES THE ERRONEOUS STMNT K1402720 276 | * WITH AN ERROR MESSAGE K1402730 277 | * CLOSES UP THE STRING K1402740 7B2D 6580 7C18 278 | CLOSE LDX I1 PAVE LOAD STMNT ID WORD ADDR K1402750 7B2F C100 279 | LD 1 0 LOAD STMNT ID WORD K1402760 7B30 1802 280 | SRA 2 GET STMNT K1402770 7B31 E400 7A66 281 | AND L IDNRM NORM K1402780 7B33 D0EA 282 | STO NRMSV SAVE NORM K1402790 7B34 8400 7C18 283 | A L PAVE GET ADDRESS OF NEXT STMNT K1402800 7B36 D001 284 | STO GET+1 ID WORD K1402810 7B37 6600 0000 285 | GET LDX L2 0 INITIALIZE LOOP INPUT PT K1402820 7B39 C100 286 | LD 1 0 LOAD STMNT ID WORD K1402830 7B3A 4C04 7B3D 287 | BSC L CALD,E BRANCH IF HAVE STMNT NO. K1402840 7B3C 7004 288 | MDX CALD+4 K1402850 7B3D C027 289 | CALD LD ERIID LOAD ERROR ID WORD K1402860 7B3E D100 290 | STO 1 0 PUT ON STRING K1402870 7B3F 7101 291 | MDX 1 1 MOVE PT OVER STMNT NO. K1402880 7B40 7003 292 | MDX CALD+7 PUT ERROR NO. ON STRING K1402890 7B41 C400 7AF0 293 | LD L ERRID LOAD ERROR ID WORD K1402900 7B43 D100 294 | STO 1 0 PUT ON STRING K1402910 7B44 C0DA 295 | LD ERRNO LOAD ERROR NO. K1402920 7B45 D101 296 | STO 1 1 PUT ON STRING K1402930 7B46 7101 297 | MDX 1 1 MOVE POINTER K1402940 7B47 C400 7A25 298 | LD L EOFS FIND RANGE K1402950 7B49 9400 7C18 299 | S L PAVE OF STRING K1402960 7B4B 90D2 300 | S NRMSV TO BE K1402970 7B4C D001 301 | STO RANGE+1 MOVED K1402980 7B4D 6700 0000 302 | RANGE LDX L3 0 INITIALIZE RANGE CTR K1402990 7B4F 7301 303 | MDX 3 1 K1403000 7B50 C200 304 | LOOP1 LD 2 0 MOVE WORD DOWN K1403010 7B51 D101 305 | STO 1 1 IN STRING K1403020 7B52 7101 306 | MDX 1 1 MOVE POINTERS K1403030 7B53 7201 307 | MDX 2 1 K1403040 7B54 73FF 308 | MDX 3 -1 DECREMENT RANGE COUNTER K1403050 7B55 70FA 309 | MDX LOOP1 CONTINUE LOOP K1403060 7B56 6D00 7A25 310 | STX L1 EOFS NEW END OF STRING ADDRESS K1403070 7B58 6580 7C18 311 | LDX I1 PAVE RESTORE INPUT PT K1403080 7B5A 6700 0000 312 | SAVE3 LDX L3 0 RESTORE DO TBL PT K1403090 7B5C 6400 7A5F 313 | LDX L BAKER CHECK FOR STMNT NO. K1403100 314 | * K1403110 315 | * CONSTANTS K1403120 7B5E 0000 316 | WHY DC 0 TEMPORARY STORAGE FOR PT K1403130 7B5F 0800 317 | LOADI DC /0800 LOAD INSTRUCTION K1403140 7B60 1800 318 | ADDI DC /1800 ADD INSTRUCTION K1403150 7B61 1000 319 | STOI DC /1000 STORE INSTRUCTION K1403160 7B62 2000 320 | SUBTI DC /2000 SUBTRACT INSTRUCTION K1403170 7B63 5008 321 | BSCI DC /5008 BSC I INSTRUCTION K1403180 7B64 3000 322 | DOXID DC /3000 DO STMNT ID K1403190 7B65 A00D 323 | ERIID DC /A00D ERROR STMNT ID WORD K1403200 7B66 FFFD 324 | FIDWD DC /C-/F FORMAT 2-6 K1403210 7B67 0033 325 | NO51E DC 51 ERROR NO 51 K1403220 326 | * K1403230 327 | * K1403240 328 | * CHECKS FOR AN EQUIVALENCE STMNT K1403250 329 | * NO. IN THE DO TABLE K1403260 330 | * CHECKS FOR A TRANSFER STMNT K1403270 7B68 C101 331 | TINUE LD 1 1 LOAD WORD K1403280 7B69 9304 332 | S 3 4 IS IT DO RANGE STMNT NO. K1403290 7B6A 4C20 7A62 333 | BSC L BAKER+3,Z BRANCH IF NOT K1403300 334 | * K1403310 335 | * K1403320 7B6C 4400 7E3E 336 | BSI L TRCKS CHECK IF TRANSFER STMNT K1403330 7B6E 7B70 337 | DC *+1 BRANCH IF TRANSFER K1403340 7B6F 7B72 338 | DC PPEM BRANCH IF NO TRANSFER K1403350 339 | * K1403360 340 | * K1403370 7B70 C0F6 341 | ER51 LD NO51E SET UP K1403380 7B71 70B9 342 | MDX CLOS1+1 ERROR NO. 51 K1403390 343 | * K1403400 344 | * K1403410 7B72 90F3 345 | PPEM S FIDWD IS IT FORMAT STMNT K1403420 346 | * CHECKS THE STMNT ID WORD FOR THE K1403430 347 | * REFERENCED INDICATOR K1403440 348 | * CHECKS FOR A CONTINUE STMNT K1403450 7B73 4C18 7B70 349 | BSC L ER51,+- BRANCH IF YES K1403460 350 | * K1403470 351 | * K1403480 7B75 C100 352 | LD 1 0 PUT REFERENCED STMNT BIT K1403490 7B76 EC00 7A6F 353 | OR L TWO IN STMNT ID K1403500 7B78 D100 354 | STO 1 0 PUT BACK ON STRING K1403510 355 | * K1403520 356 | * K1403530 7B79 69E4 357 | STX 1 WHY SAVE INPUT PT K1403540 358 | * K1403550 359 | * K1403560 7B7A C100 360 | LD 1 0 LOAD STMNT ID WORD K1403570 7B7B 1802 361 | SRA 2 GET STMNT K1403580 7B7C E400 7A65 362 | AND L IDTPE ID TYPE K1403590 7B7E 90A1 363 | S CONTC IS IT CONTINUE K1403600 7B7F 4C18 7B84 364 | BSC L MOVE1,+- BRANCH IF YES K1403610 365 | * K1403620 366 | * K1403630 7B81 4400 7DCF 367 | LIZ1 BSI L MOVE MOVE PT TO NEXT STMNT K1403640 7B83 7064 368 | MDX LIZ OPEN UP STRING K1403650 369 | * K1403660 370 | * K1403670 371 | * CHANGES THE ID WORD OF CONTINUE K1403680 372 | * STMNTS DEFINING THE DO RANGE K1403690 373 | * TO THE DO TEST TYPE K1403700 374 | * OPENS THE STRING SIX MORE WORDS K1403710 7B84 C09D 375 | MOVE1 LD DOTID CHANGE ID WORD K1403720 7B85 D100 376 | STO 1 0 TO DO TEST K1403730 377 | * K1403740 378 | * K1403750 7B86 7102 379 | MDX 1 2 MOVE POINTER K1403760 380 | * K1403770 381 | * OPEN STRING 6 OR 7 WORDS K1403780 7B87 6950 382 | STX 1 TEM SAVE INPUT POINTER K1403790 7B88 C400 7A25 383 | LD L EOFS GET SIZE OF STRING K1403800 7B8A 904D 384 | S TEM TO BE MOVED K1403810 7B8B D001 385 | STO BOUND+1 STORE SIZE TO BE MOVED K1403820 7B8C 6500 0000 386 | BOUND LDX L1 0 INITIALIZE SIZE CTR K1403830 7B8E 7101 387 | MDX 1 1 K1403840 7B8F 6680 7A25 388 | LDX I2 EOFS INITIALIZE LOOP INPUT PT K1403850 7B91 C303 389 | LD 3 3 LOAD DO INCREMENT K1403860 7B92 4C20 7B97 390 | BSC L TRYMR,Z BRANCH IF NOT ZERO K1403870 7B94 7207 391 | MDX 2 7 MODIFY LOOP PT K1403880 7B95 C04D 392 | LD LD7 LOAD INPUT INSTRUCTION K1403890 7B96 7007 393 | MDX ONWTH MOVE STRING UP K1403900 7B97 C480 7C18 394 | TRYMR LD I PAVE LOAD STMNT ID WORD K1403910 7B99 903F 395 | S FRO SUBTRACT ONE FROM NORM K1403920 7B9A D480 7C18 396 | STO I PAVE PUT BACK IN STRING K1403930 7B9C C045 397 | LD LD6 LOAD INPUT INSTRUCTION K1403940 7B9D 7206 398 | MDX 2 6 MODIFY LOOP POINTER K1403950 7B9E D002 399 | ONWTH STO LOOZ PUT INSTRUCTION IN LOOP K1403960 7B9F 6E00 7A25 400 | STX L2 EOFS NEW END OF STRING ADDRESS K1403970 7BA1 C2FA 401 | LOOZ LD 2 -6 LOAD WORD ON STRING K1403980 7BA2 D200 402 | STO 2 0 PUT IN NEW LOCATION K1403990 7BA3 72FF 403 | MDX 2 -1 MOVE PT K1404000 7BA4 71FF 404 | MDX 1 -1 DECREMENT CTR K1404010 7BA5 70FB 405 | MDX LOOZ CONTINUE LOOP K1404020 7BA6 6580 7BD8 406 | LDX I1 TEM RESTORE IN PUT PT K1404030 407 | * K1404040 408 | * K1404050 409 | * CHECKS FOR A SYM TBL OVERLAP K1404060 410 | * INSERTS THE DO TEST CODING K1404070 411 | * INTO THE STMNT STRING K1404080 7BA8 C400 7A2A 412 | OVLAP LD L EOFST IS THERE K1404090 7BAA 8400 7A6F 413 | A L TWO OVERLAP BETWEEN K1404100 7BAC 9400 7A25 414 | S L EOFS STRING AND SYMBOL TABLE K1404110 7BAE 4C28 7B10 415 | BSC L JIMY,+Z BRANCH IF YES K1404120 416 | * K1404130 417 | * K1404140 7BB0 C303 418 | LD 3 3 LOAD DO INCREMENT K1404150 7BB1 4C18 7BCC 419 | BSC L NASTY,+- BRANCH IF ZERO K1404160 420 | * K1404170 421 | * INSERT DO TEST K1404180 7BB3 C300 422 | LD 3 0 LOAD DO INDEX - COMBINE K1404190 7BB4 E02B 423 | AND MASK5 WITH LOAD INSTRUCTION - K1404200 7BB5 E8A9 424 | OR LOADI PUT ON STRING K1404210 7BB6 D100 425 | STO 1 0 ***** LD INDEX K1404220 7BB7 C303 426 | LD 3 3 LOAD INCREMENT - COMBINE K1404230 7BB8 E027 427 | AND MASK5 WITH ADD INSTRUCTION - PUT K1404240 7BB9 E8A6 428 | OR ADDI ON STRING K1404250 7BBA D101 429 | STO 1 1 ***** A INCREMENT K1404260 7BBB C300 430 | LD 3 0 LOAD INDEX - COMBINE WITH K1404270 7BBC E023 431 | AND MASK5 STORE INSTRUCTION - PUT K1404280 7BBD E8A3 432 | OR STOI ON STRING K1404290 7BBE D102 433 | STO 1 2 ***** STO INDEX K1404300 7BBF C302 434 | XYZ LD 3 2 LOAD TEST VALUE - COMBINE K1404310 7BC0 E01F 435 | AND MASK5 WITH SUBTRACT INSTRUCTION K1404320 7BC1 E8A0 436 | OR SUBTI - PUT ON STRING K1404330 7BC2 D103 437 | STO 1 3 ***** S TEST VALUE K1404340 7BC3 C09F 438 | LD BSCI PUT BSC I ON STRING K1404350 7BC4 D104 439 | STO 1 4 PUT TEST STMNT NO. K1404360 7BC5 C301 440 | LD 3 1 ON STRING K1404370 7BC6 D105 441 | STO 1 5 ***** BSC I *-*,- K1404380 7BC7 73FB 442 | MDX 3 -5 REMOVE DO TABLE ENTRY K1404390 443 | * K1404400 444 | * K1404410 7BC8 6580 7B5E 445 | LDX I1 WHY RESTORE INPUT PT K1404420 7BCA 6400 7A5F 446 | LDX L BAKER CHECK FOR STMNT NO. K1404430 447 | * K1404440 448 | * INSERTS THE SPECIAL DO TEST INTO K1404450 449 | * THE STRING WHEN THE INCREMENT K1404460 450 | * IS IMPLIED K1404470 7BCC C014 451 | NASTY LD MDXI PUT MDX I ON STRING K1404480 7BCD D100 452 | STO 1 0 K1404490 7BCE C300 453 | LD 3 0 LOAD INDEX - PUT ON STRING K1404500 7BCF D101 454 | STO 1 1 ***** MDX I INDEX K1404510 7BD0 C014 455 | LD NOPI LOAD NOP - PUT ON STRING K1404520 7BD1 D102 456 | STO 1 2 ***** NOP K1404530 7BD2 7101 457 | MDX 1 1 MOVE INPUT POINTER K1404540 7BD3 C300 458 | LD 3 0 LOAD INDEX - COMBINE WITH K1404550 7BD4 E00B 459 | AND MASK5 LOAD INSTRUCTION - PUT ON K1404560 7BD5 E889 460 | OR LOADI STRING K1404570 7BD6 D102 461 | STO 1 2 ***** LD INDEX K1404580 7BD7 70E7 462 | MDX XYZ INSERT REST OF TEST K1404590 463 | * K1404600 464 | * CONSTANTS K1404610 7BD8 0000 465 | TEM DC *-* TEMPORARY STORAGE K1404620 7BD9 0004 466 | FRO DC 4 ONE COUNT FOR NORM K1404630 7BDA C024 467 | DOID DC /C024 DO ID WORD K1404640 7BDB 0032 468 | COLON DC /32 COLON K1404650 7BDC 07FF 469 | MASK DC /07FF SYMBOL TABLE POINTER MASK K1404660 7BDD 0003 470 | THRE DC 3 THREE K1404670 7BDE 0200 471 | MASK4 DC /0200 MASK TO CHECK IF STMNT NO. K1404680 7BDF 0000 472 | NORM4 DC 0 K1404690 7BE0 87FF 473 | MASK5 DC /87FF INSTRUCTION MASK K1404700 7BE1 5101 474 | MDXI DC /5101 MDX I INSTRUCTION K1404710 7BE2 C2FA 475 | LD6 LD 2 -6 LOAD INSTRUCTION K1404720 7BE3 C2F9 476 | LD7 LD 2 -7 LOAD INSTRUCTION K1404730 7BE4 C2F8 477 | LD8 LD 2 -8 LOAD INSTRUCTION K1404740 7BE5 6000 478 | NOPI DC /6000 NO-OP INSTRUCTION K1404750 7BE6 C01C 479 | M2S DC /C01C BASIC DO TEST ID WORD K1404760 7BE7 0600 480 | H0600 DC /0600 END OF CALL PDUMP LIST 2-9 K1404765 481 | * K1404770 482 | * K1404780 483 | * CHECKS FOR A DO STMNT. IF NOT K1404790 484 | * FOUND, OPENS THE STRING SEVEN K1404800 485 | * WORDS - INSERTS THE DO TEST K1404810 486 | * ID WORD K1404820 7BE8 C100 487 | LIZ LD 1 0 LOAD STMNT ID WORD K1404830 7BE9 1802 488 | SRA 2 GET STMNT K1404840 7BEA E400 7A65 489 | AND L IDTPE ID TYPE K1404850 7BEC 9400 7B64 490 | S L DOXID IS IT DO STMNT K1404860 7BEE 4C18 7B81 491 | BSC L LIZ1,+- BRANCH IF YES K1404870 492 | * K1404872 7BF0 90F6 493 | S H0600 CHECK FOR END OF PDUMP 2-9 K1404874 7BF1 4C18 7B81 494 | BSC L LIZ1,+- BRANCH IF YES 2-9 K1404876 495 | * K1404880 496 | * OPEN STRING 7 OR 8 WORDS K1404890 7BF3 69E4 497 | STX 1 TEM SAVE INPUT POINTER K1404900 7BF4 C400 7A25 498 | LD L EOFS GET SIZE K1404910 7BF6 90E1 499 | S TEM OF STRING K1404920 7BF7 8400 7A70 500 | A L ONE TO BE K1404930 7BF9 D001 501 | STO BOUN+1 MOVED K1404940 7BFA 6500 0000 502 | BOUN LDX L1 0 INITIALIZE STRING SIZE CTR K1404950 7BFC 6680 7A25 503 | LDX I2 EOFS INITIALIZE LOOP INPUT PT K1404960 7BFE C303 504 | LD 3 3 LOAD DO LOOP INCREMENT K1404970 7BFF 4C20 7C04 505 | BSC L MRXY,Z BRANCH NOT ZERO K1404980 7C01 7208 506 | MDX 2 8 MODIFY LOOP POINTER K1404990 7C02 C0E1 507 | LD LD8 LOAD INPUT INSTRUCTION K1405000 7C03 7002 508 | MDX ONON GO STORE INPUT INSTRUCTION K1405010 7C04 C0DE 509 | MRXY LD LD7 LOAD INPUT INSTRUCTION K1405020 7C05 7207 510 | MDX 2 7 MODIFY LOOP POINTER K1405030 7C06 D002 511 | ONON STO LOOT SAVE INPUT INSTRUCTION K1405040 7C07 6E00 7A25 512 | STX L2 EOFS NEW END OF STRING ADDRESS K1405050 7C09 C2F9 513 | LOOT LD 2 -7 MOVE WORD UP K1405060 7C0A D200 514 | STO 2 0 TO NEW LOCATION K1405070 7C0B 72FF 515 | MDX 2 -1 MOVE INPUT POINTER K1405080 7C0C 71FF 516 | MDX 1 -1 DECREMENT COUNTER K1405090 7C0D 70FB 517 | MDX LOOT CONTINUE LOOP K1405100 518 | * K1405110 519 | * INSERT DO TEST ID WORD K1405120 7C0E 6580 7BD8 520 | LDX I1 TEM RESET INPUT POINTER K1405130 7C10 C0D2 521 | LD LD7 GET SIZE OF INSTRUCTION K1405140 7C11 90F7 522 | S LOOT STRING TO BE OUTPUTTED K1405150 7C12 1002 523 | SLA 2 COMBINE THIS SIZE WITH K1405160 7C13 80D2 524 | A M2S DO ID WORD K1405170 7C14 D100 525 | STO 1 0 PLACE ON STRING K1405180 526 | * K1405190 527 | * K1405200 7C15 7101 528 | MDX 1 1 MOVE INPUT POINTER K1405210 7C16 7091 529 | MDX OVLAP CHECK OVERLAP K1405220 530 | * K1405230 531 | * CONSTANTS K1405240 7C17 0035 532 | ERR53 DC 53 ERROR NO. 53 K1405250 7C18 0000 533 | PAVE DC 0 STORAGE FOR ID WORD ADDR K1405260 7C19 0020 534 | X32 DC 32 DEFINED VARIABLE BIT K1405270 535 | * K1405280 536 | * INITIALIZES TO SCAN THE STMNT K1405290 537 | * GETS THE STMNT NO. FROM THE K1405300 538 | * SYM TBL K1405310 7C1A 7305 539 | CEE MDX 3 5 MOVE TBL PTR TO NEXT POS K1405320 7C1B C100 540 | LD 1 0 LOAD STMNT ID WORD K1405330 7C1C 4804 541 | BSC E SKIP IF NO STMNT NO. K1405340 7C1D 7101 542 | MDX 1 1 MOVE PT OVER STMNT NO. K1405350 7C1E 7101 543 | MDX 1 1 MOVE POINTER K1405360 544 | * K1405370 545 | * K1405380 7C1F C100 546 | LD 1 0 LOAD WORD K1405390 7C20 4400 7DBB 547 | BSI L CHECK GET SYMBOL TABLE ID WORD K1405400 7C22 E0BB 548 | AND MASK4 IS IT K1405410 7C23 F0BA 549 | EOR MASK4 STMNT NUMBER K1405420 7C24 4C18 7C36 550 | BSC L HAP,+- BRANCH IF YES K1405430 551 | * K1405440 552 | * K1405450 7C26 0000 553 | ER53 DC *-* ENTRY POINT K1405460 7C27 F047 554 | EOR H4080 CHECK IF SUBPROGRAM K1405470 7C28 4C18 7C33 555 | BSC L R53,+- NO, GO INDICATE ERROR K1405480 7C2A C400 7A30 556 | LD L SORF IS IT FUNCTION SUBPROGRAM K1405490 7C2C 4C08 7C33 557 | BSC L R53,+ BRANCH IF NOT K1405500 7C2E C400 7A2E 558 | LD L FNAME IS IT THIS ONE K1405510 7C30 9100 559 | S 1 0 K1405520 7C31 4C98 7C26 560 | BSC I ER53,+- RETURN IF OK 2-7 K1405530 7C33 C0E3 561 | R53 LD ERR53 SET UP K1405540 7C34 4C00 7B2B 562 | BSC L CLOS1+1 ERROR NO. 53 K1405550 563 | * K1405560 564 | * K1405570 565 | * PUTS THE DO RANGE STMNT NO. INT K1405580 566 | * WORD 5 OF THE DO TBL ENTRY K1405590 567 | * CHECKS FOR VALID VARIABLES K1405600 568 | * INDICATES DEFINITION OF ALL K1405610 569 | * DEFINED VARIABLES K1405620 7C36 C100 570 | HAP LD 1 0 LOAD STMNT NUMBER K1405630 7C37 D304 571 | STO 3 4 PUT IN DO TABLE K1405640 572 | * K1405650 573 | * K1405660 7C38 7101 574 | MDX 1 1 MOVE POINTER K1405670 575 | * K1405680 576 | * K1405690 7C39 C100 577 | LD 1 0 LOAD WORD K1405700 7C3A 90A0 578 | S COLON IS CHARACTER COLON K1405710 7C3B 4C20 7C33 579 | BSC L R53,Z BRANCH IF NOT K1405720 580 | * K1405730 581 | * K1405740 7C3D 7101 582 | MDX 1 1 MOVE STRING POINTER K1405750 583 | * K1405760 584 | * LEGAL VARIABLE K1405770 7C3E C100 585 | LD 1 0 LOAD WORD K1405780 7C3F 4400 7DBB 586 | BSI L CHECK GET TBL ID WORD K1405790 7C41 D02C 587 | STO SAVES SAVE SYM TBL ID WORD K1405800 7C42 E400 7D6F 588 | AND L HDBDE IS IT LEGAL, K1405810 7C44 F02C 589 | EOR MASK1 INTEGER VARIABLE K1405820 7C45 4420 7C26 590 | BSI L ER53,Z BRANCH IF NOT K1405830 591 | * K1405840 592 | * K1405850 7C47 C026 593 | LD SAVES LOAD STMNT ID WORD K1405860 7C48 E8D0 594 | OR X32 PUT IN DEFINED VAR BIT K1405870 7C49 D200 595 | STO 2 0 PUT BACK IN SYMBOL TABLE K1405880 596 | * K1405890 597 | * K1405900 7C4A C400 7A30 598 | LD L SORF LOAD SORF K1405910 7C4C 4808 599 | BSC + SKIP IF FUNCTION K1405920 7C4D 7007 600 | MDX PEND PUT VARIABLE IN DO TABLE K1405930 7C4E C01F 601 | LD SAVES LOAD SYM TBL ID WORD K1405940 7C4F E022 602 | AND MASK7 IS VAR IN COMMON OR DUMMY K1405950 7C50 4C18 7C55 603 | BSC L PEND,+- ARGUMENT - BRANCH IF NO K1405960 604 | * K1405970 605 | * K1405980 7C52 C028 606 | LD ERR55 SET UP ERROR NO. 55 K1405990 7C53 4C00 7B2B 607 | BSC L CLOS1+1 PUT ERROR STMNT ON STRING K1406000 608 | * K1406010 609 | * K1406020 610 | * PLACES THE INDEX VARIABLE INTO K1406030 611 | * WORD 1 OF THE DO TBL ENTRY K1406040 7C55 C100 612 | PEND LD 1 0 LOAD VARIABLE K1406050 7C56 D300 613 | STO 3 0 PUT IN DO TABLE K1406060 614 | * K1406070 615 | * K1406080 7C57 7101 616 | MDX 1 1 MOVE STRING POINTER K1406090 617 | * K1406100 618 | * K1406110 7C58 C100 619 | LD 1 0 LOAD WORD K1406120 7C59 901A 620 | S EQAL IS CHARACTER EQUAL SIGN K1406130 7C5A 4C20 7C33 621 | BSC L R53,Z BRANCH IF NOT K1406140 622 | * K1406150 623 | * K1406160 7C5C 7101 624 | MDX 1 1 MOVE POINTER K1406170 625 | * K1406180 626 | * K1406190 7C5D C100 627 | LD 1 0 LOAD WORD K1406200 7C5E 4400 7DBB 628 | BSI L CHECK GET SYMBOL TABLE ID WORD K1406210 7C60 E014 629 | AND MASK3 IS IT A VALID CONSTANT OR K1406220 7C61 F00F 630 | EOR MASK1 VARIABLE INTEGER K1406230 7C62 4420 7C26 631 | BSI L ER53,Z BRANCH IF NOT K1406240 632 | * K1406250 633 | * K1406260 7C64 C201 634 | LD 2 1 LOAD WORD K1406270 7C65 4818 635 | BSC +- SKIP IF NON-ZERO K1406280 7C66 7004 636 | MDX AA ERROR IF ZERO K1406290 637 | * K1406300 638 | * SAVE M1 FOR DO INITIALIZE K1406310 7C67 C100 639 | AAA LD 1 0 LOAD INITIAL VALUE K1406320 7C68 D00A 640 | STO M1 OF INDEX K1406330 641 | * K1406340 642 | * K1406350 7C69 7101 643 | MDX 1 1 MOVE POINTER K1406360 7C6A 7014 644 | MDX A GET TEST VALUE K1406370 645 | * K1406380 646 | * K1406390 7C6B C00E 647 | AA LD ERR54 SET UP ERROR NO. 54 K1406400 7C6C 4C00 7B2B 648 | BSC L CLOS1+1 PUT ERROR STMNT ON STRING K1406410 649 | * K1406420 650 | * CONSTANTS K1406430 7C6E 0000 651 | SAVES DC 0 STORAGE FOR SYM TBL ID K1406440 7C6F 4080 652 | H4080 DC /4080 SUBR SYM TBL ID K1406450 7C70 8000 653 | H8000 DC /8000 USEFUL CONSTANT K1406460 7C71 4000 654 | MASK1 DC /4000 MASK TO TEST FOR INTEGER K1406470 7C72 2400 655 | MASK7 DC /2400 COMMON OR DUMMY ARG MASK K1406480 7C73 0000 656 | M1 DC 0 INITIAL INDEX VALUE K1406490 7C74 000E 657 | EQAL DC /000E EQUAL SIGN K1406500 7C75 5BDE 658 | MASK3 DC /5BDE CON OR VAR INTEGER MASK K1406510 7C76 0012 659 | COME DC /0012 COMMA K1406520 7C77 580C 660 | DOIID DC /580C DO ID TYPE - NORM 3 K1406530 7C78 0220 661 | CATOR DC /0220 SYM TBL ID FOR STMNT NO. K1406540 7C79 8001 662 | SIGN DC /8001 SIGN BITS K1406550 7C7A 0036 663 | ERR54 DC 54 ERROR NO. 54 K1406560 7C7B 0037 664 | ERR55 DC 55 ERROR NO. 55 K1406570 665 | * K1406580 666 | * K1406590 667 | * PLACES A ZERO AS THE INCREMENT K1406600 668 | * INTO WORD 4 OF THE DO TBL ENTRY K1406610 669 | * PUTS THE TEST VALUE CONSTANT K1406620 670 | * INTO WORD 3 OF THE DO TBL ENTRY K1406630 7C7C 1010 671 | DEMP SLA 16 PUT ZERO IN DO TABLE AS K1406640 7C7D D303 672 | STO 3 3 VALUE OF INCREMENT K1406650 7C7E 701E 673 | MDX SEM GO TO END OF STMNT K1406660 674 | * K1406670 675 | * K1406680 7C7F C100 676 | A LD 1 0 LOAD WORD K1406690 7C80 90F5 677 | S COME IS CHARACTER COMMA K1406700 7C81 4C20 7C33 678 | BSC L R53,Z BRANCH IF NO K1406710 679 | * K1406720 680 | * K1406730 7C83 7101 681 | MDX 1 1 MOVE STRING POINTER K1406740 682 | * K1406750 683 | * K1406760 7C84 C100 684 | LD 1 0 LOAD WORD K1406770 7C85 4400 7DBB 685 | BSI L CHECK GET SYM TBL ID WORD K1406780 7C87 E0ED 686 | AND MASK3 IS IT VALID INTEGER K1406790 7C88 F0E8 687 | EOR MASK1 CONSTANT OR VARIABLE K1406800 7C89 4420 7C26 688 | BSI L ER53,Z BRANCH IF NO K1406810 689 | * K1406820 690 | * K1406830 7C8B C100 691 | LD 1 0 PUT INTEGER IN DO TABLE K1406840 7C8C D302 692 | STO 3 2 AS TEST VALUE K1406850 693 | * K1406860 694 | * K1406870 7C8D 7101 695 | MDX 1 1 MOVE STRING POINTER K1406880 696 | * K1406890 697 | * K1406900 7C8E C100 698 | LD 1 0 LOAD CHARACTER K1406910 7C8F 90E6 699 | S COME IS CHARACTER COMMA K1406920 7C90 4C20 7C7C 700 | BSC L DEMP,Z BRANCH IF NO K1406930 701 | * K1406940 702 | * K1406950 7C92 7101 703 | MDX 1 1 MOVE STRING POINTER K1406960 704 | * K1406970 705 | * K1406980 7C93 C100 706 | LD 1 0 LOAD INCREMENT K1406990 7C94 4400 7DBB 707 | BSI L CHECK GET SYM TBL ID WORD K1407000 7C96 E0DE 708 | AND MASK3 IS IT VALID CONSTANT OR K1407010 7C97 F0D9 709 | EOR MASK1 VARIABLE INTEGER K1407020 7C98 4420 7C26 710 | BSI L ER53,Z BRANCH IF NOT K1407030 711 | * K1407040 712 | * K1407050 7C9A C100 713 | LD 1 0 PUT INTEGER IN DO TABLE K1407060 7C9B D303 714 | STO 3 3 AS INCREMENT K1407070 715 | * K1407080 716 | * K1407090 7C9C 7101 717 | MDX 1 1 MOVE STRING POINTER K1407100 718 | * K1407110 719 | * K1407120 720 | * K1407130 721 | * PLACES THE DO INITIALIZE CODING K1407140 722 | * ON THE STRING K1407150 723 | * CLOSES UP THE STRING K1407160 7C9D C100 724 | SEM LD 1 0 LOAD CHARACTER K1407170 7C9E 4C20 7C33 725 | BSC L R53,Z BRANCH IF NOT SEMI-COLON K1407180 726 | * K1407190 727 | * PUT OUT DO INITIALIZE K1407200 7CA0 7101 728 | MDX 1 1 MOVE STRING PT TO NEXT K1407210 7CA1 6918 729 | STX 1 VEN+1 STMNT - SAVE ADDRESS K1407220 7CA2 6580 7C18 730 | LDX I1 PAVE LOAD PRESENT STMNT ID ADDR K1407230 7CA4 C100 731 | LD 1 0 LOAD STMNT ID WORD K1407240 7CA5 1802 732 | SRA 2 GET STMNT NORM K1407250 7CA6 E400 7A66 733 | AND L IDNRM K1407260 7CA8 D400 7B1E 734 | STO L NRMSV SAVE NORM K1407270 7CAA C100 735 | LD 1 0 LOAD STMNT ID WORD K1407280 7CAB 4804 736 | BSC E SKIP IF NO STMNT NO. K1407290 7CAC 7051 737 | MDX XYZ1 PUT IN CORRECT ID WORD K1407300 7CAD C0C9 738 | LD DOIID LOAD DO STMNT ID WORD K1407310 7CAE D100 739 | STO 1 0 PUT ON STRING K1407320 7CAF C0C3 740 | XYZ2 LD M1 LOAD INITIAL INDEX VALUE- K1407330 7CB0 EC00 7B5F 741 | OR L LOADI COMBINE WITH LOAD INST K1407340 7CB2 D101 742 | STO 1 1 ***** LD INITIAL K1407350 7CB3 C300 743 | LD 3 0 LOAD INDEX - COMBINE WITH K1407360 7CB4 EC00 7B61 744 | OR L STOI STORE INSTRUCTION - OUTPUT K1407370 7CB6 D102 745 | STO 1 2 ***** STO INDEX K1407380 7CB7 7102 746 | MDX 1 2 MOVE STRING POINTER K1407390 747 | * K1407400 748 | * CLOSE UP STRING K1407410 7CB8 6B17 749 | STX 3 HEN+1 SAVE DO TABLE POINTER K1407420 7CB9 6600 0000 750 | VEN LDX L2 0 LOAD ADDR OF NEXT STMNT K1407430 7CBB C400 7A25 751 | LD L EOFS GET SIZE K1407440 7CBD 9400 7C18 752 | S L PAVE OF STRING K1407450 7CBF 9400 7B1E 753 | S L NRMSV TO BE MOVED K1407460 7CC1 D001 754 | STO VEN1+1 PUT IN COUNTER K1407470 7CC2 6700 0000 755 | VEN1 LDX L3 0 INITIALIZE COUNTER K1407480 7CC4 7301 756 | MDX 3 1 K1407490 7CC5 C200 757 | POOL LD 2 0 MOVE WORD DOWN K1407500 7CC6 D101 758 | STO 1 1 IN STRING K1407510 7CC7 7101 759 | MDX 1 1 MOVE POINTERS K1407520 7CC8 7201 760 | MDX 2 1 K1407530 7CC9 73FF 761 | MDX 3 -1 DECREMENT COUNTERS K1407540 7CCA 70FA 762 | MDX POOL CONTINUE LOOP K1407550 7CCB 6D00 7A25 763 | STX L1 EOFS NEW END OF STRING ADDRESS K1407560 7CCD 6580 7C18 764 | LDX I1 PAVE RESTORE INPUT POINTER K1407570 7CCF 6700 0000 765 | HEN LDX L3 0 RESTORE DO TABLE POINTER K1407580 766 | * K1407590 767 | * K1407600 768 | * CHECKS FOR A NUMBERED STMNT K1407610 769 | * FOLLOWING THE DO STMNT K1407620 770 | * IF NUMBERED STMNT NOT FOUND, K1407630 771 | * GENERATES A LABEL AND INSERTS K1407640 772 | * IT IN THE SYM TBL K1407650 7CD1 4400 7DCF 773 | MUIT BSI L MOVE MOVE TO NEXT STMNT K1407660 774 | * K1407670 775 | * K1407680 7CD3 C100 776 | LD 1 0 DOES STMNT HAVE STMNT NO. K1407690 7CD4 4C04 7D04 777 | BSC L HOHO,E BRANCH IF YES K1407700 778 | * K1407710 779 | * K1407720 7CD6 8033 780 | A F5 ADD STMNT NO. BITS TO ID K1407730 7CD7 D100 781 | STO 1 0 PUT ON STRING K1407740 782 | * K1407750 783 | * K1407760 7CD8 7101 784 | MDX 1 1 MOVE STRING POINTER K1407770 785 | * K1407780 786 | * K1407790 7CD9 4400 7DD9 787 | BSI L ROUT OPEN STRING ONE WORD K1407800 788 | * K1407810 789 | * K1407820 7CDB 6680 7A2A 790 | LDX I2 EOFST LOAD END OF SYM TBL ADDR K1407830 7CDD 1090 791 | SLT 16 CLEAR NEXT TWO K1407840 7CDE D201 792 | STO 2 1 WORDS IN K1407850 7CDF D202 793 | STO 2 2 SYMBOL TABLE K1407860 7CE0 C097 794 | LD CATOR LOAD STMNT NO. SYM TBL ID K1407870 7CE1 D200 795 | STO 2 0 PUT IN SYM TBL K1407880 7CE2 C400 7A26 796 | LD L SOFST GET SIZE OF K1407890 7CE4 9400 7A2A 797 | S L EOFST SYMBOL TABLE K1407900 7CE6 1890 798 | SRT 16 POSITION FOR DIVIDE K1407910 7CE7 AC00 7BDD 799 | D L THRE GET NO. OF K1407920 7CE9 808F 800 | A SIGN SYMBOL TABLE ENTRY K1407930 7CEA D100 801 | STO 1 0 PUT IN STRING K1407940 7CEB 71FF 802 | MDX 1 -1 MOVE PT TO STMNT ID WORD K1407950 7CEC 74FD 7A2A 803 | MDX L EOFST,-3 MOVE SYMBOL TABLE POINTERS K1407960 7CEE 74FD 7A28 804 | MDX L SOFXT,-3 K1407970 7CF0 74FD 7A29 805 | MDX L SOFGT,-3 K1407980 806 | * K1407990 807 | * K1408000 7CF2 C400 7A2A 808 | LD L EOFST CHECK FOR K1408010 7CF4 8400 7A6F 809 | A L TWO OVERLAP BETWEEN STRING K1408020 7CF6 9400 7A25 810 | S L EOFS AND SYMBOL TABLE K1408030 7CF8 4C28 7B10 811 | BSC L JIMY,+Z BRANCH IF OVERLAP K1408040 812 | * K1408050 813 | * K1408060 814 | * PLACES THE GENERATED LABEL OR K1408070 815 | * STMNT NO. FOR THE DO TEST INTO K1408080 816 | * WORD 2 OF THE DO TABLE ENTRY K1408090 7CFA C101 817 | HAH LD 1 1 LOAD STMNT NO. K1408100 7CFB D301 818 | STO 3 1 PUT IN SYMBOL TABLE K1408110 7CFC 6400 7A42 819 | LDX L ABEL CHECK NEXT STMNT. K1408120 820 | * K1408130 821 | * K1408140 7CFE C400 7C77 822 | XYZ1 LD L DOIID LOAD DO STMNT ID K1408150 823 | * PLACES THE DO ID WORD INTO THE K1408160 824 | * STATEMENT STRING K1408170 7D00 8009 825 | A F5 PUT IN STMNT NO. BITS K1408180 7D01 D100 826 | STO 1 0 PUT ON STRING K1408190 7D02 7101 827 | MDX 1 1 MOVE PT OVER STMNT NO. K1408200 7D03 70AB 828 | MDX XYZ2 RETURN K1408210 829 | * K1408220 830 | * K1408230 831 | * CHECKS FOR FORMAT STATEMENTS K1408240 7D04 180B 832 | HOHO SRA 11 GET STMNT ID TYPE K1408250 7D05 9003 833 | S HC IS IT FORMAT STMNT K1408260 7D06 4C18 7CD1 834 | BSC L MUIT,+- BRANCH IF YES K1408270 7D08 70F1 835 | MDX HAH PUT STMNT NO. IN DO TBL K1408280 836 | * K1408290 837 | * CONSTANTS K1408300 7D09 000C 838 | HC DC /C FORMAT STMNT ID TYPE K1408310 7D0A 0005 839 | F5 DC 5 BITS FOR STMNT NO. K1408320 7D0B 1A00 840 | CALN1 DC /1A00 BACKSPACE CALL K1408330 7D0C 1B00 841 | CALN2 DC /1B00 REWIND CALL K1408340 7D0D 1A80 842 | CALN3 DC /1A80 END FILE CALL K1408350 7D0E 1B80 843 | CALN4 DC /1B80 STOP CALL K1408360 7D0F 1C00 844 | CALN5 DC /1C00 PAUSE CALL K1408370 7D10 0000 845 | CALNO DC 0 CALL STORAGE K1408380 7D11 0000 846 | NORM2 DC 0 PAUSE OR STOP SWITCH K1408390 7D12 0038 847 | ERR56 DC 56 ERROR NO. 56 K1408400 7D13 0039 848 | ERR57 DC 57 ERROR NO.57 K1408410 7D14 003A 849 | ERR58 DC 58 ERROR NO. 58 K1408420 7D15 003B 850 | ERR59 DC 59 ERROR NO. 59 K1408430 7D16 003C 851 | ERR60 DC 60 ERROR NO. 60 K1408440 852 | * K1408450 853 | * K1408460 7D17 C0F3 854 | CALL1 LD CALN1 STORE BACKSPACE CALL K1408470 7D18 D0F7 855 | STO CALNO IN CALNO K1408480 856 | * K1408490 857 | * K1408500 7D19 C0F8 858 | LD ERR56 SET UP K1408510 7D1A D400 7B1F 859 | STO L ERRNO ERROR NO. 56 K1408520 7D1C 7019 860 | MDX TED PUT IN DEVICE NO. K1408530 861 | * K1408540 862 | * K1408550 7D1D C0EE 863 | CALL2 LD CALN2 PUT REWIND CALL K1408560 7D1E D0F1 864 | STO CALNO IN CALNO K1408570 865 | * K1408580 866 | * K1408590 7D1F C0F3 867 | LD ERR57 SET UP K1408600 7D20 D400 7B1F 868 | STO L ERRNO ERROR NO. 57 K1408610 7D22 7013 869 | MDX TED PUT IN DEVICE NO. K1408620 870 | * K1408630 871 | * K1408640 7D23 C0E9 872 | CALL3 LD CALN3 PUT END FILE K1408650 7D24 D0EB 873 | STO CALNO CALL IN CALNO K1408660 874 | * K1408670 875 | * K1408680 7D25 C0EE 876 | LD ERR58 SET UP K1408690 7D26 D400 7B1F 877 | STO L ERRNO ERROR NO. 58 K1408700 7D28 700D 878 | MDX TED PUT IN DEVICE NO. K1408710 879 | * K1408720 880 | * K1408730 7D29 C0E4 881 | CALL4 LD CALN4 PUT STOP CALL K1408740 7D2A D0E5 882 | STO CALNO IN CALNO K1408750 883 | * K1408760 884 | * K1408770 7D2B C0E9 885 | LD ERR59 SET UP K1408780 7D2C D400 7B1F 886 | STO L ERRNO ERROR NO. 59 K1408790 887 | * K1408800 7D2E 7005 888 | MDX FED CHECK VALID NO. K1408810 889 | * K1408820 890 | * K1408830 7D2F C0DF 891 | CALL5 LD CALN5 PUT PAUSE CALL K1408840 7D30 D0DF 892 | STO CALNO IN CALNO K1408850 893 | * K1408860 894 | * K1408870 7D31 C0E4 895 | LD ERR60 SET UP K1408880 7D32 D400 7B1F 896 | STO L ERRNO ERROR NO. 60 K1408890 897 | * K1408900 898 | * K1408910 7D34 7401 7D11 899 | FED MDX L NORM2,1 TAG PAUSE OR STOP SWITCH K1408920 900 | * K1408930 901 | * INITIALIZES TO SCAN THE STMNT K1408940 902 | * CHECKS FOR THE SEMICOLON K1408950 903 | * OPENS THE STRING ONE WORD K1408960 904 | * ADJUSTS THE STMNT NORM K1408970 905 | * PLACES THE SYM TBL ADDR OF THE K1408980 906 | * CONSTANT ON THE STRING K1408990 7D36 C100 907 | TED LD 1 0 LOAD STMNT ID WORD K1409000 7D37 4804 908 | BSC E SKIP IF NO STMNT NO. K1409010 7D38 7101 909 | MDX 1 1 K1409020 7D39 7101 910 | MDX 1 1 MOVE POINTER K1409030 7D3A C100 911 | LD 1 0 LOAD WORD K1409040 7D3B 4400 7DBB 912 | BSI L CHECK GET SYM TBL ID WORD K1409050 7D3D D023 913 | STO HOBBS SAVE ID WORD K1409060 914 | * K1409070 915 | * K1409080 7D3E C0D2 916 | LD NORM2 PAUSE OR STOP STMNT K1409090 7D3F 4C18 7D4E 917 | BSC L SHOT,+- BRANCH IF NOT K1409100 918 | * K1409110 919 | * K1409120 7D41 C100 920 | LD 1 0 LOAD WORD K1409130 7D42 4C20 7D70 921 | BSC L SHOE,Z BRANCH NOT SEMI-COLON K1409140 922 | * K1409150 923 | * K1409160 7D44 4400 7DD9 924 | BSI L ROUT OPEN STRING ONE WORD K1409170 925 | * K1409180 926 | * K1409190 7D46 C480 7C18 927 | LD I PAVE LOAD STMNT ID WORD K1409200 7D48 8019 928 | A FOUR ADD ONE TO NORM K1409210 7D49 D480 7C18 929 | STO I PAVE PUT BACK IN STRING K1409220 930 | * K1409230 931 | * K1409240 7D4B 4400 7E03 932 | BSI L BOXX PUT SYM TBL ADDR ON STRING K1409250 7D4D 7008 933 | MDX AMIN2+2 PUT CALL ON STRING K1409260 934 | * K1409270 935 | * LEGAL VARIABLE K1409280 7D4E C012 936 | SHOT LD HOBBS LOAD SYM TBL ID WORD K1409290 7D4F E01F 937 | AND HDBDE IS IT VALID K1409300 7D50 F400 7C71 938 | EOR L MASK1 INTEGER VARIABLE K1409310 7D52 4C20 7D70 939 | BSC L SHOE,Z BRANCH IF NOT K1409320 940 | * K1409330 941 | * PUT OUTPUT IN STRING K1409340 7D54 C100 942 | AMIN2 LD 1 0 LOAD DEVICE NO. K1409350 7D55 D101 943 | STO 1 1 PUT IN STRING K1409360 7D56 C0B9 944 | LD CALNO LOAD CALL K1409370 7D57 D100 945 | STO 1 0 PUT IN STRING K1409380 7D58 6580 7C18 946 | ZAMIN LDX I1 PAVE PLACE PT AT STMNT ID WORD K1409390 947 | * K1409400 948 | * K1409410 7D5A 1010 949 | SLA 16 K1409420 7D5B D400 7E3A 950 | STO L DEC CLEAR K1409430 951 | * K1409440 952 | * K1409450 7D5D D0B3 953 | STO NORM2 CLEAR PAUSE OR STOP SWITCH K1409460 7D5E 4C00 7A5F 954 | BSC L BAKER CHECK FOR STMNT NO. K1409470 955 | * K1409480 956 | * CONSTANTS K1409490 7D60 C000 957 | MASK2 DC /C000 INTEGER CONSTANT MASK K1409500 7D61 0000 958 | HOBBS DC 0 SYM TBL ID WORD K1409510 7D62 0004 959 | FOUR DC 4 CON TO ADD ONE TO NORM K1409520 7D63 0000 960 | DEVIL DC 0 TEMPORARY STORAGE K1409530 7D64 0000 961 | ZEMP DC 0 TEMPORARY STORAGE K1409540 7D65 270F 962 | C99 DC 9999 MAXIMUM VALUE OF PAUSE K1409550 7D66 003D 963 | ERR61 DC 61 ERROR NO. 61 K1409560 7D67 0005 964 | CON5 DC /0014-/000F ERROR TYPE 2-2 K1409570 7D68 000C 965 | CON6 DC /000C FORMAT ID TYPE K1409580 7D69 003E 966 | ER62 DC 62 ERROR NO. 62 K1409590 7D6A 1004 967 | END DC /1004 END STMNT ID TYPE K1409600 7D6B 0000 968 | SAVE2 DC 0 TEMPORARY STORAGE K1409610 7D6C 0000 969 | SAVE1 DC 0 TEMPORARY STORAGE K1409620 7D6D 0000 970 | SAVE DC 0 STORAGE FOR STRING POINTER K1409630 7D6E 01FF 971 | MASK6 DC /01FF NORM MASK K1409640 7D6F DBDE 972 | HDBDE DC /DBDE MASK FOR INTEGER VARIABLE K1409650 973 | * K1409660 974 | * K1409670 7D70 C0F0 975 | SHOE LD HOBBS LOAD SYM TBL ID WORD K1409680 7D71 F0EE 976 | EOR MASK2 IS IT VALID INTEGER CON K1409690 7D72 4C20 7B2C 977 | BSC L CLOS1+2,Z BRANCH IF NOT K1409700 978 | * K1409710 979 | * SEMI-COLON K1409720 7D74 C101 980 | LD 1 1 LOAD NEXT WORD K1409730 7D75 4C20 7B2C 981 | BSC L CLOS1+2,Z BRANCH IF NOT SEMI-COLON K1409740 982 | * K1409750 983 | * K1409760 7D77 C201 984 | LD 2 1 LOAD CONSTANT K1409770 7D78 90EC 985 | S C99 IS IT GREATER THAN 9999 K1409780 7D79 4C30 7DB5 986 | BSC L ER61,Z- BRANCH IF YES K1409790 987 | * K1409800 988 | * K1409810 7D7B C095 989 | LD NORM2 IS STMNT PAUSE OR STOP K1409820 7D7C 4C18 7D54 990 | BSC L AMIN2,+- BRANCH IF NOT K1409830 991 | * K1409840 992 | * K1409850 7D7E C201 993 | LD 2 1 LOAD CONSTANT K1409860 7D7F 9400 7E3C 994 | S L TEN IS IT GREATER THAN 10 K1409870 7D81 4C28 7D54 995 | BSC L AMIN2,+Z BRANCH IF NOT K1409880 996 | * K1409890 997 | * K1409900 7D83 C201 998 | LD 2 1 LOAD WORD K1409910 7D84 706D 999 | MDX BTOD CONVERT TO DECIMAL K1409920 1000 | * K1409930 1001 | * CHECK FOR TRANSFER STMNT K1409940 1002 | * PRIOR TO THE END STMNT K1409950 7D85 69E7 1003 | OUT1 STX 1 SAVE SAVE ADDR OF END STMNT K1409960 7D86 C400 7A24 1004 | LD L SOFS IS END STMNT THE K1409970 7D88 90E4 1005 | S SAVE FIRST STMNT IN STRING K1409980 7D89 4C18 7DA7 1006 | BSC L TEST,+- BRANCH TO ERROR IF YES 2-1 K1409990 7D8B 6680 7A24 1007 | LDX I2 SOFS INITIALIZE CHECK POINTER K1410000 7D8D 6ADD 1008 | STX 2 SAVE2 SAVE CHECK POINTER K1410010 7D8E C200 1009 | LD 2 0 LOAD STMNT ID WORD K1410020 7D8F 1802 1010 | SRA 2 GET NORM K1410030 7D90 E0DD 1011 | AND MASK6 OF STATEMENT K1410040 7D91 D001 1012 | STO OUT2+1 STORE NORM K1410050 7D92 7600 0000 1013 | OUT2 MDX L2 0 MOVE PT TO NEXT STMNT K1410060 7D94 6AD7 1014 | STX 2 SAVE1 SAVE NEW PT ADDRESS K1410070 7D95 C0D6 1015 | LD SAVE1 IS NEW ADDRESS THE ADDRESS K1410080 7D96 90D6 1016 | S SAVE OF THE END STATEMENT K1410090 7D97 4828 1017 | BSC Z+ SKIP IF END 2-1 K1410100 7D98 70F4 1018 | MDX OUT1+8 CHECK NEXT STMNT ON STRING K1410110 7D99 6580 7D6B 1019 | LDX I1 SAVE2 ADDR OF STMNT BEFORE END K1410120 7D9B C100 1020 | LD 1 0 LOAD STMNT ID WORD K1410130 7D9C 180B 1021 | SRA 11 GET STMNT ID TYPE K1410140 7D9D 90CA 1022 | S CON6 IS IT FORMAT STMNT--IF YES K1410150 7D9E 4C18 7D85 1023 | BSC L OUT1,+- CHECK PREVIOUS STMNT K1410160 7DA0 4400 7E3E 1024 | BSI L TRCKS CHECK FOR TRANSFER STMNT K1410170 7DA2 7B14 1025 | DC OUT GO TO NEXT PHASE K1410180 7DA3 7DA4 1026 | DC * GO TO NEXT INSTRUCTION K1410190 7DA4 90C2 1027 | S CON5 IS IT ERROR STMNT K1410200 7DA5 4C18 7B14 1028 | BSC L OUT,+- BRANCH IF YES K1410210 1029 | * K1410220 1030 | * K1410230 7DA7 6580 7A25 1031 | TEST LDX I1 EOFS LOAD PT WITH END OF STRING K1410240 7DA9 C400 7AF0 1032 | LD L ERRID PUT ERROR STMNT ID WORD K1410250 7DAB D100 1033 | STO 1 0 AT END OF STRING K1410260 7DAC C0BC 1034 | LD ER62 PUT ERROR NO. 62 K1410270 7DAD D101 1035 | STO 1 1 ON STRING K1410280 7DAE C0BB 1036 | LD END PUT END STMNT ID WORD K1410290 7DAF D102 1037 | STO 1 2 ON STRING K1410300 7DB0 7102 1038 | MDX 1 2 MOVE STRING POINTER K1410310 7DB1 6D00 7A25 1039 | STX L1 EOFS NEW END OF STRING ADDRESS K1410320 7DB3 4C00 7B14 1040 | BSC L OUT GO TO NEXT PHASE K1410330 1041 | * K1410340 1042 | * K1410350 7DB5 1010 1043 | ER61 SLA 16 SET UP ERROR NO. 61 K1410360 7DB6 D400 7D11 1044 | STO L NORM2 TURN OFF PAUSE K1410370 7DB8 C0AD 1045 | LD ERR61 OR STOP SWITCH K1410380 7DB9 4C00 7B2B 1046 | BSC L CLOS1+1 PUT ERROR ON STRING K1410390 1047 | * K1410400 1048 | * THIS IS A SUBROUTINE TO GET SYMBOL K1410410 1049 | * TABLE ADDRESS ID AND LOAD ACCUMULATOR K1410420 1050 | * K1410430 7DBB 0000 1051 | CHECK DC 0 ENTRY POINT K1410440 7DBC 4C10 7DCD 1052 | BSC L DEMPY+4,- RETURN IF SPECIAL OPERATOR K1410450 7DBE C100 1053 | LD 1 0 LOAD WORD K1410460 7DBF E400 7BDC 1054 | AND L MASK GET SYM TBL ENTRY NO. K1410470 7DC1 A400 7BDD 1055 | M L THRE GET ADDRESS OF ENTRY K1410480 7DC3 1090 1056 | SLT 16 RELATIVE TO START K1410490 7DC4 D09E 1057 | STO DEVIL OF SYMBOL TABLE K1410500 1058 | * K1410510 7DC5 C400 7A26 1059 | LD L SOFST GET ABSOLUTE ADDRESS K1410520 7DC7 909B 1060 | S DEVIL OF SYMBOL TABLE ENTRY - 3 K1410530 7DC8 D001 1061 | STO DEMPY+1 STORE ABSOLUTE ADDRESS K1410540 7DC9 6600 0000 1062 | DEMPY LDX L2 0 GET ADDRESS OF K1410550 7DCB 7203 1063 | MDX 2 3 ENTRY ID WORD K1410560 7DCC C200 1064 | LD 2 0 LOAD SYM TBL ID WORD K1410570 7DCD 4C80 7DBB 1065 | BSC I CHECK RETURN K1410580 1066 | * K1410590 1067 | * THIS IS A SUBROUTINE TO MOVE THE K1410600 1068 | * POINTER TO FOLLOWING STATEMENT K1410610 7DCF 0000 1069 | MOVE DC 0 ENTRY POINT K1410620 7DD0 C100 1070 | LD 1 0 LOAD STMNT ID WORD K1410630 7DD1 1802 1071 | SRA 2 GET NORM K1410640 7DD2 E400 7A66 1072 | AND L IDNRM OF STATEMENT K1410650 7DD4 D001 1073 | STO NXID+1 GET ADDR OF NEXT K1410660 7DD5 7500 0000 1074 | NXID MDX L1 STMNT ID WORD K1410670 7DD7 4C80 7DCF 1075 | BSC I MOVE RETURN K1410680 1076 | * K1410690 1077 | * K1410700 1078 | * OPENS THE STRING ONE WORD FOR K1410710 1079 | * INSERTION OF A GENERATED LABEL K1410720 1080 | * K1410730 7DD9 0000 1081 | ROUT DC 0 ENTRY POINT K1410740 7DDA 6989 1082 | STX 1 ZEMP SAVE STRING POINTER K1410750 7DDB C400 7A25 1083 | LD L EOFS GET SIZE OF K1410760 7DDD 9400 7D64 1084 | S L ZEMP STRING TO K1410770 7DDF 8400 7A70 1085 | A L ONE BE MOVED K1410780 1086 | * K1410790 7DE1 D001 1087 | STO BOND+1 PUT IN COUNTER K1410800 7DE2 6500 0000 1088 | BOND LDX L1 0 LOAD COUNTER K1410810 7DE4 6680 7A25 1089 | LDX I2 EOFS GET NEW SIZE K1410820 7DE6 7201 1090 | MDX 2 1 OF STRING K1410830 7DE7 6E00 7A25 1091 | STX L2 EOFS NEW END OF STRING ADDR K1410840 7DE9 C2FF 1092 | PUZ LD 2 -1 LOAD WORD AND MOVE K1410850 7DEA D200 1093 | STO 2 0 IT UP ONE WORD K1410860 7DEB 72FF 1094 | MDX 2 -1 MOVE POINTER K1410870 7DEC 71FF 1095 | MDX 1 -1 DECREMENT COUNTER K1410880 7DED 70FB 1096 | MDX PUZ CONTINUE LOOP K1410890 7DEE 6580 7D64 1097 | LDX I1 ZEMP RESET INPUT POINTER K1410900 7DF0 4C80 7DD9 1098 | BSC I ROUT RETURN K1410910 1099 | * K1410920 1100 | * CONVERT BINARY TO DECIMAL K1410930 7DF2 690B 1101 | BTOD STX 1 BOX+1 SAVE STRING POINTER K1410940 7DF3 6104 1102 | LDX 1 4 K1410950 7DF4 1890 1103 | REP SRT 16 POSITION FOR DIVIDE K1410960 7DF5 A846 1104 | D TEN DIVIDE BY TEN K1410970 7DF6 D044 1105 | STO WORK SAVE QUOTIENT K1410980 7DF7 C042 1106 | LD DEC LOAD DECIMAL NO. K1410990 7DF8 18C4 1107 | RTE 4 BRING REMAINDER TO ACC K1411000 7DF9 D040 1108 | STO DEC SAVE DECIMAL NO. K1411010 7DFA C040 1109 | LD WORK LOAD QUOTIENT K1411020 7DFB 71FF 1110 | MDX 1 -1 DECREMENT COUNT OF DIVIDES K1411030 7DFC 70F7 1111 | MDX REP GET NEXT NO. IN CONVERSION K1411040 7DFD 6500 0000 1112 | BOX LDX L1 0 RESTORE INPUT POINTER K1411050 1113 | * K1411060 1114 | * K1411070 7DFF 4003 1115 | BSI BOXX PUT SYM TBL ADDR ON STRING K1411080 7E00 4C00 7D56 1116 | BSC L AMIN2+2 PUT CALL ON STRING K1411090 1117 | * K1411100 1118 | * PUTS THE POINTER TO A CONSTANT K1411110 1119 | * IN THE STRING - PLACES THE K1411120 1120 | * CONSTANT INTO THE SYMBOL TABLE K1411130 1121 | * CHECKS FOR A SYM TBL OVERLAP K1411140 1122 | * K1411141 7E02 0000 1123 | TEMP3 DC *-* 2-10 K1411142 7E03 0000 1124 | BOXX DC 0 ENTRY POINT K1411150 7E04 6B32 1125 | STX 3 ZEMP1+1 SAVE INDEX REGISTER 3 K1411160 7E05 6780 7A27 1126 | LDX I3 SOFNS START OF NON-STMNT NRS2-10 K1411170 7E07 6B33 1127 | STX 3 WORK PUT IN WORK K1411180 7E08 7009 1128 | MDX LAB BRANCH TO INITIALIZE 2-10 K1411190 7E09 C301 1129 | CONT LD 3 1 FIRST WD OF NEXT ENTR 2-10 K1411200 7E0A 902F 1130 | S DEC COMP WITH CONSTANT 2-10 K1411210 7E0B 4C20 7E11 1131 | BSC L LAB-1,Z BRANCH IF NOT EQUAL 2-10 K1411220 7E0D C300 1132 | LD 3 0 GET SYMB TAB ID-WORD 2-10 K1411230 7E0E 1001 1133 | SLA 1 SHIFT INT INDR TO SIGN2-10 K1411240 7E0F 4C28 7E25 1134 | BSC L PTSTR,+Z BRANCH IF INT BIT SET 2-10 K1411250 7E11 73FD 1135 | MDX 3 -3 DECR SYMB TAB ADDRESS 2-10 K1411260 7E12 6BEF 1136 | LAB STX 3 TEMP3 2-10 K1411270 7E13 C0EE 1137 | LD TEMP3 GET NEXT SEARCH ADDR 2-10 K1411280 7E14 9400 7A2A 1138 | S L EOFST COMP TO END OF SYMB T 2-10 K1411290 7E16 4C30 7E09 1139 | BSC L CONT,-Z BRANCH IF NOT END 2-10 K1411300 7E18 C021 1140 | LD DEC PUT DECIMAL CONSTANT 2-10 K1411310 7E19 D301 1141 | STO 3 1 *IN SYMBOL TABLE 2-10 K1411320 7E1A C400 7D60 1142 | LD L MASK2 PUT SYMBOL TABLE ID 2-10 K1411330 7E1C D300 1143 | STO 3 0 *WORD IN SYMB TABLE 2-10 K1411340 7E1D 1010 1144 | SLA 16 PUT ZEROES AT SECOND 2-10 K1411350 7E1E D302 1145 | STO 3 2 *WORD OF ENTRY 2-10 K1411360 7E1F 74FD 7A2A 1146 | MDX L EOFST,-3 MODIFY 2-10 K1411370 7E21 74FD 7A28 1147 | MDX L SOFXT,-3 *SYMBOL TABLE 2-10 K1411380 7E23 74FD 7A29 1148 | MDX L SOFGT,-3 *ADDRESSES 2-10 K1411381 7E25 6B15 1149 | PTSTR STX 3 WORK SAVE SYMB TAB POINTER 2-10 K1411382 7E26 C400 7A26 1150 | LD L SOFST GET SIZE OF 2-10 K1411383 7E28 9012 1151 | S WORK *SYMBOL TABLE 2-10 K1411384 7E29 1890 1152 | SRT 16 POSITION FOR DIVIDE 2-10 K1411385 7E2A AC00 7BDD 1153 | D L THRE GET ENTRY NO. FOR NEW 2-10 K1411386 7E2C 8010 1154 | A SIGN1 *SYMBOL TABLE ENTRY 2-10 K1411387 7E2D D101 1155 | STO 1 1 STORE IN STRING 2-10 K1411388 1156 | * K1411390 7E2E C400 7A2A 1157 | LD L EOFST TEST FOR OVERLAP K1411400 7E30 8400 7A6F 1158 | A L TWO BETWEEN STRING AND K1411410 7E32 9400 7A25 1159 | S L EOFS SYMBOL TABLE K1411420 7E34 4C28 7B10 1160 | BSC L JIMY,+Z BRANCH IF OVERLAP K1411430 7E36 6700 0000 1161 | ZEMP1 LDX L3 0 RESTORE XR3 K1411440 7E38 4C80 7E03 1162 | BSC I BOXX RETURN K1411450 1163 | * K1411460 1164 | * CONSTANTS K1411470 7E3A 0000 1165 | DEC DC 0 DECIMAL CONVERSION WORD K1411480 7E3B 0000 1166 | WORK DC 0 TEMPORARY STORAGE K1411490 7E3C 000A 1167 | TEN DC 10 TEN K1411500 7E3D 8001 1168 | SIGN1 DC /8001 SIGN FOR SYM TBL K1411510 1169 | * K1411520 1170 | * SUBROUTINE TO CHECK A STATEMENT K1411530 1171 | * ID WORD FOR A TRANSFER STATEMENT. K1411540 1172 | * ROUTINE BRANCHES INDIRECT THROUGH K1411550 1173 | * FIRST OPERAND IF TRANSFER, AND K1411560 1174 | * SECOND IF NOT. K1411570 1175 | * K1411580 7E3E 0000 1176 | TRCKS DC 0 ENTRY POINT K1411590 7E3F C0FE 1177 | LD TRCKS LOAD RETURN ADDRESS K1411600 7E40 D016 1178 | STO WRT1+1 STORE IN TRANSFER EXIT K1411610 7E41 8016 1179 | A WR111 ADD ONE K1411620 7E42 D012 1180 | STO WRT2+1 STORE IN NON-TRANSFER EXIT K1411630 7E43 C100 1181 | LD 1 0 LOAD WORD K1411640 7E44 180B 1182 | SRA 11 GET ID TYPE K1411650 7E45 9013 1183 | S CON1 IS IT GO TO K1411660 7E46 4C18 7E56 1184 | BSC L WRT1,+- BRANCH IF YES K1411670 7E48 9011 1185 | S CON2 IS IT STOP K1411680 7E49 4C18 7E56 1186 | BSC L WRT1,+- BRANCH IF YES K1411690 7E4B 900F 1187 | S CON3 IS IT RETURN K1411700 7E4C 4C18 7E56 1188 | BSC L WRT1,+- BRANCH IF YES K1411710 7E4E 900D 1189 | S NCON1 IS IT CALL LINK K1411720 7E4F 4C18 7E56 1190 | BSC L WRT1,-+ BRANCH IF YES K1411730 7E51 900B 1191 | S CON4 IS IT IF K1411740 7E52 4C18 7E56 1192 | BSC L WRT1,+- BRANCH IF YES K1411750 7E54 4C80 0000 1193 | WRT2 BSC I *-* EXIT IF NOT TRANSFER STMNT K1411760 7E56 4C80 0000 1194 | WRT1 BSC I *-* EXIT IF TRANSFER STMNT K1411770 1195 | * K1411780 1196 | * CONSTANTS K1411790 7E58 0001 1197 | WR111 DC 1 ONE K1411800 7E59 000E 1198 | CON1 DC /000E GO TO K1411810 7E5A 0009 1199 | CON2 DC /0017-/000E STOP K1411820 7E5B FFF9 1200 | CON3 DC /0010-/0017 RETURN K1411830 7E5C 000C 1201 | NCON1 DC /001C-/0010 CALL LINK K1411840 7E5D FFF3 1202 | CON4 DC /000F-/001C IF K1411850 1203 | * K1411860 7E5E 1204 | BSS BPHAR+PHLEN*320-*-1 PATCH AREA K1411870 7F35 0000 1205 | DC 0 K1411880 7F36 1206 | END BPHAR-2 K1411890 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $PHSE 0078 70 125 A 7C7F 676 644 AA 7C6B 647 636 AAA 7C67 639 ABEL 7A42 142 184 819 ADDI 7B60 318 428 AMIN2 7D54 942 933 990 995 1116 BACKC 7A69 191 154 BAKER 7A5F 179 209 313 333 446 954 BOND 7DE2 1088 1087 BOUN 7BFA 502 501 BOUND 7B8C 386 385 BOX 7DFD 1112 1101 BOXX 7E03 1124 932 1115 1162 BPHAR 7A36 117 1204 1206 BSCI 7B63 321 438 BTOD 7DF2 1101 999 C99 7D65 962 985 CALD 7B3D 289 287 288 292 CALL1 7D17 854 155 CALL2 7D1D 863 159 CALL3 7D23 872 163 CALL4 7D29 881 167 CALL5 7D2F 891 171 CALN1 7D0B 840 854 CALN2 7D0C 841 863 CALN3 7D0D 842 872 CALN4 7D0E 843 881 CALN5 7D0F 844 891 CALNO 7D10 845 855 864 873 882 892 944 CATOR 7C78 661 794 CCWD 7A31 90 CEE 7C1A 539 268 CHECK 7DBB 1051 547 586 628 685 707 912 1065 CLOS1 7B2A 271 213 342 562 607 648 977 981 1046 CLOSE 7B2D 278 CNTOK 7AF2 203 208 CNTST 7AF4 207 175 COLON 7BDB 468 578 COME 7C76 659 677 699 COMON 7A2B 84 CON1 7E59 1198 1183 CON2 7E5A 1199 1185 CON3 7E5B 1200 1187 CON4 7E5D 1202 1191 CON5 7D67 964 1027 CON6 7D68 965 1022 CONT 7E09 1129 1139 CONTC 7B20 256 363 CONTQ 7A6E 196 174 CSIZE 7A2C 85 DEC 7E3A 1165 950 1106 1108 1130 1140 DEMP 7C7C 671 700 DEMPY 7DC9 1062 1052 1061 DEVIL 7D63 960 1057 1060 DFCNT 7A33 110 DIP 7B21 257 265 266 DOC 7A68 190 150 DOID 7BDA 467 DOIID 7C77 660 738 822 DOTBL 7AFA 219 147 238 DOTID 7B22 258 375 DOXID 7B64 322 490 END 7D6A 967 1036 ENDC 7A67 189 146 EOFS 7A25 78 232 237 298 310 383 388 400 414 498 503 512 751 763 810 1031 1039 1083 1089 1091 1159 EOFST 7A2A 83 235 412 790 797 803 808 1138 1146 1157 EQAL 7C74 657 620 ER51 7B70 341 349 ER53 7C26 553 560 590 631 688 710 ER61 7DB5 1043 986 ER62 7D69 966 1034 ERIID 7B65 323 289 ERQ53 7AF3 204 212 ERR51 7AEF 200 226 ERR52 7B23 259 271 ERR53 7C17 532 561 ERR54 7C7A 663 647 ERR55 7C7B 664 606 ERR56 7D12 847 858 ERR57 7D13 848 867 ERR58 7D14 849 876 ERR59 7D15 850 885 ERR60 7D16 851 895 ERR61 7D66 963 1045 ERRID 7AF0 201 293 1032 ERRNO 7B1F 255 272 295 859 868 877 886 896 ERROR 7A2D 86 130 242 ERSID 7AF1 202 228 F5 7D0A 839 780 825 FED 7D34 899 888 FIDWD 7B66 324 345 FILEC 7A6B 193 162 FNAME 7A2E 87 558 FOUR 7D62 959 928 FRO 7BD9 466 395 FULL 7B25 265 151 GET 7B37 285 284 H0600 7BE7 480 493 H4080 7C6F 652 554 H8000 7C70 653 HAH 7CFA 817 835 HAP 7C36 570 550 HC 7D09 838 833 HDBDE 7D6F 972 588 937 HEN 7CCF 765 749 HOBBS 7D61 958 913 936 975 HOHO 7D04 832 777 IDNRM 7A66 188 281 733 1072 IDTPE 7A65 187 145 362 489 IOCS 7A32 99 JIMY 7B10 241 415 811 1160 LAB 7E12 1136 1128 1131 LD6 7BE2 475 397 LD7 7BE3 476 392 509 521 LD8 7BE4 477 507 LIZ 7BE8 487 368 LIZ1 7B81 367 491 494 LOADI 7B5F 317 424 460 741 LOOP1 7B50 304 309 LOOT 7C09 513 511 517 522 LOOZ 7BA1 401 399 405 M1 7C73 656 640 740 M2S 7BE6 479 524 MASK 7BDC 469 1054 MASK1 7C71 654 589 630 687 709 938 MASK2 7D60 957 976 1142 MASK3 7C75 658 629 686 708 MASK4 7BDE 471 548 549 MASK5 7BE0 473 423 427 431 435 459 MASK6 7D6E 971 1011 MASK7 7C72 655 602 MDXI 7BE1 474 451 MEMRY 8000 67 68 69 MOVE 7DCF 1069 183 367 773 1075 MOVE1 7B84 375 364 MRXY 7C04 509 505 MUIT 7CD1 773 834 NASTY 7BCC 451 419 NCON1 7E5C 1201 1189 NO51E 7B67 325 341 NOPI 7BE5 478 455 NORM2 7D11 846 899 916 953 989 1044 NORM4 7BDF 472 NRMSV 7B1E 254 282 300 734 753 NXID 7DD5 1074 1073 NXTPH 7B1A 250 120 246 247 ONE 7A70 198 241 500 1085 ONON 7C06 511 508 ONWTH 7B9E 399 393 ORG 7A23 76 OUT 7B14 246 131 1025 1028 1040 OUT1 7D85 1003 220 1018 1023 OUT2 7D92 1013 1012 OVERL 7A23 68 72 OVLAP 7BA8 412 529 PAUSC 7A6D 195 170 PAVE 7C18 533 143 278 283 299 311 394 396 730 752 764 927 929 946 PEND 7C55 612 600 603 PHID 002C 73 124 PHLEN 0004 71 1204 POOL 7CC5 757 762 PPEM 7B72 345 338 PTSTR 7E25 1149 1134 PUZ 7DE9 1092 1096 R53 7C33 561 555 557 579 621 678 725 RANGE 7B4D 302 301 REP 7DF4 1103 1111 ROL 7FBC 69 248 ROUT 7DD9 1081 787 924 1098 SAVE 7D6D 970 1003 1005 1016 SAVE1 7D6C 969 1014 1015 SAVE2 7D6B 968 1008 1019 SAVE3 7B5A 312 273 SAVES 7C6E 651 587 593 601 SEM 7C9D 724 673 SHOE 7D70 975 921 939 SHOT 7D4E 936 917 SIGN 7C79 662 800 SIGN1 7E3D 1168 1154 SOFGT 7A29 82 805 1148 SOFNS 7A27 80 1126 SOFS 7A24 77 134 1004 1007 SOFST 7A26 79 796 1059 1150 SOFXT 7A28 81 804 1147 SORF 7A30 89 556 598 START 7A36 124 STOI 7B61 319 432 744 STOPC 7A6C 194 166 SUBTI 7B62 320 436 TABLE 7A71 199 135 260 TBCN 7B24 260 267 TED 7D36 907 860 869 878 TEM 7BD8 465 382 384 406 497 499 520 TEMP3 7E02 1123 1136 1137 TEN 7E3C 1167 994 1104 TEST 7DA7 1031 1006 THRE 7BDD 470 799 1055 1153 TINUE 7B68 331 180 TRCKS 7E3E 1176 336 1024 1177 TRYMR 7B97 394 390 TWO 7A6F 197 236 353 413 809 1158 VEN 7CB9 750 729 VEN1 7CC2 755 754 WHY 7B5E 316 357 445 WINDC 7A6A 192 158 WORK 7E3B 1166 1105 1109 1127 1149 1151 WR111 7E58 1197 1179 WRT1 7E56 1194 1178 1184 1186 1188 1190 1192 WRT2 7E54 1193 1180 X32 7C19 534 594 XYZ 7BBF 434 462 XYZ1 7CFE 822 737 XYZ2 7CAF 740 828 ZAMIN 7D58 946 ZEMP 7D64 961 1082 1084 1097 ZEMP1 7E36 1161 1125