ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:06 2020 Source File: \kforph13.asm 1130 FORTRAN COMPILER PHASE 13 2 | *************************************************** K1300020 3 | *STATUS - VERSION 2 MODIFICATION 8 * K1300030 4 | * * K1300040 5 | *FUNCTION/OPERATION- * K1300050 6 | * * CHECKS FIND, READ, WRITE, AND GO TO STMNTS * K1300060 7 | * FOR CORRECT SYNTAX, STATEMENT NUMBERS AND * K1300070 8 | * REFERENCES, AND VARIABLES. * K1300080 9 | * * DETECTS IMPLIED DO LOOPS IN READ AND WRITE * K1300090 10 | * STATEMENTS. GENERATES THE NECESSARY * K1300100 11 | * INDICATORS. * K1300110 12 | * * K1300120 13 | *ENTRY POINTS- * K1300130 14 | * START-PHASE 13 IS READ INTO CORE BY PHASE 12 * K1300140 15 | * AND EXECUTION BEGUN AT LOCATION START. * K1300150 16 | * * K1300160 17 | *INPUT- * K1300170 18 | * NONE IN THE USUAL SENSE. HOWEVER THE STMNT * K1300180 19 | * STRING SCANNED BY THE COMPILER MAY BE * K1300190 20 | * CONSIDERED INPUT. * K1300200 21 | * * K1300210 22 | *OUTPUT- * K1300220 23 | * NONE IN THE USUAL SENSE. HOWEVER, THE STMNT * K1300230 24 | * STRING AND THE SYMBOL TABLE ALTERED BY THE * K1300240 25 | * COMPILER MAY BE CONSIDERED OUTPUT. * K1300250 26 | * * K1300260 27 | *EXTERNAL REFERENCES-N/A * K1300270 28 | * * K1300280 29 | *EXITS- * K1300290 30 | * NORMAL- * K1300300 31 | * PHASE EXITS NORMALLY IF NO ERRORS ARE * K1300310 32 | * FOUND. PHASE 14 IS LOADED AND EXECUTED. * K1300320 33 | * ERROR- * K1300330 34 | * THE FLOW OF COMPILER PROCESSING IS NOT * K1300340 35 | * INTERRUPTED WHEN AN ERROR IS ENCOUNTERED. * K1300350 36 | * AN ERROR STMNT REPLACES THE FAULTY STMNT * K1300360 37 | * ON THE STRING AND STMNT SCANNING PROCESS * K1300370 38 | * CONTINUES. AN EXCEPTION OCCURS IN THE CASE * K1300380 39 | * OF AN OVERLAP ERROR. COMPILATION IS * K1300390 40 | * ABORTED AND CONTROL IS PASSED FROM PHASE * K1300400 41 | * TO SUCCEEDING PHASE UNTIL AN OUTPUT PHASE * K1300410 42 | * IS REACHED WHICH CAN PRINT AN ERROR MESSAGE* K1300420 43 | * THE ERRORS DETECTED IN PHASE 13 ARE 43, * K1300430 44 | * 44,45,46,47,48,49,50, AND 68. * K1300440 45 | * * K1300450 46 | *TABLES/WORK AREAS- * K1300460 47 | * NONE EXCEPT STATEMENT STRING AREA, SYMBOL * K1300470 48 | * TABLE, AND FORTRAN COMMUNICATION AREA * K1300480 49 | * * K1300490 50 | *ATTRIBUTES-N/A * K1300500 51 | * * K1300510 52 | *NOTES- * K1300520 53 | * THE SWITCHES USED IN PHASE 2 FOLLOW. IF NON- * K1300530 54 | * ZERO THE SWITCH IS TRANSFER=T. IF ZERO, THE * K1300540 55 | * SWITCH IS NORMAL=N. * K1300550 56 | * * SW1-DIMENSION NAME SUBSCRIPTED * K1300560 57 | * T=NOT SUBSCRIPTED * K1300570 58 | * * SW2-READ OR WRITE STATEMENT * K1300580 59 | * T=READ STATEMENT FOUND * K1300590 60 | * N=WRITE STATEMENT FOUND * K1300600 61 | * * SW3-EQUAL SIGN * K1300610 62 | * T=EQUAL SIGN FOUND * K1300620 63 | * * SW4-DIMENSIONED NAME * K1300630 64 | * T=NAME DIMENSIONED * K1300640 65 | * * FNDSW-FIND STATEMENT * K1300650 66 | * T=FIND STATEMENT FOUND * K1300660 67 | *************************************************** K1300670 68 | ABS K1300680 69 | * K1300690 70 | * SYSTEM EQUATES K1300700 8000 71 | MEMRY EQU /8000 K1300710 7A23 72 | OVERL EQU MEMRY-1501 START OF FCOM 2-4 K1300720 7FBC 73 | ROL EQU MEMRY-68 LOCN OF RTN TO READ NXT PH K1300730 0078 74 | $PHSE EQU /78 NO. OF PHASE NOW IN CORE K1300740 0003 75 | PHLEN EQU 3 NO. OF SECTORS THIS PHASE K1300745 7A23 76 | ORG OVERL K1300750 002B 77 | PHID EQU 43 ID NUMBER THIS PHASE K1300760 78 | * K1300770 79 | * FORTRAN COMMUNICATION AREA K1300780 7A23 80 | ORG BSS 1 ORIGIN ADDRESS 2-4 K1300785 7A24 81 | SOFS BSS 1 START OF STRING K1300790 7A25 82 | EOFS BSS 1 END OF STRING K1300800 7A26 83 | SOFST BSS 1 START OF SYMBOL TABLE K1300810 7A27 84 | SOFNS BSS 1 START OF NON-STATEMENT NUMBERS K1300820 7A28 85 | SOFXT BSS 1 START OF SUBSCRIPT TEMPORARIES K1300830 7A29 86 | SOFGT BSS 1 START OF GENERATED TEMPORARIES K1300840 7A2A 87 | EOFST BSS 1 END OF SYMBOL TABLE K1300850 7A2B 88 | COMON BSS 1 NEXT AVAILABLE COMMON K1300860 7A2C 89 | CSIZE BSS 1 SIZE OF COMMON K1300870 7A2D 90 | ERROR BSS 1 OVERLAP ERROR K1300880 7A2E 91 | FNAME BSS 1 PROGRAM NAME K1300890 7A2F 92 | BSS 1 K1300900 7A30 93 | SORF BSS 1 SUBROUTINE(-) OR FUNCTION(+) K1300910 7A31 94 | CCWD BSS 1 CONTROL CARD WORD K1300920 95 | * BIT 15 TRANSFER TRACE K1300930 96 | * BIT 14 ARITHMETIC TRACE K1300940 97 | * BIT 13 EXTENDED PRECISION K1300950 98 | * BIT 12 LIST SYMBOL TABLE K1300960 99 | * BIT 11 LIST SUBPROGRAM NAMES K1300970 100 | * BIT 10 LIST SOURCE PROGRAM K1300980 101 | * BIT 9 ONE WORD INTEGERS K1300990 102 | * BIT 8 ORIGIN 2-4 K1300995 7A32 103 | IOCS BSS 1 IOCS CONTROL CARD WORD K1301000 104 | * BIT 15 CARD K1301010 105 | * BIT 14 PAPER TAPE K1301020 106 | * BIT 13 TYPEWRITER K1301030 107 | * BIT 12 1403 PRINTER K1301040 108 | * BIT 11 2501 READER K1301050 109 | * BIT 10 KEYBOARD K1301060 110 | * BIT 9 1442 PUNCH K1301070 111 | * BIT 8 DISK K1301080 112 | * BIT 7 1132 PRINTER K1301090 113 | * BIT 3 PLOTTER K1301100 114 | * BIT 1 UDISK K1301110 7A33 115 | DFCNT BSS 1 K1301120 116 | * K1301130 117 | * K1301140 118 | * END OF FORTRAN COMMUNICATION K1301150 119 | * AREA K1301160 120 | * K1301170 121 | * K1301180 7A36 122 | BPHAR EQU *+2 BEGIN PHASE AREA K1301190 7A34 0000 123 | DC 0 PHASE ID FOR SLET LOOKUP K1301200 7A35 FFD5 124 | DC -43 TABLE FOR NEXT PHASE ENTRY K1301210 7A36 000C 125 | DC NXTPH-*+1 ONE ENTRY TO BE SET BY LDR K1301220 7A37 0001 126 | DC 1 K1301230 7A36 127 | ORG *-2 K1301240 128 | * K1301250 7A36 612B 129 | START LDX 1 PHID GET ID FOR THIS PHASE K1301260 7A37 6D00 0078 130 | STX L1 $PHSE STORE IN SYSTEM PHASE AREA K1301270 131 | * K1301280 132 | * K1301290 7A39 C0F3 133 | LD ERROR TEST FOR OVERLAP ERROR K1301300 7A3A 4C18 7A46 134 | BSC L ORGIN,+- BRANCH IF NO ERROR K1301310 135 | * K1301320 136 | * TRANSFERS TO THE ROL ROUTINE K1301330 137 | * TO LOAD THE NEXT PHASE K1301340 7A3C 6580 7A43 138 | OVERF LDX I1 NXTPH+1 LOAD PARAMETER FOR K1301350 7A3E C805 139 | LDD NXTPH+2 READING NEXT PHASE K1301360 7A3F 4C00 7FBC 140 | BSC L ROL GO TO READ NEXT PHASE K1301370 7A42 141 | BSS E 0 K1301380 7A42 002C 142 | NXTPH DC 44 ID OF NEXT PHASE K1301390 7A43 143 | BSS 3 LOADER TBL FOR NEXT PHASE K1301400 144 | * K1301410 145 | * MOVES THE STMNT STRING ADJACENT K1301420 146 | * TO THE SYM TBL. INITIALIZES K1301430 147 | * THE I/P PT. CHECKS FOR THE K1301440 148 | * TRACE AND IOCS INDICATORS IN K1301450 149 | * THE FORTRAN COMMUNICATIONS AREA K1301460 7A46 C0DE 150 | ORGIN LD EOFS GET SIZE OF K1301470 7A47 90DC 151 | S SOFS STRING - 1 K1301480 7A48 D001 152 | STO *+1 INITIALIZE STRING K1301490 7A49 6700 0000 153 | LDX L3 *-* SIZE COUNTER K1301500 7A4B 7301 154 | MDX 3 1 SIZE OF STRING K1301510 7A4C 6680 7A25 155 | LDX I2 EOFS LOOP INPUT PT K1301520 7A4E 6580 7A2A 156 | LDX I1 EOFST LOOP OUTPUT PT K1301530 7A50 C200 157 | LD 2 0 LOAD WORD AND MOVE IT K1301540 7A51 D102 158 | STO 1 +2 NEXT TO SYMBOL TABLE K1301550 7A52 71FF 159 | MDX 1 -1 MOVE POINTERS K1301560 7A53 72FF 160 | MDX 2 -1 K1301570 7A54 73FF 161 | MDX 3 -1 DECREMENT COUNTER K1301580 7A55 70FA 162 | MDX *-6 CONTINUE LOOP K1301590 7A56 7103 163 | MDX 1 3 INITIALIZE STRING INPUT PT K1301600 164 | * K1301610 165 | * INITIAL PHASE K1301620 7A57 6680 7A24 166 | LDX I2 SOFS INITIALIZE STRING O/P PT K1301630 167 | * K1301640 168 | * TRACE CONTROL RECORD PRESENT K1301650 7A59 C0D7 169 | LD CCWD IS THERE A TRACE K1301660 7A5A 100E 170 | SLA 14 DEVICE REQUIRED K1301670 7A5B 4C18 7A6C 171 | BSC L XY1,+- BRANCH IF NO K1301680 172 | * K1301690 173 | * K1301700 7A5D C0D2 174 | LD SORF IS TRACE DEVICE PRESENT K1301710 7A5E E8D3 175 | OR IOCS OR IN MAINLINE PROGRAM K1301720 7A5F 4C20 7A6C 176 | BSC L XY1,Z BRANCH IF YES K1301730 177 | * K1301740 178 | * PUT OUT ERROR NO. 50 K1301750 7A61 C006 179 | LD SAERT LOAD ERROR ID WORD K1301760 7A62 4400 7C63 180 | BSI L CHECK OUTPUT ERROR ID WORD K1301770 7A64 C004 181 | LD S50TT LOAD ERROR NUMBER K1301780 7A65 4400 7C63 182 | BSI L CHECK OUTPUT ERROR NUMBER K1301790 7A67 7004 183 | MDX XY1 BEGIN BODY SCAN K1301800 184 | * * K1301810 185 | * CONSTANTS K1301820 7A68 A008 186 | SAERT DC /A008 ERROR ID WORD K1301830 7A69 0032 187 | S50TT DC 50 ERROR NO. 50 K1301840 7A6A 0001 188 | S0001 DC /0001 ONE K1301850 7A6B 07FF 189 | S07FF DC /07FF NORM MASK K1301860 190 | * K1301870 191 | * INITIALIZES TO SCAN THE K1301880 192 | * STATEMENT BODY K1301890 7A6C C100 193 | XY1 LD 1 0 LOAD STMNT ID WORD K1301900 7A6D E0FD 194 | AND S07FF CLEAR OUT ID TYPE K1301910 7A6E 1802 195 | SRA 2 RIGHT-JUSTIFY NORM K1301920 7A6F D400 7D2B 196 | STO L XY27+1 SAVE NORM K1301930 7A71 6D00 7B3E 197 | STX L1 XT1 SAVE INPUT POINTER K1301940 7A73 8400 7B3E 198 | A L XT1 ADD INPUT POINTER TO GET K1301950 7A75 D400 7C0F 199 | STO L NXTID ADDRESS OF NEXT STMNT K1301960 7A77 6E00 7BFD 200 | STX L2 IDSV2 SAVE OUTPUT PT K1301970 7A79 690B 201 | STX 1 IDSV1 SAVE INPUT PT K1301980 7A7A 4400 7C72 202 | BSI L MOVE1 OUTPUT WORD, MOVE PT K1301990 7A7C C1FF 203 | LD 1 -1 LOAD STMNT ID WORD K1302000 7A7D F0EC 204 | EOR S0001 TEST FOR STMNT NUMBER K1302010 7A7E 4C04 7A84 205 | BSC L XY2,E BRANCH NO STMNT NUMBER K1302020 7A80 4400 7C72 206 | BSI L MOVE1 OUTPUT WORD, MOVE PT K1302030 7A82 74FF 7D2B 207 | MDX L XY27+1,-1 DECREMENT NORM COUNTER K1302040 208 | * K1302050 209 | * K1302060 210 | * CHECKS FOR THE END STMNT K1302070 7A84 C400 0000 211 | XY2 LD L *-* LOAD STMNT ID WORD K1302080 7A85 212 | IDSV1 EQU XY2+1 ADDRESS OF STMNT ID WORD K1302090 7A86 180B 213 | SRA 11 RIGHT-JUSTIFY ID TYPE K1302100 7A87 9400 7B40 214 | S L TEND IS IT END STMNT K1302110 7A89 4C20 7A95 215 | BSC L XY3,Z BRANCH IF NOT K1302120 216 | * K1302130 217 | * K1302140 7A8B 72FF 218 | XY34 MDX 2 -1 GET NEW END OF K1302150 7A8C 6E00 7A25 219 | STX L2 EOFS STRING ADDRESS K1302160 7A8E 70AD 220 | MDX OVERF GO TO NEXT PHASE K1302170 221 | * K1302180 222 | * K1302190 223 | * DETECTS FIND STMNTS K1302200 7A8F 9400 7B43 224 | XY4B S L TFIND IS IT FIND STMNT K1302210 7A91 4C20 7C12 225 | BSC L XY24,Z BRANCH IF NOT K1302220 7A93 6850 226 | STX 0 FNDSW SET FIND STMNT SWITCH K1302230 7A94 700E 227 | MDX NSW2 CHECK FOR DEVICE K1302240 228 | * K1302250 229 | * K1302260 230 | * DETECTS READ STMNTS K1302270 7A95 9400 7B41 231 | XY3 S L TREAD IS IT READ STMNT K1302280 7A97 4C20 7A9C 232 | BSC L XY4,Z BRANCH IF NOT K1302290 233 | * K1302300 234 | * K1302310 7A99 6C00 7B3F 235 | STX L0 SW2 SET SWITCH TO READ K1302320 7A9B 7006 236 | MDX XY6 NORMALIZE FIND SWITCH K1302330 237 | * K1302340 238 | * K1302350 239 | * DETECTS WRITE STMNTS K1302360 7A9C 9400 7B42 240 | XY4 S L TWRIT IS IT WRITE STMNT K1302370 7A9E 4C20 7A8F 241 | BSC L XY4B,Z BRANCH IF NOT K1302380 242 | * K1302390 243 | * K1302400 7AA0 D400 7B3F 244 | STO L SW2 SET SWITCH TO WRITE K1302410 245 | * K1302420 246 | * K1302430 247 | * CHECKS THE SORF WORD IN THE K1302440 248 | * FORTRAN COMMUNICATIONS AREA FOR K1302450 249 | * A SUBPROGRAM INDICATOR K1302460 250 | * CHECKS FOR THE PRESENCE OF IOCS K1302470 251 | * INDICATORS IN A MAINLINE K1302480 252 | * COMPILATION K1302490 7AA2 D041 253 | XY6 STO FNDSW NORMALIZE FIND SWITCH K1302500 7AA3 632C 254 | NSW2 LDX 3 44 PUT ERROR NO. 44 K1302510 7AA4 6F00 7B44 255 | STX L3 ERNO IN ERNO K1302520 256 | * K1302530 257 | * K1302540 7AA6 C400 7A30 258 | LD L SORF IS THIS SUBROUTINE K1302550 7AA8 4C20 7AB4 259 | BSC L XY6A,Z BRANCH IF YES K1302560 260 | * K1302570 261 | * K1302580 7AAA C400 7A32 262 | LD L IOCS CHECK FOR VALID K1302590 7AAC E036 263 | AND H51FF I/O DEVICE K1302600 7AAD 4C20 7AB4 264 | BSC L XY6A,Z BRANCH IF VALID DEVICE K1302610 265 | * K1302620 266 | * K1302630 7AAF 632D 267 | XY6B LDX 3 45 PUT ERROR NO. 45 K1302640 7AB0 6F00 7B44 268 | STX L3 ERNO IN ERNO K1302650 7AB2 4C00 7BFC 269 | BSC L XY7 PUT ERROR STMNT ON STRING K1302660 270 | * K1302670 271 | * K1302680 272 | * CHECKS THE SYNTAX OF FIND, READ K1302690 273 | * AND WRITE STATEMENTS K1302700 274 | * CHECKS VARIABLE NAMES AND K1302710 275 | * INTEGER CONSTANTS FOR VALIDITY K1302720 276 | * CHECKS FOR A FORMAT STMNT K1302730 277 | * NUMBER REFERENCE K1302740 7AB4 C100 278 | XY6A LD 1 0 LOAD WORD K1302750 7AB5 9400 7B45 279 | S L TLP IS CHAR LEFT PARENTHESIS K1302760 7AB7 4C20 7BFC 280 | BSC L XY7,Z BRANCH IF NOT K1302770 281 | * K1302780 282 | * CALL PUT (I/O OPERATOR) K1302790 7AB9 6A5D 283 | STX 2 IOOPS SAVE OUTPUT POINTER K1302800 7ABA C400 7B46 284 | LD L IOOP LOAD I/O OPERATOR K1302810 7ABC 4400 7C5E 285 | BSI L PUT PUT ON OUTPUT STRING K1302820 286 | * K1302830 287 | * K1302840 7ABE C100 288 | LD 1 0 LOAD WORD K1302850 7ABF 4400 7C63 289 | BSI L CHECK PUT ON OUTPUT STRING K1302860 290 | * K1302870 291 | * K1302880 7AC1 7101 292 | MDX 1 1 MOVE INPUT POINTER K1302890 293 | * K1302900 294 | * K1302910 7AC2 C100 295 | LD 1 0 LOAD WORD K1302920 7AC3 4400 7C4C 296 | BSI L GETID GET SYM TBL ID WORD K1302930 7AC5 E400 7B4C 297 | AND L S5BDE CHECK TO SEE IF K1302940 7AC7 F07F 298 | EOR S4000 IT IS INTEGER K1302950 7AC8 4C20 7BFC 299 | BSC L XY7,Z BRANCH IF NOT K1302960 300 | * K1302970 301 | * K1302980 7ACA 4400 7C72 302 | BSI L MOVE1 OUTPUT WORD, MOVE POINTER K1302990 303 | * K1303000 304 | * K1303010 7ACC C100 305 | LD 1 0 LOAD WORD K1303020 7ACD 907B 306 | S TCMA IS CHARACTER COMMA K1303030 7ACE 4C20 7AEA 307 | BSC L XY5,Z BRANCH IF NOT K1303040 308 | * K1303050 309 | * K1303060 7AD0 C400 7A32 310 | LD L IOCS IS THERE I/O DEVICE OTHER K1303070 7AD2 E013 311 | AND H517F THAN DISK, OR IS THIS K1303080 7AD3 EC00 7A30 312 | OR L SORF SUBROUTINE K1303090 7AD5 4C18 7AAF 313 | BSC L XY6B,+- BRANCH IF NEITHER K1303100 314 | * IN A MAINLINE ONLY. K1303110 315 | * K1303120 316 | * K1303130 7AD7 4400 7C72 317 | BSI L MOVE1 OUTPUT WORD, MOVE POINTER K1303140 318 | * K1303150 319 | * K1303160 7AD9 C100 320 | LD 1 0 LOAD WORD K1303170 7ADA 4400 7C4C 321 | BSI L GETID GET SYM TBL ID WORD K1303180 7ADC 1009 322 | SLA 9 IS IT FORMAT STATEMENT K1303190 7ADD 4C28 7B19 323 | BSC L XY9,+Z BRANCH IF YES K1303200 324 | * K1303210 325 | * K1303220 7ADF 632E 326 | LDX 3 46 PUT ERROR NO. 46 K1303230 7AE0 6B63 327 | STX 3 ERNO IN ERNO K1303240 7AE1 4C00 7BFC 328 | BSC L XY7 PUT ERROR STMNT ON STRING K1303250 329 | * K1303260 7AE3 51FF 330 | H51FF DC /51FF MASK FOR DEVICE CHECK K1303270 7AE4 0000 331 | FNDSW DC 0 FIND SWITCH K1303280 7AE5 0032 332 | COLON DC /32 COLON K1303290 7AE6 517F 333 | H517F DC /517F NON-DISK IOCS MASK K1303300 7AE7 0030 334 | DIOOP DC /30 DISK I/O OPERATOR K1303310 7AE8 0030 335 | APOST DC /42-/12 APOSTROPHE K1303320 7AE9 000A 336 | TEN DC 10 CONSTANT TEN 2-8 K1303325 337 | * K1303330 338 | * K1303340 339 | * CHECKS FOR THE APOSTROPHE (') K1303350 340 | * MARK - CHANGES IT TO A COMMA K1303360 341 | * OPERATOR K1303370 7AEA 90FD 342 | XY5 S APOST IS CHARACTER APOSTROPHE K1303380 7AEB 4C18 7AF8 343 | BSC L XY5A,+- BRANCH IF YES 2-3 K1303385 7AED C0F6 344 | LD FNDSW BRANCH IF THIS IS 2-3 K1303388 7AEE 4C20 7BFC 345 | BSC L XY7,Z *A FIND STATEMENT 2-8 K1303389 346 | * K1303390 7AF0 C300 347 | LD 3 0 LOAD STMNT ID WORD 2-8 K1303392 7AF1 4C10 7B1B 348 | BSC L XY8,- BRANCH IF VARIABLE 2-8 K1303393 7AF3 C301 349 | LD 3 1 LOAD CONSTANT 2-8 K1303394 7AF4 90F4 350 | S TEN COMPARE WITH TEN 2-8 K1303395 7AF5 4C20 7BFC 351 | BSC L XY7,Z ERROR IF NOT EQUAL 2-8 K1303397 7AF7 7023 352 | MDX XY8 BRANCH TO CONTINUE 2-8 K1303399 353 | * K1303400 354 | * K1303410 7AF8 C050 355 | XY5A LD TCOP REPLACE APOSTROPHE ON K1303420 7AF9 D100 356 | STO 1 0 INPUT STRING WITH COMMA K1303430 357 | * K1303440 358 | * K1303450 7AFA C400 7A32 359 | LD L IOCS REMOVE ALL BITS FROM IOCS K1303460 7AFC 1008 360 | SLA 8 WORD EXCEPT BIT FOR DISK K1303470 7AFD 180F 361 | SRA 15 IS DISK DEVICE PRESENT OR K1303480 7AFE EC00 7A30 362 | OR L SORF IS THIS SUBROUTINE K1303490 7B00 4C18 7AAF 363 | BSC L XY6B,+- BRANCH IF NEITHER K1303500 364 | * K1303510 365 | * K1303520 366 | * K1303530 7B02 C400 7A33 367 | LD L DFCNT LOAD FILE COUNT K1303540 7B04 EC00 7A30 368 | OR L SORF COMBINE WITH SORF K1303550 7B06 4C20 7B0C 369 | BSC L SKCOL,Z BRANCH IF HAVE EITHER K1303560 370 | * K1303570 371 | * K1303580 7B08 6346 372 | LDX 3 70 PUT ERROR NO. 70 K1303590 7B09 6B3A 373 | STX 3 ERNO INTO ERNO K1303600 7B0A 4C00 7BFC 374 | BSC L XY7 PUT ERROR STMNT ON STRING K1303610 375 | * K1303620 376 | * K1303630 377 | * CHECKS FOR THE COLON OPTR. IF K1303640 378 | * FOUND CHANGES THE I/O OPTR TO K1303650 379 | * A DISK OPTR. CHANGES THE COLON K1303660 380 | * OPTR BACK TO A RIGHT K1303670 381 | * PARENTHESIS OPERATOR. K1303680 7B0C C100 382 | SKCOL LD 1 0 LOAD WORD K1303690 7B0D 90D7 383 | S COLON IS CHARACTER COLON K1303700 7B0E 4C18 7B13 384 | BSC L REPL,-+ BRANCH IF YES K1303710 7B10 4400 7C72 385 | BSI L MOVE1 OUTPUT WORD, MOVE POINTER K1303720 7B12 70F9 386 | MDX SKCOL GET NEXT WORD K1303730 7B13 C034 387 | REPL LD RPARN LOAD RIGHT PARENTHESIS K1303740 7B14 D100 388 | STO 1 0 PUT IN PLACE OF COLON K1303750 7B15 C0D1 389 | LD DIOOP REPLACE I/O OPERATOR WITH K1303760 7B16 D400 0000 390 | STO L *-* DISK I/O OPERATOR K1303770 7B17 391 | IOOPS EQU *-1 ADDRESS OF I/O OPERATOR K1303780 7B18 7006 392 | MDX CLMV1 CONTINUE STMNT CHECK K1303790 393 | * K1303800 394 | * K1303810 7B19 4400 7C72 395 | XY9 BSI L MOVE1 OUTPUT WORD, MOVE POINTER K1303820 396 | * K1303830 397 | * K1303840 7B1B C100 398 | XY8 LD 1 0 LOAD WORD K1303850 7B1C 902B 399 | S TRP IS CHAR RIGHT PARENTHESIS K1303860 7B1D 4C20 7BFC 400 | BSC L XY7,Z BRANCH IF NOT K1303870 401 | * K1303880 402 | * K1303890 403 | * CHECKS FOR THE SEMICOLON OPTR K1303900 404 | * IN FIND STMNTS. K1303910 7B1F 4400 7C72 405 | CLMV1 BSI L MOVE1 OUTPUT WORD, MOVE POINTER K1303920 406 | * K1303930 407 | * SEMI-COLON MUST FOLLOW FIND K1303940 7B21 C0C2 408 | LD FNDSW IS THIS FIND STMNT K1303950 7B22 4C18 7B29 409 | BSC L XY8A,+- BRANCH IF NOT K1303960 7B24 C100 410 | LD 1 0 IS CHARACTER SEMI-COLON K1303970 7B25 4C20 7BFC 411 | BSC L XY7,Z BRANCH IF NOT K1303980 7B27 4C00 7BEA 412 | BSC L XY11 CORRECT STMNT NORM K1303990 7B29 C100 413 | XY8A LD 1 0 IS CHAR SEMI-COLON 2-7 K1304000 7B2A 4C20 7B38 414 | BSC L CKCMA,Z BRANCH IF NO 2-7 K1304005 7B2C C480 7B17 415 | LD I IOOPS GO TO ERROR IF THIS IS 2-7 K1304010 7B2E 90B8 416 | S DIOOP *A FORMATTED DISK READ 2-7 K1304015 7B2F 4C18 7BFC 417 | BSC L XY7,+- *OR WRITE 2-7 K1304020 7B31 C00D 418 | LD SW2 IS IT READ STATEMENT 2-7 K1304025 7B32 4C20 7B38 419 | BSC L CKCMA,Z BRANCH IF YES 2-7 K1304030 7B34 C1FD 420 | LD 1 -3 IS IT UNFORMATTED WRITE K1304040 7B35 900F 421 | S TLP WITH NO LIST K1304050 7B36 4C18 7BFC 422 | BSC L XY7,+- BRANCH IF YES K1304060 423 | * K1304080 7B38 C010 424 | CKCMA LD TCOP PUT COMMA ON K1304090 7B39 4400 7C63 425 | BSI L CHECK OUTPUT STRING K1304100 426 | * K1304110 427 | * K1304120 7B3B 632F 428 | LDX 3 47 PUT ERROR NO. 47 K1304130 7B3C 6B07 429 | STX 3 ERNO INTO ERNO K1304140 7B3D 7018 430 | MDX XY10 START LIST CHECK K1304150 431 | * K1304160 432 | * CONSTANTS K1304170 7B3E 0000 433 | XT1 DC 0 TEMPORARY STORAGE K1304180 7B3F 0000 434 | SW2 DC 0 SWITCH 2 K1304190 7B40 0002 435 | TEND DC /02 END ID K1304200 7B41 0010 436 | TREAD DC /12-/02 READ ID K1304210 7B42 FFFF 437 | TWRIT DC /11-/12 WRITE ID K1304220 7B43 000C 438 | TFIND DC /1D-/11 FIND ID K1304230 7B44 0000 439 | ERNO DC 0 ERROR NUMBER K1304240 7B45 0010 440 | TLP DC /10 LEFT PARENTHESIS K1304250 7B46 0026 441 | IOOP DC /26 I/O OPERATOR K1304260 7B47 4000 442 | S4000 DC /4000 MASK TO CHECK FOR INTEGER K1304270 7B48 0002 443 | TRP DC /02 RIGHT PARENTHESIS K1304280 7B48 444 | RPARN EQU TRP RIGHT PARENTHESIS K1304290 7B49 0012 445 | ICMA DC /12 COMMA K1304300 7B49 446 | TCMA EQU ICMA COMMA K1304310 7B49 447 | TCOP EQU ICMA COMMA K1304320 7B4A 0012 448 | TRGLP DC /22-/10 SPECIAL SKIP INDICATOR K1304330 7B4B 0002 449 | TWO DC 2 TWO K1304340 7B4C 5BDE 450 | S5BDE DC /5BDE MASK FOR INTEGER VARIABLE K1304350 7B4D 0022 451 | TRGOP DC /22 SPECIAL SKIP INDICATOR K1304360 7B4E 002A 452 | DOAOP DC /2A DOA INDICATOR K1304370 7B4F 0000 453 | ALL DC 0 INDEXING PARAMETER COUNTER K1304380 7B50 FFF0 454 | HLQSP DC /02-/12 RIGHT PARENTHESIS K1304390 7B51 0004 455 | FOUR DC 4 FOUR K1304400 7B52 F803 456 | SF802 DC /F803 MASK TO CLEAR OUT NORM K1304410 7B53 0020 457 | S0020 DC /0020 VARIABLE DEFINED BIT MASK K1304420 7B54 FFDE 458 | SFFDE DC /FFDE MASK FOR INTEGER VARIABLE K1304430 7B55 DBDE 459 | SDBDE DC /DBDE CON OR VAR INTEGER MASK K1304440 460 | * K1304450 461 | * K1304460 7B56 C100 462 | XY10 LD 1 0 IS CHAR SEMI-COLON K1304470 7B57 4C18 7BEA 463 | BSC L XY11,+- BRANCH IF YES K1304480 464 | * K1304490 465 | * K1304500 466 | * CHECKS A VARIABLE FOR DEFINITION K1304510 467 | * IF DEFINED, SETS THE INDICATOR K1304520 468 | * IN THE SYM TBL ID WORD K1304530 7B59 C100 469 | XY14 LD 1 0 IS IT SPECIAL CHARACTER K1304540 7B5A 4C10 7B6F 470 | BSC L XY12,- BRANCH IF YES K1304550 471 | * K1304560 472 | * K1304570 7B5C 4400 7C4C 473 | BSI L GETID GET SYM TBL ID WORD K1304580 7B5E 4400 7D12 474 | BSI L TESTV TEST VALIDITY OF VARIABLE K1304590 475 | * K1304600 476 | * K1304610 7B60 C0DE 477 | LD SW2 IS IT READ STMNT K1304620 7B61 4C18 7B66 478 | BSC L XY14A,+- BRANCH IF NOT K1304630 479 | * K1304640 480 | * K1304650 7B63 C300 481 | LD 3 0 LOAD SYM TBL ID WORD K1304660 7B64 E8EE 482 | OR S0020 ADD DEFINED VAR BIT K1304670 7B65 D300 483 | STO 3 0 PUT BACK IN SYM TBL K1304680 484 | * K1304690 485 | * K1304700 7B66 4400 7C7E 486 | XY14A BSI L NAME POSITION PT TO NEXT VAR K1304710 487 | * K1304720 488 | * K1304730 7B68 C100 489 | XY17 LD 1 0 LOAD WORD K1304740 7B69 90DF 490 | S TCMA IS CHARACTER COMMA K1304750 7B6A 4C20 7BE7 491 | BSC L XY13,Z BRANCH IF NOT K1304760 492 | * K1304770 493 | * K1304780 7B6C 4400 7C72 494 | BSI L MOVE1 OUTPUT COMMA, MOVE PT K1304790 7B6E 70EA 495 | MDX XY14 START LIST CHECK AGAIN K1304800 496 | * K1304810 497 | * K1304820 7B6F 90D5 498 | XY12 S TLP IS CHAR LEFT PARENTHESIS K1304830 7B70 4C20 7B79 499 | BSC L XY15,Z BRANCH IF NOT K1304840 500 | * K1304850 501 | * K1304860 7B72 4400 7CAD 502 | BSI L DO CHECK FOR IMPLIED DO LOOP K1304870 503 | * K1304880 504 | * K1304890 7B74 C400 7CD1 505 | LD L SW3 WAS EQUAL SIGN FOUND K1304900 7B76 4C18 7BFC 506 | BSC L XY7,+- BRANCH IF NOT K1304910 7B78 700C 507 | MDX XY16 PROCESS IMPLIED DO LOOPS K1304920 508 | * K1304930 509 | * K1304940 7B79 90D0 510 | XY15 S TRGLP IS CHAR SPECIAL SKIP OPTR K1304950 7B7A 4C20 7BFC 511 | BSC L XY7,Z BRANCH IF NOT K1304960 512 | * K1304970 513 | * K1304980 7B7C 6303 514 | LDX 3 3 NO. WORDS TO BE SKIPPED K1304990 515 | * K1305000 516 | * K1305010 7B7D 4400 7C78 517 | BSI L OUT OUTPUT THREE WORDS K1305020 518 | * K1305030 519 | * K1305040 7B7F C100 520 | LD 1 0 LOAD CHARACTER K1305050 7B80 90C8 521 | S TCMA IS CHARACTER COMMA K1305060 7B81 4C20 7BE7 522 | BSC L XY13,Z BRANCH IF NOT K1305070 523 | * K1305080 524 | * K1305090 7B83 7101 525 | MDX 1 1 MOVE POINTER K1305100 7B84 70D4 526 | MDX XY14 CHECK REST OF LIST K1305110 527 | * K1305120 528 | * K1305130 529 | * CHECKS FOR A NON-DIMENSIONED K1305140 530 | * INTEGER VARIABLE K1305150 531 | * INDICATES DEFINITION IF DEFINED K1305160 532 | * GENERATES THE DO-INITIALIZE OPTR K1305170 7B85 6580 7CD5 533 | XY16 LDX I1 DOX GET ADDRESS OF K1305180 7B87 71FF 534 | MDX 1 -1 VARIABLE K1305190 535 | * K1305200 536 | * K1305210 7B88 6AB5 537 | STX 2 XT1 STORE OUTPUT POINTER K1305220 7B89 C0B4 538 | LD XT1 CHECK TO SEE IF K1305230 7B8A 80C0 539 | A TWO OVERLAP BETWEEN INPUT K1305240 7B8B 9400 7CC7 540 | S L DOY AND OUTPUT STRING K1305250 7B8D 4C10 7C6D 541 | BSC L CK1,- BRANCH IF OVERLAP K1305260 542 | * K1305270 543 | * NON-DIMENSIONED INTEGER VARIABLE K1305280 7B8F C100 544 | LD 1 0 LOAD WORD K1305290 7B90 4400 7C4C 545 | BSI L GETID GET SYM TBL ID WORD K1305300 7B92 1010 546 | SLA 16 MANIPULATIONS TO K1305310 7B93 9400 7A30 547 | S L SORF DETERMINE WHICH K1305320 7B95 1001 548 | SLA 1 MASK TO USE K1305330 7B96 C0BE 549 | LD SDBDE MAINLINE OR SUBROUTINE MASK K1305340 7B97 4802 550 | BSC C BRANCH NOT FUNCTION K1305350 7B98 C0BB 551 | LD SFFDE FUNCTION MASK K1305360 7B99 E300 552 | AND 3 0 TEST TO SEE IF VALID K1305370 7B9A F0AC 553 | EOR S4000 NON-DIMENSIONED INTEGER VAR K1305380 7B9B 4C20 7BFC 554 | BSC L XY7,Z BRANCH IF NOT VALID K1305390 555 | * K1305400 556 | * K1305410 7B9D C300 557 | LD 3 0 LOAD SYM TBL ID WORD K1305420 7B9E E8B4 558 | OR S0020 PUT IN VARIABLE DEFINED BIT K1305430 7B9F D300 559 | STO 3 0 PUT BACK IN SYMBOL TABLE K1305440 560 | * K1305450 561 | * K1305460 7BA0 4400 7C72 562 | BSI L MOVE1 OUTPUT VARIABLE,MOVE PT K1305470 563 | * K1305480 564 | * K1305490 7BA2 C0AA 565 | LD TRGOP REPLACE VARIABLE IN INPUT K1305500 7BA3 D1FF 566 | STO 1 -1 STRING WITH SKIP OPERATOR K1305510 567 | * K1305520 568 | * K1305530 7BA4 C0A9 569 | LD DOAOP PUT DOA OPERATOR K1305540 7BA5 4400 7C5E 570 | BSI L PUT ON OUTPUT STRING K1305550 571 | * K1305560 572 | * K1305570 7BA7 C09D 573 | LD TLP REPLACE EQUAL SIGN IN K1305580 7BA8 D100 574 | STO 1 0 INPUT STRING K1305590 575 | * K1305600 576 | * K1305610 7BA9 1010 577 | SLA 16 SET INDEXING PARAMETER K1305620 7BAA D0A4 578 | STO ALL COUNTER TO ZERO K1305630 579 | * K1305640 580 | * K1305650 7BAB 7101 581 | MDX 1 1 MOVE POINTER K1305660 582 | * K1305670 583 | * K1305680 7BAC 6A91 584 | XY21 STX 2 XT1 STORE OUTPUT POINTER K1305690 7BAD C090 585 | LD XT1 CHECK TO SEE IF K1305700 7BAE 809C 586 | A TWO OVERLAP BETWEEN INPUT K1305710 7BAF 9400 7CC7 587 | S L DOY AND OUTPUT STRING K1305720 7BB1 4C10 7C6D 588 | BSC L CK1,- BRANCH IF OVERLAP K1305730 589 | * K1305740 590 | * K1305750 7BB3 C100 591 | LD 1 0 GET INDEXING PARAMETER K1305760 7BB4 4400 7C4C 592 | BSI L GETID GET SYM TBL ID WORD K1305770 7BB6 E095 593 | AND S5BDE CHECK FOR VALID INTEGER K1305780 7BB7 F08F 594 | EOR S4000 CONSTANT OR VARIABLE K1305790 7BB8 4C20 7BFC 595 | BSC L XY7,Z BRANCH IF NOT VALID K1305800 596 | * K1305810 597 | * K1305820 7BBA 4400 7C72 598 | BSI L MOVE1 OUTPUT WORD, MOVE PT K1305830 599 | * K1305840 600 | * K1305850 7BBC C092 601 | LD ALL IS PARAMETER CTR ZERO K1305860 7BBD 4C18 7BC2 602 | BSC L XY18,+- BRANCH IF YES K1305870 603 | * K1305880 604 | * K1305890 7BBF 4400 7D05 605 | BSI L DELET REMOVE WORD FROM STRING K1305900 7BC1 7002 606 | MDX XY19 CHECK NEXT WORD ON LIST K1305910 607 | * K1305920 608 | * K1305930 7BC2 C08A 609 | XY18 LD TRGOP REPLACE INDEXING PARAMETER K1305940 7BC3 D1FF 610 | STO 1 -1 WITH SKIP OPERATOR K1305950 611 | * K1305960 612 | * K1305970 7BC4 7401 7B4F 613 | XY19 MDX L ALL,1 INCREMENT IDX PARAM CTR K1305980 614 | * K1305990 615 | * K1306000 7BC6 C100 616 | LD 1 0 LOAD WORD K1306010 7BC7 9400 7B49 617 | S L TCOP IS CHARACTER COMMA K1306020 7BC9 4C20 7BD0 618 | BSC L XY20,Z BRANCH IF NOT K1306030 619 | * K1306040 620 | * K1306050 7BCB 4400 7C72 621 | BSI L MOVE1 OUTPUT COMMA, MOVE PT K1306060 622 | * K1306070 623 | * CALL DELET K1306080 7BCD 4400 7D05 624 | BSI L DELET REMOVE WORD FROM STRING K1306090 7BCF 70DC 625 | MDX XY21 CHECK NEXT INDEXING PARAM K1306100 626 | * K1306110 627 | * K1306120 7BD0 9400 7B50 628 | XY20 S L HLQSP IS CHAR RIGHT PARENTHESIS K1306130 7BD2 4C20 7BFC 629 | BSC L XY7,Z BRANCH IF NOT K1306140 630 | * K1306150 631 | * K1306160 7BD4 4400 7C72 632 | BSI L MOVE1 OUTPUT WORD, MOVE PT K1306170 633 | * K1306180 634 | * K1306190 7BD6 4400 7D05 635 | BSI L DELET REMOVE WORD FROM STMNT K1306200 636 | * K1306210 637 | * K1306220 7BD8 C400 7B4F 638 | LD L ALL IS INDEXING PARAM CTR K1306230 7BDA 9400 7D6D 639 | S L ONE LESS THAN ONE K1306240 7BDC 4C08 7BFC 640 | BSC L XY7,+ BR IF YES K1306250 641 | * K1306260 7BDE 9400 7B4B 642 | S L TWO IS IT .GT. THREE K1306270 7BE0 4C30 7BFC 643 | BSC L XY7,-Z BR IF YES K1306280 644 | * K1306290 7BE2 6580 7CC7 645 | LDX I1 DOY MOVE START LIST PT TO K1306300 7BE4 7101 646 | MDX 1 1 NEXT WORD IN LIST K1306310 7BE5 4C00 7B56 647 | BSC L XY10 CHECK REST OF LIST K1306320 648 | * K1306330 649 | * K1306340 7BE7 C100 650 | XY13 LD 1 0 IS CHAR SEMI-COLON K1306350 7BE8 4C20 7BFC 651 | BSC L XY7,Z BRANCH IF NOT K1306360 652 | * K1306370 653 | * MOVES A WORD TO THE O/P STRING K1306380 654 | * ADJUSTS THE STMNT NORM K1306390 7BEA 4400 7C5E 655 | XY11 BSI L PUT PUT CHAR ON OUTPUT STRING K1306400 656 | * K1306410 657 | * CORRECT STATEMENT NORM K1306420 7BEC C480 7BFD 658 | LD I IDSV2 CLEAR NORM K1306430 7BEE E400 7B52 659 | AND L SF802 SAVE ID WORD K1306440 7BF0 D009 660 | STO XT4 SAVE OUTPUT POINTER K1306450 7BF1 6A07 661 | STX 2 XT3 GET NEW NORM BY SUBTRACTING K1306460 7BF2 C006 662 | LD XT3 ADDRESS OF ID WORD FROM K1306470 7BF3 9009 663 | S IDSV2 PRESENT POINTER K1306480 7BF4 1002 664 | SLA 2 K1306490 7BF5 8004 665 | A XT4 PUT NORM IN ID WORD K1306500 7BF6 D480 7BFD 666 | STO I IDSV2 PUT BACK ON OUTPUT STRING K1306510 7BF8 7015 667 | MDX XY22 MOVE TO NEXT STMNT K1306520 668 | * K1306530 669 | * CONSTANTS K1306540 7BF9 0000 670 | XT3 DC 0 TEMPORARY STORAGE K1306550 7BFA 0000 671 | XT4 DC 0 TEMPORARY STORAGE K1306560 7BFB A008 672 | ERID DC /A008 ERROR ID WORD K1306570 673 | * K1306580 674 | * REPLACES THE ERRONEOUS STMNT K1306590 675 | * BY AN ERROR MESSAGE K1306600 7BFC 6600 0000 676 | XY7 LDX L2 *-* LOAD OUTPUT POINTER WITH K1306610 7BFD 677 | IDSV2 EQU XY7+1 ADDRESS OF OUTPUT ID WORD K1306620 7BFE C200 678 | LD 2 0 LOAD OUTPUT WORD K1306630 7BFF F045 679 | EOR FIVE BRANCH IF HAS NO K1306640 7C00 4C04 7C07 680 | BSC L *+5,E STATEMENT NUMBER K1306650 7C02 C042 681 | LD FIVE PUT STMNT NO. BIT AND ADD K1306660 7C03 80F7 682 | A ERID ONE TO NORM OF ID WORD K1306670 7C04 D200 683 | STO 2 0 PUT ON OUTPUT STRING K1306680 7C05 7201 684 | MDX 2 1 MOVE POINTER K1306690 7C06 7003 685 | MDX *+3 GO PUT ERROR NO. ON STRING K1306700 7C07 C400 7BFB 686 | LD L ERID LOAD ERROR ID WORD K1306710 7C09 D200 687 | STO 2 0 PUT ON OUTPUT STRING K1306720 7C0A C400 7B44 688 | LD L ERNO LOAD ERROR NUMBER K1306730 7C0C D201 689 | STO 2 1 PUT ON STRING K1306740 7C0D 7202 690 | MDX 2 2 MOVE POINTER K1306750 691 | * K1306760 692 | * MOVE TO NEXT STATEMENT K1306770 7C0E 6500 0000 693 | XY22 LDX L1 *-* LOAD INPUT POINTER WITH K1306780 7C0F 694 | NXTID EQU XY22+1 NEXT STMNT ADDRESS K1306790 7C10 4C00 7A6C 695 | BSC L XY1 SCAN STMNT K1306800 696 | * K1306810 697 | * K1306820 698 | * CHECKS THE SYNTAX OF GO TO K1306830 699 | * STMNTS - CHECKS THE STMNT NO. K1306840 700 | * LIST FOR VALID REFERENCES K1306850 7C12 9033 701 | XY24 S TGOTO IS IT GO TO STMNT K1306860 7C13 4C20 7D35 702 | BSC L W11,Z BRANCH IF NOT K1306870 703 | * K1306880 704 | * K1306890 7C15 6330 705 | LDX 3 48 PUT ERROR NO. 48 K1306900 7C16 6F00 7B44 706 | STX L3 ERNO IN ERNO K1306910 707 | * K1306920 708 | * K1306930 7C18 C031 709 | LD GOTOP LOAD GO TO OPERATOR K1306940 7C19 4049 710 | BSI CHECK PUT ON OUTPUT STRING K1306950 711 | * K1306960 712 | * K1306970 7C1A C100 713 | LD 1 0 LOAD WORD K1306980 7C1B 902B 714 | S ULP IS CHAR LEFT PARENTHESIS K1306990 7C1C 4C18 7C26 715 | BSC L XY26,+- BRANCH IF YES K1307000 716 | * K1307010 717 | * K1307020 7C1E 4400 7CE5 718 | BSI L LIST CHECK FOR CORRECT FORMAT K1307030 719 | * K1307040 720 | * K1307050 7C20 C400 7D01 721 | LD L CNT IS NO. OF PLACES TO BRANCH K1307060 7C22 9028 722 | S THER GREATER THAN ONE K1307070 7C23 4C20 7BFC 723 | BSC L XY7,Z BRANCH IF YES K1307080 7C25 70C1 724 | XYZ13 MDX XY13 CHECK FOR END OF STMNT K1307090 725 | * K1307100 726 | * K1307110 7C26 404B 727 | XY26 BSI MOVE1 OUTPUT WORD, MOVE POINTER K1307120 728 | * K1307130 729 | * K1307140 7C27 4400 7CE5 730 | BSI L LIST CHECK FOR CORRECT FORMAT K1307150 731 | * K1307160 732 | * K1307170 7C29 C100 733 | LD 1 0 IS CHARACTER K1307180 7C2A 901D 734 | S URP RIGHT PARENTHESIS K1307190 7C2B 4C20 7BFC 735 | BSC L XY7,Z BRANCH IF NOT K1307200 736 | * K1307210 737 | * K1307220 7C2D C400 7D01 738 | LD L CNT LOAD COUNT OF STMNT NOS. K1307230 7C2F F015 739 | EOR FIVE IS COUNT ODD K1307240 7C30 4C04 7BFC 740 | BSC L XY7,E BRANCH IF YES K1307250 741 | * K1307260 742 | * K1307270 7C32 6331 743 | LDX 3 49 PUT ERROR NO. 49 K1307280 7C33 6F00 7B44 744 | STX L3 ERNO IN ERNO K1307290 745 | * K1307300 746 | * K1307310 7C35 403C 747 | BSI MOVE1 OUTPUT WORD, MOVE POINTER K1307320 748 | * K1307330 749 | * K1307340 7C36 C100 750 | LD 1 0 IS CHARACTER K1307350 7C37 9011 751 | S UCMA COMMA K1307360 7C38 4C20 7BFC 752 | BSC L XY7,Z BRANCH IF NOT K1307370 753 | * K1307380 754 | * K1307390 7C3A 4037 755 | BSI MOVE1 OUTPUT WORD, MOVE POINTER K1307400 756 | * K1307410 757 | * K1307420 7C3B C100 758 | LD 1 0 LOAD WORD K1307430 7C3C 400F 759 | BSI GETID GET SYM TBL ID WORD K1307440 7C3D E006 760 | AND TDBDE IS IT NON-DIMENSIONED K1307450 7C3E F004 761 | EOR T4000 INTEGER VARIABLE K1307460 7C3F 4C20 7BFC 762 | BSC L XY7,Z BRANCH IF NOT K1307470 763 | * K1307480 764 | * K1307490 7C41 4030 765 | BSI MOVE1 OUTPUT WORD, GET NEXT WORD K1307500 7C42 70E2 766 | MDX XYZ13 CHECK FOR END OF STMNT K1307510 767 | * K1307520 768 | * CONSTANTS K1307530 7C43 4000 769 | T4000 DC /4000 INTEGER MASK - PART 2 K1307540 7C44 DBDE 770 | TDBDE DC /DBDE INTEGER MASK - PART 1 K1307550 7C45 0005 771 | FIVE DC 5 STMNT NO. MASK K1307560 7C46 FFF1 772 | TGOTO DC /0E-/1D GO TO ID TYPE K1307570 7C47 0010 773 | ULP DC /10 LEFT PARENTHESIS K1307580 7C48 0002 774 | URP DC /02 RIGHT PARENTHESIS K1307590 7C49 0012 775 | UCMA DC /12 COMMA K1307600 7C4A 0016 776 | GOTOP DC /16 GO TO STMNT ID TYPE K1307610 7C4B 0001 777 | THER DC 1 ONE K1307620 778 | *************************************************** K1307630 779 | * GETS THE ID WORD FROM THE * K1307640 780 | * SYMBOL TABLE ENTRY. * K1307650 781 | *************************************************** K1307660 782 | * K1307670 783 | * K1307680 7C4C 0000 784 | GETID DC 0 ENTRY POINT K1307690 7C4D 4C10 7BFC 785 | BSC L XY7,- BRANCH IF SPECIAL OPERATOR K1307700 7C4F E00D 786 | AND SO1FF GET NO. OF TBL ENTRY K1307710 7C50 1002 787 | SLA 2 GET ADDRESS RELATIVE TO K1307720 7C51 D006 788 | STO *+6 START OF SYM TBL BY K1307730 7C52 1802 789 | SRA 2 MULTIPLYING NO. OF ENTRY BY K1307740 7C53 9004 790 | S *+4 THREE (SIZE OF ENTRY) K1307750 7C54 8400 7A26 791 | A L SOFST GET ABSOLUTE ADDRESS - 3 K1307760 7C56 D001 792 | STO *+1 OF SYM TBL ENTRY K1307770 7C57 6700 0000 793 | LDX L3 *-* INITIALIZE SYM TBL PT K1307780 7C59 7303 794 | MDX 3 3 GET SYM TBL ENTRY ADDR K1307790 7C5A C300 795 | LD 3 0 LOAD SYM TBL ID WORD K1307800 7C5B 4C80 7C4C 796 | BSC I GETID RETURN K1307810 797 | * K1307820 798 | * CONSTANTS K1307830 7C5D 07FF 799 | SO1FF DC /07FF MASK TO GET SYM TBL NO. K1307840 800 | *************************************************** K1307850 801 | * MOVES THE WORD IN THE ACC TO * K1307860 802 | * THE OUTPUT STRING * K1307870 803 | * MOVES THE POINTER * K1307880 804 | *************************************************** K1307890 805 | * * K1307900 806 | * K1307910 7C5E 0000 807 | PUT DC 0 ENTRY POINT K1307920 7C5F D200 808 | STO 2 0 PUT WORD ON OUTPUT STRING K1307930 809 | * K1307940 810 | * K1307950 7C60 7201 811 | MDX 2 1 MOVE POINTER K1307960 812 | * K1307970 813 | * K1307980 7C61 4C80 7C5E 814 | BSC I PUT RETURN K1307990 815 | *************************************************** K1308000 816 | * CHECKS FOR AN OVERLAP CONDITION* K1308010 817 | * BETWEEN THE INPUT AND OUTPUT * K1308020 818 | * STMNT STRINGS * K1308030 819 | *************************************************** K1308040 820 | * K1308050 821 | * K1308060 7C63 0000 822 | CHECK DC 0 ENTRY POINT K1308070 7C64 40F9 823 | BSI PUT OUTPUT WORD K1308080 824 | * K1308090 825 | * K1308100 7C65 690B 826 | STX 1 CKTEM STORE INPUT PT K1308110 7C66 C00A 827 | LD CKTEM LOAD INPUT PT K1308120 7C67 6A09 828 | STX 2 CKTEM STORE OUTPUT PT K1308130 7C68 9008 829 | S CKTEM SUBTRACT OUTPUT PT K1308140 7C69 4C08 7C6D 830 | BSC L CK1,+ BRANCH IF OVERLAP K1308150 831 | * K1308160 832 | * K1308170 7C6B 4C80 7C63 833 | BSC I CHECK RETURN K1308180 834 | * K1308190 835 | * SET UP OVERLAP ERROR K1308200 7C6D 7401 7A2D 836 | CK1 MDX L ERROR,1 SET OVERLAP ERROR K1308210 7C6F 4C00 7A3C 837 | BSC L OVERF GO TO NEXT PHASE K1308220 838 | * K1308230 839 | * CONSTANTS K1308240 7C71 0000 840 | CKTEM DC 0 TEMPORARY STORAGE K1308250 841 | *************************************************** K1308260 842 | * MOVES ONE WORD FROM THE INPUT * K1308270 843 | * STRING TO THE OUTPUT STRING * K1308280 844 | * INCREMENTS THE POINTER * K1308290 845 | *************************************************** K1308300 846 | * K1308310 847 | * K1308320 7C72 0000 848 | MOVE1 DC 0 ENTRY POINT K1308330 7C73 C100 849 | LD 1 0 LOAD WORD K1308340 7C74 40E9 850 | BSI PUT PUT ON OUTPUT STRING K1308350 851 | * K1308360 852 | * K1308370 7C75 7101 853 | MDX 1 1 MOVE INPUT POINTER K1308380 854 | * K1308390 855 | * K1308400 7C76 4C80 7C72 856 | BSC I MOVE1 RETURN K1308410 857 | *************************************************** K1308420 858 | * MOVES WORDS TO THE OUTPUT * K1308430 859 | * STRING USING XR3 AS A COUNT * K1308440 860 | * CONTROL * K1308450 861 | *************************************************** K1308460 862 | * K1308470 863 | * K1308480 7C78 0000 864 | OUT DC 0 ENTRY POINT K1308490 7C79 40F8 865 | BSI MOVE1 OUTPUT WORD, MOVE POINTER K1308500 866 | * K1308510 867 | * K1308520 7C7A 73FF 868 | MDX 3 -1 DECREMENT COUNTER K1308530 869 | * K1308540 870 | * K1308550 7C7B 70FD 871 | MDX OUT+1 CONTINUE LOOP K1308560 872 | * K1308570 873 | * K1308580 7C7C 4C80 7C78 874 | BSC I OUT RETURN K1308590 875 | *************************************************** K1308600 876 | * CHECKS NAMES FOR DIMENSIONING * K1308610 877 | * DETERMINES THE DIMENSION LEVEL * K1308620 878 | * MOVES THE NAME AND DIMENSION * K1308630 879 | * INFORMATION TO THE O/P STRING * K1308640 880 | * ALLOWS SPACE IN THE O/P STRING * K1308650 881 | * ACCORDING TO THE DIM LEVEL. * K1308660 882 | *************************************************** K1308670 883 | * K1308680 884 | * K1308690 7C7E 0000 885 | NAME DC 0 ENTRY POINT K1308700 7C7F C100 886 | LD 1 0 LOAD WORD K1308710 7C80 40DD 887 | BSI PUT K1308720 888 | * K1308730 889 | * K1308740 7C81 40CA 890 | BSI GETID GET SYM TBL ID WORD K1308750 7C82 E025 891 | AND S1800 IS IT DIMENSIONED NAME K1308760 7C83 4C20 7C8B 892 | BSC L NAME1,Z BRANCH IF YES K1308770 893 | * K1308780 894 | * K1308790 7C85 7101 895 | MDX 1 1 MOVE POINTER K1308800 896 | * K1308810 897 | * K1308820 7C86 6820 898 | STX 0 SW7 TAG DIMENSION NAME SWITCH K1308830 899 | * K1308840 900 | * K1308850 7C87 1010 901 | NAME3 SLA 16 CLEAR DIMENSION NAME K1308860 7C88 D01D 902 | STO SW1 SUBSCRIPTED SWITCH K1308870 903 | * K1308880 904 | * K1308890 7C89 4C80 7C7E 905 | NAME8 BSC I NAME RETURN K1308900 906 | * K1308910 907 | * K1308920 7C8B 1010 908 | NAME1 SLA 16 CLEAR DIMENSIONED K1308930 7C8C D01A 909 | STO SW7 NAME SWITCH K1308940 910 | * K1308950 911 | * K1308960 7C8D 7101 912 | MDX 1 1 MOVE INPUT POINTER K1308970 913 | * K1308980 914 | * K1308990 7C8E C100 915 | LD 1 0 K1309000 7C8F 9019 916 | S NP3 IS IT 3-DIMENSIONED VAR K1309010 7C90 4C20 7C95 917 | BSC L NAME2,Z BRANCH IF NOT K1309020 918 | * K1309030 919 | * K1309040 7C92 630F 920 | LDX 3 15 SET MOVE-WORD COUNTER K1309050 921 | * K1309060 922 | * K1309070 7C93 40E4 923 | NAME4 BSI OUT PUT WORDS ON OUTPUT STRING K1309080 7C94 70F2 924 | MDX NAME3 NORMALIZE SWITCH 1 K1309090 925 | * K1309100 926 | * K1309110 7C95 9014 927 | NAME2 S NP2 IS IT 2-DIMENSIONED VAR K1309120 7C96 4C20 7C9A 928 | BSC L NAME5,Z BRANCH IF NOT K1309130 929 | * K1309140 930 | * K1309150 7C98 630B 931 | LDX 3 11 LOAD MOVE-WORD CTR K1309160 7C99 70F9 932 | MDX NAME4 GO TO PUT ON STRING K1309170 933 | * K1309180 934 | * K1309190 7C9A 9010 935 | NAME5 S NP1 IS IT 1-DIMENSIONED VAR K1309200 7C9B 4C20 7C9F 936 | BSC L NAME6,Z BRANCH IF NOT K1309210 937 | * K1309220 938 | * K1309230 7C9D 6307 939 | LDX 3 7 LOAD MOVE-WORD CTR K1309240 7C9E 70F4 940 | MDX NAME4 GO TO PUT ON STRING K1309250 941 | * K1309260 942 | * K1309270 7C9F 900C 943 | NAME6 S NP0 IS IT LITERAL K1309280 7CA0 4C20 7CA4 944 | BSC L NAME7,Z BRANCH IF NOT K1309290 945 | * K1309300 946 | * K1309310 7CA2 6303 947 | LDX 3 3 LOAD MOVE-WORD CTR K1309320 7CA3 70EF 948 | MDX NAME4 GO TO PUT ON STRING K1309330 949 | * K1309340 950 | * K1309350 7CA4 6801 951 | NAME7 STX 0 SW1 SET SWITCH TO NOT SUBSCRIPT K1309360 7CA5 70E3 952 | MDX NAME8 RETURN K1309370 953 | * K1309380 954 | * CONSTANTS K1309390 7CA6 0000 955 | SW1 DC 0 SWITCH 1 K1309400 7CA7 0000 956 | SW7 DC 0 SWITCH 7 K1309410 7CA8 1800 957 | S1800 DC /1800 MASK TO TEST FOR DIMENSIONS K1309420 7CA9 001E 958 | NP3 DC /1E (3 OPERATOR K1309430 7CAA FFFE 959 | NP2 DC /1C-/1E (2 OPERATOR K1309440 7CAB FFFE 960 | NP1 DC /1A-/1C (1 OPERATOR K1309450 7CAC FFFE 961 | NP0 DC /18-/1A LITERAL OPERATOR K1309460 962 | *************************************************** K1309470 963 | * CHECKS FOR IMPLIED DO LOOPS IN * K1309480 964 | * INPUT AND OUTPUT LISTS * K1309490 965 | * CHECKS THE SYNTAX OF THE * K1309500 966 | * IMPLIED DO * K1309510 967 | *************************************************** K1309520 968 | * K1309530 969 | * K1309540 7CAD 0000 970 | DO DC 0 ENTRY POINT K1309550 7CAE 6918 971 | STX 1 DOY SAVE INPUT POINTER K1309560 972 | * K1309570 973 | * K1309580 7CAF 6301 974 | LDX 3 1 INITIALIZE K1309590 7CB0 6B1A 975 | STX 3 DOPAR PARENTHESIS COUNTER K1309600 976 | * K1309610 977 | * K1309620 7CB1 7101 978 | DO3 MDX 1 1 MOVE POINTER K1309630 979 | * K1309640 980 | * K1309650 7CB2 C100 981 | LD 1 0 IS CHARACTER SEMI-COLON K1309660 7CB3 4C18 7CC4 982 | BSC L DO1,+- BRANCH IF YES K1309670 983 | * K1309680 984 | * K1309690 7CB5 901C 985 | S DLPAR IS CHAR LEFT-PARENTHESIS K1309700 7CB6 4C20 7CBB 986 | BSC L DO2,Z BRANCH IF NOT K1309710 987 | * K1309720 988 | * K1309730 7CB8 7401 7CCB 989 | MDX L DOPAR,1 INCREMENT PARENTHESIS CTR K1309740 7CBA 70F6 990 | MDX DO3 GET NEXT WORD K1309750 991 | * K1309760 992 | * K1309770 7CBB 9017 993 | DO2 S DPMES IS CHARACTER EQUAL SIGN K1309780 7CBC 4C18 7CCA 994 | BSC L DO4,+- BRANCH IF YES K1309790 995 | * K1309800 996 | * K1309810 7CBE 9015 997 | S DEMRP IS CHAR RIGHT PARENTHESIS K1309820 7CBF 4C20 7CD9 998 | BSC L DO6,Z BRANCH IF NOT K1309830 999 | * K1309840 1000 | * K1309850 7CC1 74FF 7CCB 1001 | MDX L DOPAR,-1 DECREMENT PARENTHESIS CTR K1309860 1002 | * K1309870 1003 | * K1309880 7CC3 70ED 1004 | MDX DO3 GET NEXT WORD K1309890 1005 | * K1309900 1006 | * K1309910 7CC4 1010 1007 | DO1 SLA 16 CLEAR EQUAL K1309920 7CC5 D00B 1008 | STO SW3 SIGN SWITCH K1309930 1009 | * K1309940 1010 | * K1309950 7CC6 6500 0000 1011 | DO5 LDX L1 *-* RESTORE K1309960 7CC7 1012 | DOY EQU DO5+1 INPUT POINTER K1309970 1013 | * K1309980 1014 | * K1309990 7CC8 4C80 7CAD 1015 | BSC I DO RETURN K1310000 1016 | * K1310010 1017 | * K1310020 7CCA 6700 0000 1018 | DO4 LDX L3 *-* LOAD K1310030 7CCB 1019 | DOPAR EQU DO4+1 PARENTHESIS COUNTER K1310040 7CCC 73FF 1020 | MDX 3 -1 DECREMENT PARENTHESIS CTR K1310050 7CCD 70E3 1021 | MDX DO3 GET NEXT WORD K1310060 1022 | * K1310070 1023 | * K1310080 7CCE 6906 1024 | STX 1 DOX SAVE INPUT POINTER K1310090 1025 | * K1310100 1026 | * K1310110 7CCF 6801 1027 | STX 0 SW3 SET EQUAL SIGN SWITCH K1310120 7CD0 70F5 1028 | MDX DO5 RETURN K1310130 1029 | * K1310140 1030 | * CONSTANTS K1310150 7CD1 0000 1031 | SW3 DC 0 SWITCH 3 K1310160 7CD2 0010 1032 | DLPAR DC /10 LEFT PARENTHESIS K1310170 7CD3 FFFE 1033 | DPMES DC /0E-/10 EQUAL SIGN K1310180 7CD4 FFF4 1034 | DEMRP DC /02-/0E RIGHT PARENTHESIS K1310190 7CD5 0000 1035 | DOX DC 0 INPUT POINTER AT EQUAL SIGN K1310200 7CD6 0016 1036 | DSPMR DC /18-/02 3-DIMENSIONED OPERATOR K1310210 7CD7 0006 1037 | DSPDL DC /1E-/18 0-DIMENSIONED OPERATOR K1310220 7CD8 0007 1038 | DOS1 DC /07 SEVEN K1310230 1039 | * K1310240 1040 | * K1310250 7CD9 90FC 1041 | DO6 S DSPMR IS CHARACTER A SPECIAL K1310260 7CDA 4C28 7CB1 1042 | BSC L DO3,+Z LEFT PARENTHESIS K1310270 7CDC 90FA 1043 | S DSPDL GET NEXT CHARACTER K1310280 7CDD 4C30 7CB1 1044 | BSC L DO3,-Z IF NOT K1310290 1045 | * K1310300 1046 | * MOVE PT OVER SUBSCRIPT K1310310 7CDF 80F8 1047 | A DOS1 ADD NINE K1310320 7CE0 1001 1048 | SLA 1 MULTIPLY BY TWO K1310330 7CE1 D001 1049 | STO *+1 INCREMENT INPUT PT K1310340 7CE2 7500 0000 1050 | MDX L1 *-* TO MOVE OVER SUBSCRIPT K1310350 7CE4 70CC 1051 | MDX DO3 GET NEXT WORD K1310360 1052 | *************************************************** K1310370 1053 | * CHECKS THE STMNT NUMBER LIST * K1310380 1054 | * IN GO TO STMNT FOR VALID * K1310390 1055 | * REFERENCES. * K1310400 1056 | * LABEL LIST * K1310410 1057 | *************************************************** K1310420 1058 | * K1310430 1059 | * K1310440 7CE5 0000 1060 | LIST DC 0 ENTRY POINT K1310450 7CE6 1010 1061 | SLA 16 CLEAR COUNT K1310460 7CE7 D019 1062 | STO CNT OF STMNT NOS. K1310470 1063 | * K1310480 1064 | * NON-FORMAT STATEMENT NUMBER K1310490 7CE8 C100 1065 | LIST3 LD 1 0 LOAD WORD K1310500 7CE9 4400 7C4C 1066 | BSI L GETID SET SYM TBL 1D WORD K1310510 7CEB E017 1067 | AND TFFDE IS WORD A K1310520 7CEC F017 1068 | EOR S0200 STMNT NO. K1310530 7CED 4C20 7CF7 1069 | BSC L LIST2,Z BRANCH IF NOT K1310540 1070 | * K1310550 1071 | * K1310560 7CEF 4082 1072 | BSI MOVE1 OUTPUT WORD, MOVE POINTER K1310570 1073 | * K1310580 1074 | * K1310590 7CF0 7401 7D01 1075 | LIST1 MDX L CNT,1 MODIFY COUNTER K1310600 1076 | * K1310610 1077 | * K1310620 7CF2 C100 1078 | LD 1 0 LOAD WORD K1310630 7CF3 900E 1079 | S LCMA IS CHARACTER COMMA K1310640 7CF4 4C18 7CFC 1080 | BSC L LIST4,+- BRANCH IF YES K1310650 7CF6 7003 1081 | MDX LIST5 RETURN K1310660 1082 | * K1310670 1083 | * K1310680 7CF7 632B 1084 | LIST2 LDX 3 43 PUT ERROR NO. 43 K1310690 7CF8 6F00 7B44 1085 | STX L3 ERNO IN ERNO K1310700 1086 | * K1310710 1087 | * K1310720 7CFA 4C80 7CE5 1088 | LIST5 BSC I LIST RETURN K1310730 1089 | * K1310740 1090 | * K1310750 7CFC 7401 7D01 1091 | LIST4 MDX L CNT,1 INCREMENT COUNTER K1310760 1092 | * K1310770 1093 | * K1310780 7CFE 4400 7C72 1094 | BSI L MOVE1 OUTPUT WORD, MOVE POINTER K1310790 7D00 70E7 1095 | MDX LIST3 GET NEXT WORD K1310800 1096 | * K1310810 1097 | * CONSTANTS K1310820 7D01 0000 1098 | CNT DC 0 STMNT NO. COUNTER K1310830 7D02 0012 1099 | LCMA DC /12 COMMA K1310840 7D03 FFDE 1100 | TFFDE DC /FFDE STMNT NO. MASK - PART 1 K1310850 7D04 0200 1101 | S0200 DC /0200 STMNT NO. MASK - PART 2 K1310860 1102 | *************************************************** K1310870 1103 | * DELETES ONE WD FROM I/P STRING * K1310880 1104 | *************************************************** K1310890 1105 | * K1310900 1106 | * K1310910 7D05 0000 1107 | DELET DC 0 ENTRY POINT K1310920 7D06 71FF 1108 | MDX 1 -1 ADDRESS OF PREVIOUS WORD K1310930 1109 | * K1310940 1110 | * K1310950 7D07 6907 1111 | STX 1 DELX SAVE ADDRESS K1310960 1112 | * K1310970 1113 | * K1310980 7D08 C101 1114 | DLT2 LD 1 1 MOVE WORD DOWN ONE K1310990 7D09 D100 1115 | STO 1 0 POSITION IN STRING K1311000 1116 | * K1311010 1117 | * K1311020 7D0A 4C18 7D0E 1118 | BSC L DLT1,+- EXIT IF SEMI-COLON K1311030 1119 | * K1311040 1120 | * K1311050 7D0C 7101 1121 | MDX 1 1 MOVE POINTER K1311060 7D0D 70FA 1122 | MDX DLT2 CONTINUE LOOP K1311070 1123 | * K1311080 1124 | * K1311090 7D0E 6500 0000 1125 | DLT1 LDX L1 *-* RESTORE K1311100 7D0F 1126 | DELX EQU DLT1+1 INPUT POINTER K1311110 1127 | * K1311120 1128 | * K1311130 7D10 4C80 7D05 1129 | BSC I DELET RETURN K1311140 1130 | * K1311150 1131 | * CHECKS FOR VALID VARIABLES IN K1311160 1132 | * READ, WRITE, AND GO TO STMNTS K1311170 7D12 0000 1133 | TESTV DC 0 ENTRY POINT K1311180 7D13 C400 7A30 1134 | LD L SORF LOAD SORF K1311190 7D15 4C08 7D22 1135 | BSC L TESTW,+ BRANCH NOT FUNCTION K1311200 7D17 C100 1136 | LD 1 0 LOAD NAME K1311210 7D18 9400 7A2E 1137 | S L FNAME IS IT PROGRAM NAME K1311220 7D1A 4C98 7D12 1138 | BSC I TESTV,+- BRANCH IF YES K1311230 7D1C C400 7B3F 1139 | LD L SW2 IS IT WRITE STMNT K1311240 7D1E 4C18 7D22 1140 | BSC L TESTW,+- BRANCH IF YES K1311250 7D20 C008 1141 | LD SA7DE LOAD READ MASK K1311260 7D21 7001 1142 | MDX TESTX GO TO TEST K1311270 7D22 C005 1143 | TESTW LD S83DE TEST FOR K1311280 7D23 E300 1144 | TESTX AND 3 0 VALID VARIABLE K1311290 7D24 4C20 7BFC 1145 | BSC L XY7,Z BRANCH IF INVALID K1311300 7D26 4C80 7D12 1146 | BSC I TESTV RETURN K1311310 7D28 83DE 1147 | S83DE DC /83DE WRITE MASK K1311320 7D29 A7DE 1148 | SA7DE DC /A7DE READ MASK K1311330 1149 | * K1311340 1150 | * MOVES A STMNT TO THE O/P STRING K1311350 7D2A 6700 0000 1151 | XY27 LDX L3 *-* LOAD NORM K1311360 7D2C 73FF 1152 | MDX 3 -1 DECREMENT NORM K1311370 7D2D 7001 1153 | MDX *+1 SKIP NEXT INSTRUCTION K1311380 7D2E 7004 1154 | MDX XY27A MOVE TO NEXT STMNT K1311390 7D2F 4400 7C72 1155 | BSI L MOVE1 OUTPUT WORD, MOVE POINTER K1311400 7D31 73FF 1156 | MDX 3 -1 DECREMENT NORM K1311410 7D32 70FA 1157 | MDX XY27+3 CONTINUE LOOP K1311420 7D33 4C00 7C0E 1158 | XY27A BSC L XY22 MOVE TO NEXT STMNT K1311430 1159 | * K1311440 1160 | * K1311450 7D35 9038 1161 | W11 S WEQU IS IT EQUIVALENCE STMNT K1311460 7D36 4C20 7D2A 1162 | BSC L XY27,Z BRANCH IF NOT K1311470 1163 | * K1311480 1164 | * K1311490 7D38 6344 1165 | LDX 3 68 PUT ERROR NO. 68 K1311500 7D39 6F00 7B44 1166 | STX L3 ERNO IN ERNO K1311510 1167 | * K1311520 1168 | * K1311530 7D3B C100 1169 | W12 LD 1 0 LOAD WORD K1311540 7D3C 9032 1170 | S WLP IS CHAR LEFT PARENTHESIS K1311550 7D3D 4C20 7BFC 1171 | BSC L XY7,Z BRANCH IF NOT K1311560 1172 | * K1311570 1173 | * INITIALIZE LIST COUNT K1311580 7D3F D02C 1174 | STO LCT TO ZERO K1311590 1175 | * K1311600 1176 | * K1311610 7D40 4400 7C72 1177 | W13 BSI L MOVE1 MOVE POINTER K1311620 1178 | * K1311630 1179 | * K1311640 7D42 C100 1180 | LD 1 0 LOAD WORD K1311650 7D43 4400 7C4C 1181 | BSI L GETID GET SYM TBL ID WORD K1311660 7D45 E02A 1182 | AND W83DE IS VALID TO BE EQUIVALENCE K1311670 7D46 4C20 7BFC 1183 | BSC L XY7,Z BRANCH IF NOT K1311680 1184 | * K1311690 1185 | * K1311700 7D48 4400 7C7E 1186 | BSI L NAME CHECK NAME AND SUBSCRIPTS K1311710 7D4A 7401 7D6C 1187 | MDX L LCT,1 INCREMENT LIST COUNT K1311720 1188 | * K1311730 1189 | * K1311740 7D4C C400 7CA6 1190 | LD L SW1 IS DIMENSION NAME SUBSCRIPT K1311750 7D4E 4C20 7BFC 1191 | BSC L XY7,Z BRANCH IF NOT K1311760 1192 | * K1311770 1193 | * K1311780 7D50 C400 7CA7 1194 | LD L SW7 IS IT DIMENSIONED NAME K1311790 7D52 4C20 7D58 1195 | BSC L W14,Z BRANCH IF NO K1311800 1196 | * K1311810 1197 | * K1311820 7D54 C2FD 1198 | LD 2 -3 LOAD WORD K1311830 7D55 901B 1199 | S W18 IS IT LITERAL OPERATOR K1311840 7D56 4C20 7BFC 1200 | BSC L XY7,Z BRANCH IF NOT K1311850 1201 | * K1311860 1202 | * K1311870 7D58 C100 1203 | W14 LD 1 0 LOAD WORD K1311880 7D59 9018 1204 | S WCMA IS CHARACTER COMMA K1311890 7D5A 4C18 7D40 1205 | BSC L W13,+- BRANCH IF YES K1311900 1206 | * K1311910 1207 | * K1311920 7D5C 9016 1208 | S WRP IS CHAR RIGHT PARENTHESIS K1311930 7D5D 4C20 7BFC 1209 | BSC L XY7,Z BRANCH IF NO K1311940 1210 | * K1311950 1211 | * K1311960 7D5F C00C 1212 | LD LCT LOAD LIST COUNT K1311970 7D60 900C 1213 | S ONE LESS THAN TWO ARRAYS K1311980 7D61 4C08 7BFC 1214 | BSC L XY7,+ BRANCH IF YES K1311990 1215 | * K1312000 1216 | * K1312010 7D63 4400 7C72 1217 | BSI L MOVE1 OUTPUT WORD, MOVE POINTER K1312020 1218 | * K1312030 1219 | * K1312040 7D65 C100 1220 | LD 1 0 LOAD WORD K1312050 7D66 900B 1221 | S WCMA IS IT COMMA K1312060 7D67 4C20 7BE7 1222 | BSC L XY13,Z BRANCH IF NO K1312070 1223 | * K1312080 1224 | * K1312090 7D69 4400 7C72 1225 | BSI L MOVE1 OUTPUT WORD, MOVE PT K1312100 7D6B 70CF 1226 | MDX W12 CHECK CHARACTER K1312110 1227 | * K1312120 1228 | * CONSTANTS K1312130 7D6C 0000 1229 | LCT DC 0 LIST COUNT K1312140 7D6D 0001 1230 | ONE DC 1 ONE K1312150 7D6E 0007 1231 | WEQU DC /15-/0E EQUAL SIGN K1312160 7D6F 0010 1232 | WLP DC /10 LEFT PARENTHESIS K1312170 7D70 87DE 1233 | W83DE DC /87DE EQUIVALENCE MASK K1312180 7D71 0018 1234 | W18 DC /18 LITERAL OPERATOR K1312190 7D72 0012 1235 | WCMA DC /12 COMMA K1312200 7D73 FFF0 1236 | WRP DC /02-/12 RIGHT PARENTHESIS K1312210 1237 | * K1312220 1238 | * K1312230 1239 | * K1312290 7D74 1240 | BSS BPHAR+PHLEN*320-*-1 PATCH AREA K1312300 7DF5 0000 1241 | DC 0 K1312310 7DF6 1242 | END BPHAR-2 K1312320 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $PHSE 0078 74 130 ALL 7B4F 453 578 601 613 638 APOST 7AE8 335 342 BPHAR 7A36 122 1240 1242 CCWD 7A31 94 169 CHECK 7C63 822 180 182 289 425 710 833 CK1 7C6D 836 541 588 830 CKCMA 7B38 424 414 419 CKTEM 7C71 840 826 827 828 829 CLMV1 7B1F 405 392 CNT 7D01 1098 721 738 1062 1075 1091 COLON 7AE5 332 383 COMON 7A2B 88 CSIZE 7A2C 89 DELET 7D05 1107 605 624 635 1129 DELX 7D0F 1126 1111 DEMRP 7CD4 1034 997 DFCNT 7A33 115 367 DIOOP 7AE7 334 389 416 DLPAR 7CD2 1032 985 DLT1 7D0E 1125 1118 1126 DLT2 7D08 1114 1122 DO 7CAD 970 502 1015 DO1 7CC4 1007 982 DO2 7CBB 993 986 DO3 7CB1 978 990 1004 1021 1042 1044 1051 DO4 7CCA 1018 994 1019 DO5 7CC6 1011 1012 1028 DO6 7CD9 1041 998 DOAOP 7B4E 452 569 DOPAR 7CCB 1019 975 989 1001 DOS1 7CD8 1038 1047 DOX 7CD5 1035 533 1024 DOY 7CC7 1012 540 587 645 971 DPMES 7CD3 1033 993 DSPDL 7CD7 1037 1043 DSPMR 7CD6 1036 1041 EOFS 7A25 82 150 155 219 EOFST 7A2A 87 156 ERID 7BFB 672 682 686 ERNO 7B44 439 255 268 327 373 429 688 706 744 1085 1166 ERROR 7A2D 90 133 836 FIVE 7C45 771 679 681 739 FNAME 7A2E 91 1137 FNDSW 7AE4 331 226 253 344 408 FOUR 7B51 455 GETID 7C4C 784 296 321 473 545 592 759 796 890 1066 1181 GOTOP 7C4A 776 709 H517F 7AE6 333 311 H51FF 7AE3 330 263 HLQSP 7B50 454 628 ICMA 7B49 445 446 447 IDSV1 7A85 212 201 IDSV2 7BFD 677 200 658 663 666 IOCS 7A32 103 175 262 310 359 IOOP 7B46 441 284 IOOPS 7B17 391 283 415 LCMA 7D02 1099 1079 LCT 7D6C 1229 1174 1187 1212 LIST 7CE5 1060 718 730 1088 LIST1 7CF0 1075 LIST2 7CF7 1084 1069 LIST3 7CE8 1065 1095 LIST4 7CFC 1091 1080 LIST5 7CFA 1088 1081 MEMRY 8000 71 72 73 MOVE1 7C72 848 202 206 302 317 385 395 405 494 562 598 621 632 727 747 755 765 856 865 1072 1094 1155 1177 1217 1225 NAME 7C7E 885 486 905 1186 NAME1 7C8B 908 892 NAME2 7C95 927 917 NAME3 7C87 901 924 NAME4 7C93 923 932 940 948 NAME5 7C9A 935 928 NAME6 7C9F 943 936 NAME7 7CA4 951 944 NAME8 7C89 905 952 NP0 7CAC 961 943 NP1 7CAB 960 935 NP2 7CAA 959 927 NP3 7CA9 958 916 NSW2 7AA3 254 227 NXTID 7C0F 694 199 NXTPH 7A42 142 125 138 139 ONE 7D6D 1230 639 1213 ORG 7A23 80 ORGIN 7A46 150 134 OUT 7C78 864 517 871 874 923 OVERF 7A3C 138 220 837 OVERL 7A23 72 76 PHID 002B 77 129 PHLEN 0003 75 1240 PUT 7C5E 807 285 570 655 814 823 850 887 REPL 7B13 387 384 ROL 7FBC 73 140 RPARN 7B48 444 387 S0001 7A6A 188 204 S0020 7B53 457 482 558 S0200 7D04 1101 1068 S07FF 7A6B 189 194 S1800 7CA8 957 891 S4000 7B47 442 298 553 594 S50TT 7A69 187 181 S5BDE 7B4C 450 297 593 S83DE 7D28 1147 1143 SA7DE 7D29 1148 1141 SAERT 7A68 186 179 SDBDE 7B55 459 549 SF802 7B52 456 659 SFFDE 7B54 458 551 SKCOL 7B0C 382 369 386 SO1FF 7C5D 799 786 SOFGT 7A29 86 SOFNS 7A27 84 SOFS 7A24 81 151 166 SOFST 7A26 83 791 SOFXT 7A28 85 SORF 7A30 93 174 258 312 362 368 547 1134 START 7A36 129 SW1 7CA6 955 902 951 1190 SW2 7B3F 434 235 244 418 477 1139 SW3 7CD1 1031 505 1008 1027 SW7 7CA7 956 898 909 1194 T4000 7C43 769 761 TCMA 7B49 446 306 490 521 TCOP 7B49 447 355 424 617 TDBDE 7C44 770 760 TEN 7AE9 336 350 TEND 7B40 435 214 TESTV 7D12 1133 474 1138 1146 TESTW 7D22 1143 1135 1140 TESTX 7D23 1144 1142 TFFDE 7D03 1100 1067 TFIND 7B43 438 224 TGOTO 7C46 772 701 THER 7C4B 777 722 TLP 7B45 440 279 421 498 573 TREAD 7B41 436 231 TRGLP 7B4A 448 510 TRGOP 7B4D 451 565 609 TRP 7B48 443 399 444 TWO 7B4B 449 539 586 642 TWRIT 7B42 437 240 UCMA 7C49 775 751 ULP 7C47 773 714 URP 7C48 774 734 W11 7D35 1161 702 W12 7D3B 1169 1226 W13 7D40 1177 1205 W14 7D58 1203 1195 W18 7D71 1234 1199 W83DE 7D70 1233 1182 WCMA 7D72 1235 1204 1221 WEQU 7D6E 1231 1161 WLP 7D6F 1232 1170 WRP 7D73 1236 1208 XT1 7B3E 433 197 198 537 538 584 585 XT3 7BF9 670 661 662 XT4 7BFA 671 660 665 XY1 7A6C 193 171 176 183 695 XY10 7B56 462 430 647 XY11 7BEA 655 412 463 XY12 7B6F 498 470 XY13 7BE7 650 491 522 724 1222 XY14 7B59 469 495 526 XY14A 7B66 486 478 XY15 7B79 510 499 XY16 7B85 533 507 XY17 7B68 489 XY18 7BC2 609 602 XY19 7BC4 613 606 XY2 7A84 211 205 212 XY20 7BD0 628 618 XY21 7BAC 584 625 XY22 7C0E 693 667 694 1158 XY24 7C12 701 225 XY26 7C26 727 715 XY27 7D2A 1151 196 207 1157 1162 XY27A 7D33 1158 1154 XY3 7A95 231 215 XY34 7A8B 218 XY4 7A9C 240 232 XY4B 7A8F 224 241 XY5 7AEA 342 307 XY5A 7AF8 355 343 XY6 7AA2 253 236 XY6A 7AB4 278 259 264 XY6B 7AAF 267 313 363 XY7 7BFC 676 269 280 299 328 345 351 374 400 411 417 422 506 511 554 595 629 640 643 651 677 723 735 740 752 762 785 1145 1171 1183 1191 1200 1209 1214 XY8 7B1B 398 348 352 XY8A 7B29 413 409 XY9 7B19 395 323 XYZ13 7C25 724 766