ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:06 2020
Source File: \kforph12.asm
1130 FORTRAN COMPILER PHASE 12
2 | *************************************************** K1200020
3 | * * K1200030
4 | *STATUS - VERSION 2 MODIFICATION 8 * K1200040
5 | * * K1200050
6 | *FUNCTION/OPERATION- * K1200060
7 | * * EXAMINES ONLY THE ARITHMETIC, IF, CALL, AND * K1200070
8 | * STATEMENT FUNCTION STATEMENTS IN THE STMNT * K1200080
9 | * STRING. * K1200090
10 | * * CHECKS SYNTAX OF STATEMENTS EXAMINED. * K1200100
11 | * * INSERTS A CALL OPERATOR BETWEEN THE SUBPROG * K1200110
12 | * NAME AND ITS DUMMY ARGUMENTS IN A CALL STMNT* K1200120
13 | * * CHECKS STATEMENT FUNCTION CALLS, INCLUDING * K1200130
14 | * NESTED CALLS, FOR VALID NAMES AND THE * K1200140
15 | * CORRECT NUMBER OF PARAMETERS. * K1200150
16 | * * CHECKS TO SEE THAT VARIABLES ARE DEFINED * K1200160
17 | * CORRECTLY AND SETS DEFINED INDR IN SYM TBL. * K1200170
18 | * * CHECKS FOR VALID STATEMENT NUMBER REFERENCES* K1200180
19 | * IN IF STATEMENTS. REFERENCES TO FORMAT * K1200190
20 | * STATEMENT NUMBERS ARE INVALID. * K1200200
21 | * * CHECKS SYNTAX OF THE RECORD NUMBER * K1200210
22 | * EXPRESSION IN DISK READ/WRITE STATEMENTS. * K1200220
23 | * THE RIGHT PARENTHESIS IS CHANGED TO A COLON * K1200230
24 | * OPERATOR FACILITATING SCAN OF DISK READY * K1200240
25 | * WRITE STMNT IN THE NEXT PHASE. * K1200250
26 | * * K1200260
27 | *ENTRY POINTS- * K1200270
28 | * * START-THE PHASE IS LOADED BY THE ROL SUBR * K1200280
29 | * AND EXECUTION STARTS AT THIS ADDRESS. * K1200290
30 | * * K1200300
31 | *INPUT- * K1200310
32 | * * THE STATEMENT STRING * K1200320
33 | * * THE SYMBOL TABLE * K1200330
34 | * * FCOM * K1200340
35 | * * K1200350
36 | *OUTPUT- * K1200360
37 | * * THE STATEMENT STRING * K1200370
38 | * * THE SYMBOL TABLE * K1200380
39 | * * FCOM * K1200390
40 | * * K1200400
41 | *EXTERNAL REFERENCES- * K1200410
42 | * SUBROUTINES- * K1200420
43 | * * ROL * K1200430
44 | * COMMA/FCOM * K1200440
45 | * * $PHSE * K1200450
46 | * * K1200460
47 | *EXITS- * K1200470
48 | * NORMAL- * K1200480
49 | * * EXITS VIA A CALL TO THE ROL SUBROUTINE TO* K1200490
50 | * READ IN THE NEXT PHASE. * K1200500
51 | * ERROR- * K1200510
52 | * * OVERLAP ERROR-BYPASSES PROCESSING AND * K1200520
53 | * EXITS VIA THE ROL SUBROUTINE * K1200530
54 | * * COMPILATION ERRORS DETECTED BY THIS PHASE* K1200540
55 | * ARE 36, 37, 38, 39, 40, 41, 42, AND 43 * K1200550
56 | * * K1200560
57 | *TABLES/WORK AREAS-N/A * K1200570
58 | * * K1200580
59 | *ATTRIBUTES-NONE * K1200590
60 | * * K1200600
61 | *NOTES- * K1200610
62 | * THE SWITCHES USED BY THIS PHASE FOLLOW. IF * K1200620
63 | * NON-ZERO, THE SWITCH IS TRANSFER = T. IF ZERO,* K1200630
64 | * THE SWITCH IS NORMAL=N * K1200640
65 | * SW1-DIMENSIONED NAME SUBSCRIPTED * K1200650
66 | * T = NOT SUBSCRIPTED * K1200660
67 | * SW4-SIGN ALLOWABLE * K1200670
68 | * N = SIGN ALLOWABLE * K1200680
69 | * SW5-POINTER INSIDE FUNCTION CALL * K1200690
70 | * T = POINTER INSIDE FUNCTION CALL * K1200700
71 | * SW7-DIMENSIONED NAME * K1200710
72 | * T = NAME DIMENSIONED * K1200720
73 | * * K1200730
74 | *************************************************** K1200740
1130 FORTRAN COMPILER PHASE 12
76 | ABS K1200760
77 | * K1200770
78 | * SYSTEM EQUATES K1200780
8000 79 | MEMRY EQU /8000 K1200790
7A23 80 | OVERL EQU MEMRY-1501 2-4 K1200800
7FBC 81 | ROL EQU MEMRY-68 LOC OF RTN TO READ NEXT PH K1200810
0078 82 | $PHSE EQU /78 NO. OF PHASE NOW IN CORE K1200820
0003 83 | PHLEN EQU 3 NO. OF SECTORS THIS PHASE K1200825
7A23 84 | ORG OVERL K1200830
002A 85 | PHID EQU 42 ID NUMBER THIS PHASE K1200840
86 | * K1200850
87 | * FORTRAN COMMUNICATION AREA K1200860
7A23 88 | ORG BSS 1 ORIGIN ADDRESS 2-4 K1200865
7A24 89 | SOFS BSS 1 START OF STRING K1200870
7A25 90 | EOFS BSS 1 END OF STRING K1200880
7A26 91 | SOFST BSS 1 START OF SYMBOL TABLE K1200890
7A27 92 | SOFNS BSS 1 START OF NON-STATEMENT NUMBERS K1200900
7A28 93 | SOFXT BSS 1 START OF SUBSCRIPT TEMPORARIES K1200910
7A29 94 | SOFGT BSS 1 START OF GENERATED TEMPORARIES K1200920
7A2A 95 | EOFST BSS 1 END OF SYMBOL TABLE K1200930
7A2B 96 | COMON BSS 1 NEXT AVAILABLE COMMON K1200940
7A2C 97 | CSIZE BSS 1 SIZE OF COMMON K1200950
7A2D 98 | ERROR BSS 1 OVERLAP ERROR K1200960
7A2E 99 | FNAME BSS 1 PROGRAM NAME K1200970
7A2F 100 | BSS 1 K1200980
7A30 101 | SORF BSS 1 SUBROUTINE(-) OR FUNCTION(+) K1200990
7A31 102 | CCWD BSS 1 CONTROL CARD WORD K1201000
103 | * BIT 15 TRANSFER TRACE K1201010
104 | * BIT 14 ARITHMETIC TRACE K1201020
105 | * BIT 13 EXTENDED PRECISION K1201030
106 | * BIT 12 LIST SYMBOL TABLE K1201040
107 | * BIT 11 LIST SUBPROGRAM NAMES K1201050
108 | * BIT 10 LIST SOURCE PROGRAM K1201060
109 | * BIT 9 ONE WORD INTEGERS K1201070
110 | * BIT 8 ORIGIN ADDRESS 2-4 K1201080
111 | * K1201090
7A32 112 | IOCS BSS 1 IOCS CONTROL CARD WORD K1201100
113 | * BIT 15 CARD K1201110
114 | * BIT 14 PAPER TAPE K1201120
115 | * BIT 13 TYPEWRITER K1201130
116 | * BIT 12 1443 PRINTER K1201140
117 | * BIT 11 MAGNETIC TAPE K1201150
118 | * BIT 10 KEYBOARD K1201160
119 | * BIT 8 DISK K1201170
120 | * BIT 3 PLOTTER K1201180
121 | * BIT 1 UNFORMATTED DISK K1201190
7A33 122 | DFCNT BSS 1 K1201200
123 | * K1201210
124 | * K1201220
125 | * K1201230
126 | * K1201240
127 | * END OF FORTRAN COMMUNICATION K1201250
128 | * AREA K1201260
129 | *************************************************** K1201270
130 | * K1201280
131 | * K1201290
7A36 132 | BPHAR EQU *+2 BEGIN PH AREA K1201300
7A34 0000 133 | DC 0 LOADER WORK AREA K1201310
7A35 FFD6 134 | DC -42 -PHASE ID FOR SLET LOOKUP K1201320
7A36 000C 135 | DC NXTPH-*+1 TABLE FOR NEXT PHASE ENTRY K1201330
7A37 0001 136 | DC 1 ONE ENTRY TO BE SET BY LDR K1201340
7A36 137 | ORG *-2 K1201350
138 | * K1201360
7A36 612A 139 | START LDX 1 PHID GET ID THIS PHASE K1201370
7A37 6D00 0078 140 | STX L1 $PHSE STORE IN SYSTEM PHASE AREA K1201380
141 | * K1201390
142 | * CHECK FOR OVERLAP ERROR K1201400
143 | * K1201410
7A39 C0F3 144 | LD ERROR IF NO OVERLAP ERROR THEN BR K1201420
7A3A 4C18 7A46 145 | BSC L ORGIN,+- TO MOVE STRING. K1201430
146 | * K1201440
147 | * READ AND GO TO NEXT PHASE K1201450
148 | * K1201460
7A3C 6580 7A43 149 | OVERF LDX I1 NXTPH+1 LOAD PARAM FOR READING K1201470
7A3E C805 150 | LDD NXTPH+2 NEXT PHASE K1201480
7A3F 4C00 7FBC 151 | BSC L ROL BR TO READ IN NEXT PHASE K1201490
7A42 152 | BSS E 0 MAKE ADDRESS EVEN K1201500
7A42 002B 153 | NXTPH DC 43 ID OF NEXT PHASE K1201510
7A43 154 | BSS 3 LOADER TABLE FOR NEXT PHASE K1201520
155 | * K1201530
156 | * MOVE STRING NEXT TO SYMBOL TABLE K1201540
157 | * K1201550
7A46 C0DE 158 | ORGIN LD EOFS END OF STRING ADDRESS K1201560
7A47 90DC 159 | S SOFS START OF STRING ADDRESS K1201570
7A48 D001 160 | STO *+1 ADDR OF NEXT INSTRUCTION K1201580
7A49 6700 0000 161 | LDX L3 *-* RANGE OF MOVE K1201590
7A4B 7301 162 | MDX 3 1 NO. OF WORDS INCLUSIVE K1201600
7A4C 6680 7A25 163 | LDX I2 EOFS END OF STRING ADDR K1201610
7A4E 6580 7A2A 164 | LDX I1 EOFST END OF SYMBOL TABLE ADDRESS K1201620
7A50 C200 165 | ORGA1 LD 2 0 NEXT WORD TO MOVE K1201630
7A51 D102 166 | STO 1 +2 MOVE STRING NEXT TO SYM TBL K1201640
7A52 71FF 167 | MDX 1 -1 DECR MOVE TO ADDRESS K1201650
7A53 72FF 168 | MDX 2 -1 DECR MOVE FROM ADDRESS K1201660
7A54 73FF 169 | MDX 3 -1 DECR NO. OF WORDS TO MOVE K1201670
7A55 70FA 170 | MDX ORGA1 CONTINUE K1201680
7A56 7103 171 | MDX 1 3 INCR TO EQUAL 1ST STMNT PT K1201690
172 | * K1201700
173 | * INITIALIZE INPUT AND OUTPUT K1201710
174 | * STRING POINTERS K1201720
175 | * K1201730
7A57 6680 7A24 176 | LDX I2 SOFS START OF STRING ADDR K1201740
7A59 72FF 177 | MDX 2 -1 DECR BY 1 K1201750
7A5A 6E00 7CC3 178 | STX L2 CKS2+1 STORE AS ASF TABLE ADDRESS K1201760
7A5C 7202 179 | MDX 2 2 K1201770
7A5D 6E00 7DAD 180 | STX L2 XY33+1 ASF TABLE REFERENCE K1201780
7A5F 72FF 181 | MDX 2 -1 K1201790
7A60 6E00 7CC9 182 | STX L2 CKS3+1 STORE FOR ASF ARGUMENT CNT K1201800
183 | * K1201810
184 | * INITIALIZE TO SCAN STATEMENT K1201820
185 | * K1201830
7A62 C100 186 | XY1 LD 1 0 STMNT ID WORD K1201840
7A63 E037 187 | AND S07FF EXTRACT STMNT WORD COUNT K1201850
7A64 1802 188 | SRA 2 RIGHT JUSTIFY K1201860
7A65 D400 7DEC 189 | STO L XY27+1 STORE AS INSTRUCTION ADDR K1201870
7A67 6932 190 | STX 1 XT1 INDEX REG 1 TEMPORARY K1201880
7A68 8031 191 | A XT1 ADDR OF STMNT ID WORD K1201890
7A69 D400 7AC9 192 | STO L NXTID ADDR OF NEXT STMNT ID WORD K1201900
7A6B 6E00 7AB7 193 | STX L2 IDSV2 INDEX REG 2 TEMPORARY K1201910
7A6D 690B 194 | STX 1 IDSV1 INDEX REG 1 TEMPORARY K1201920
7A6E 4400 7B3B 195 | BSI L MOVE1 BR TO OUTPUT 1 ELEMENT K1201930
7A70 C1FF 196 | LD 1 -1 STMNT ID WORD K1201940
7A71 F02C 197 | EOR S0001 EXTRACT AND REVERSE BIT 15 K1201950
7A72 4C04 7A78 198 | BSC L XY2,E BR IF NOT A NUMBERED STMNT K1201960
7A74 4400 7B3B 199 | BSI L MOVE1 BR TO OUTPUT ONE ELEMENT K1201970
7A76 74FF 7DEC 200 | MDX L XY27+1,-1 ADJUST TO EXCLUDE STMNT NO. K1201980
201 | * K1201990
202 | * CHECK FOR END STATEMENT K1202000
203 | * K1202010
7A78 C400 0000 204 | XY2 LD L *-* STMNT ID WORD K1202020
7A79 205 | IDSV1 EQU XY2+1 LABEL PREVIOUS ADDRESS K1202030
7A7A 180B 206 | SRA 11 RIGHT JUSTIFY STMNT TYPE K1202040
7A7B 9020 207 | S TEND END STMNT CONSTANT K1202050
7A7C 4C20 7ACC 208 | BSC L XY5,Z BR IF NOT END STMNT K1202060
209 | * K1202070
210 | * REMOVE ASF TABLE IF PRESENT K1202080
211 | * K1202090
7A7E 74FF 7CBD 212 | MDX L CKAS+1,-1 DECR ASF TABLE COUNTER K1202100
7A80 7001 213 | MDX *+1 BR IF ASF TABLE K1202110
7A81 7014 214 | MDX XY34 BR IF NO ASF TABLE K1202120
7A82 6AA2 215 | STX 2 EOFS END OF STRING ADDR K1202130
7A83 C0A0 216 | LD SOFS START OF STRING ADDR K1202140
7A84 8400 7CBD 217 | A L CKAS+1 ASF TABLE COUNT K1202150
7A86 D001 218 | STO *+1 ADDR OF NEXT INSTRUCTION K1202160
7A87 6500 0000 219 | LDX L1 *-* MOVE FROM ADDRESS K1202170
7A89 6680 7A24 220 | LDX I2 SOFS MOVE TO ADDRESS K1202180
7A8B 9400 7A25 221 | S L EOFS END OF STRING ADDRESS K1202190
7A8D D001 222 | STO *+1 ADDR OF NEXT INSTRUCTION K1202200
7A8E 6700 0000 223 | LDX L3 *-* RANGE OF MOVE K1202210
7A90 C100 224 | MV1 LD 1 0 NEXT WORD TO MOVE K1202220
7A91 D200 225 | STO 2 0 REMOVE ARITH STMNT FUNC TBL K1202230
7A92 7101 226 | MDX 1 1 INCR MOVE FROM ADDR K1202240
7A93 7201 227 | MDX 2 1 INCR MOVE TO ADDR K1202250
7A94 7301 228 | MDX 3 1 INCR MOVE COUNTER K1202260
7A95 70FA 229 | MDX MV1 BR TO CONTINUE MOVE K1202270
7A96 72FF 230 | XY34 MDX 2 -1 END OF STRING = XR2-1 K1202280
7A97 6E00 7A25 231 | STX L2 EOFS NEW END OF STRING ADDR K1202290
7A99 70A2 232 | MDX OVERF K1202300
233 | * K1202310
234 | * CONSTANTS AND WORK AREA K1202320
235 | * K1202330
7A9A 0000 236 | XT1 DC 0 INDEX REG 1 TEMPORARY K1202340
7A9B 07FF 237 | S07FF DC /07FF STMNT TYPE MASK CONSTANT K1202350
7A9C 0002 238 | TEND DC /02 END STMNT CONSTANT K1202360
7A9D 0000 239 | ERNO DC 0 ERROR NUMBER TEMPORARY K1202370
7A9E 0001 240 | S0001 DC /0001 STMNT NO. INDR BIT MASK K1202380
7A9F F803 241 | SF802 DC /F803 STMNT WORD COUNT MASK K1202390
7AA0 0020 242 | S0020 DC /0020 DEFINED BIT CONSTANT K1202400
243 | * K1202410
244 | * CHECK FOR STMNT TERMINATOR K1202420
245 | * K1202430
7AA1 C100 246 | XY13 LD 1 0 NEXT STMNT WORD K1202440
7AA2 4C20 7AB6 247 | BSC L XY7,Z BR IF NO TERMINATOR K1202450
7AA4 4400 7B27 248 | XY11 BSI L PUT BR TO MOVE 1 WD TO OUTPUT K1202460
7AA6 C480 7AB7 249 | CRCTN LD I IDSV2 STMNT ID WITHOUT WD COUNT K1202470
7AA8 E400 7A9F 250 | AND L SF802 ZERO WORD COUNT BITS K1202480
7AAA D009 251 | STO XT4 STMNT ID WORD TEMPORARY K1202490
7AAB 6A07 252 | STX 2 XT3 INDEX REG 2 TEMPORARY K1202500
7AAC C006 253 | LD XT3 NEXT STMNT ID WD ADDRESS K1202510
7AAD 9009 254 | S IDSV2 CURRENT STMNT ID WD ADDRESS K1202520
7AAE 1002 255 | SLA 2 POSITION TO STORE STMNT CNT K1202530
7AAF 8004 256 | A XT4 STMNT ID W/O WORD COUNT K1202540
7AB0 D480 7AB7 257 | STO I IDSV2 CORRECTED STMNT ID WORD K1202550
7AB2 7015 258 | MDX XY22 BR TO MOVE TO NEXT STMNT K1202560
259 | * K1202570
260 | * CONSTANTS AND WORK AREA K1202580
261 | * K1202590
7AB3 0000 262 | XT3 DC 0 INDEX REG 2 TEMPORARY K1202600
7AB4 0000 263 | XT4 DC 0 STMNT ID WORD TEMPORARY K1202610
7AB5 A008 264 | ERID DC /A008 ERROR ID WORD K1202620
265 | * K1202630
266 | * REPLACE STATEMENT WITH ERROR K1202640
267 | * K1202650
7AB6 6600 0000 268 | XY7 LDX L2 *-* STMNT ID WORD ADDRESS K1202660
7AB6 269 | ATERR EQU XY7 LABEL LAST INSTRUCTION K1202670
7AB7 270 | IDSV2 EQU XY7+1 LABEL LAST INSTRUCTION ADDR K1202680
7AB8 C200 271 | LD 2 0 OUTPUT STMNT ID WORD K1202690
7AB9 F055 272 | EOR FIVE REVERSE STMNT NO. INDR BIT K1202700
7ABA 4C04 7AC1 273 | BSC L *+5,E BR IF NOT A NUMBERED STMNT K1202710
7ABC C052 274 | LD FIVE STMNT NUMBERED INDR K1202720
7ABD 80F7 275 | A ERID SET BIT 15 ON AND INCR CNT K1202730
7ABE D200 276 | STO 2 0 REPLACE STMNT ID WORD K1202740
7ABF 7201 277 | MDX 2 1 INCR STMNT POINTER K1202750
7AC0 7003 278 | MDX *+3 BR TO SET UP ERROR NUMBER K1202760
7AC1 C400 7AB5 279 | LD L ERID ERROR ID WORD K1202770
7AC3 D200 280 | STO 2 0 STMNT ID WORD K1202780
7AC4 C400 7A9D 281 | LD L ERNO ERROR NUMBER K1202790
7AC6 D201 282 | STO 2 1 STORE ON OUTPUT STRING K1202800
7AC7 7202 283 | MDX 2 2 INCR STMNT POINTER K1202810
7AC8 6500 0000 284 | XY22 LDX L1 *-* NEXT STMNT ID WORD ADDRESS K1202820
7AC9 285 | NXTID EQU XY22+1 LABEL FOR PRECEDING ADDRESS K1202830
7ACA 4C00 7A62 286 | BSC L XY1 BR TO SCAN NEXT STMNT K1202840
287 | * K1202850
288 | * CHECK FOR AN ARITHMETIC STATEMENT K1202860
289 | * K1202870
7ACC 9040 290 | XY5 S TARTH ARITH STMNT CONSTANT K1202880
7ACD 4C20 7AE9 291 | BSC L XY23,Z BR IF NOT ARITH STMNT K1202890
7ACF 6324 292 | LDX 3 36 ERROR NUMBER 36 K1202900
7AD0 6F00 7A9D 293 | STX L3 ERNO SET UP ERROR NUMBER K1202910
7AD2 C100 294 | LD 1 0 STMNT ID WORD K1202920
7AD3 4041 295 | BSI GETID BR TO GET SYMBOL TBL ID WD K1202930
7AD4 4400 7CCF 296 | BSI L TESTV BR TO TEST VARIABLE NAMES K1202940
7AD6 C300 297 | LD 3 0 SYMBOL TABLE ID WORD K1202950
7AD7 EC00 7AA0 298 | OR L S0020 SET DEFINED BIT ON K1202960
7AD9 D300 299 | STO 3 0 RESTORE ID WORD K1202970
7ADA 4400 7B47 300 | BSI L NAME BR TO CHK NAME DIMENSIONING K1202980
7ADC C400 7B70 301 | LD L SW1 TEST DIMENSIONED NAME SUBSC K1202990
7ADE 4C20 7AB6 302 | BSC L XY7,Z BR IF NOT SUBSCRIPTED K1203000
303 | * K1203010
304 | * SCAN ARITH EXPRESSION IF EQUAL SIGN K1203020
305 | * K1203030
7AE0 C100 306 | XY5A LD 1 0 NEXT STMNT WORD K1203040
7AE1 902C 307 | S EQSGN EQUAL SIGN CONSTANT K1203050
7AE2 4C20 7AB6 308 | BSC L XY7,Z BR IF NOT EQUAL SIGN K1203060
7AE4 4400 7B3B 309 | BSI L MOVE1 BR TO MOVE ONE ELEMENT K1203070
7AE6 4400 7B98 310 | BSI L ARITH BR TO ARITH SCAN K1203080
7AE8 70B8 311 | MDX XY13 BR TO CHK FOR SEMICOLON K1203090
312 | * K1203100
313 | * CHECK FOR IF STATEMENT K1203110
314 | * K1203120
7AE9 9026 315 | XY23 S TIF IF STMNT CONSTANT K1203130
7AEA 4C20 7CE3 316 | BSC L XY25,Z BR IF NOT IF STMNT K1203140
7AEC 6325 317 | LDX 3 37 ERROR NUMBER 37 K1203150
7AED 6F00 7A9D 318 | STX L3 ERNO SET UP ERROR NUMBER K1203160
7AEF C021 319 | LD IFOP IF OPERATOR K1203170
7AF0 403B 320 | BSI CHECK BR TO CHK STRING OVERLAP K1203180
321 | * K1203190
322 | * CHECK FOR LEFT PARENTHESIS K1203200
323 | * K1203210
7AF1 C100 324 | LD 1 0 NEXT STMNT WORD K1203220
7AF2 901F 325 | S ULP LEFT PARENTHESIS CONSTANT K1203230
7AF3 4C20 7AB6 326 | BSC L XY7,Z BR IF NOT LEFT PARENTHESIS K1203240
7AF5 4045 327 | BSI MOVE1 BR TO MOVE ONE ELEMENT K1203250
7AF6 6326 328 | LDX 3 38 ERROR NUMBER 38 K1203260
7AF7 6F00 7A9D 329 | STX L3 ERNO SET UP ERROR WORD K1203270
7AF9 4400 7B98 330 | BSI L ARITH BR TO ARITH SCAN K1203280
7AFB 6325 331 | LDX 3 37 ERROR NUMBER 37 K1203290
7AFC 6F00 7A9D 332 | STX L3 ERNO SET UP ERROR WORD K1203300
333 | * K1203310
334 | * CHECK FOR RIGHT PARENTHESIS K1203320
335 | * K1203330
7AFE C100 336 | LD 1 0 NEXT STMNT WORD K1203340
7AFF 9013 337 | S URP RIGHT PARENTHESIS CONSTANT K1203350
7B00 4C20 7AB6 338 | BSC L XY7,Z BR IF NOT RIGHT PARENTHESIS K1203360
7B02 4038 339 | BSI MOVE1 BR TO MOVE ONE ELEMENT K1203370
340 | * K1203380
341 | * CHECK FOR COMMA OPERATOR K1203390
342 | * K1203400
7B03 C010 343 | LD UCMA COMMA OPERATOR CONSTANT K1203410
7B04 4027 344 | BSI CHECK BR TO CHECK STRING OVERLAP K1203420
7B05 4400 7B78 345 | BSI L LIST BR TO CHK STMNT NO. LISTS K1203430
7B07 C400 7B94 346 | LD L CNT STMNT NO. COUNT K1203440
7B09 9005 347 | S FIVE DECIMAL FIVE K1203450
7B0A 4C20 7AB6 348 | BSC L XY7,Z BR IF NOT FIVE K1203460
7B0C 7094 349 | MDX XY13 BR TO CHK FOR SEMICOLON K1203470
350 | * K1203480
351 | * CONSTANTS AND WORK AREA K1203490
352 | * K1203500
7B0D FFFE 353 | TARTH DC /00-/02 ARITHMETIC ID K1203510
7B0E 000E 354 | EQSGN DC /0E = OPERATOR K1203520
7B0F 0005 355 | FIVE DC 5 DECIMAL FIVE CONSTANT K1203530
7B10 000F 356 | TIF DC /0F-/00 IF ID K1203540
7B11 0014 357 | IFOP DC /14 IF OPERATOR K1203550
7B12 0010 358 | ULP DC /10 ( OPERATOR K1203560
7B13 0002 359 | URP DC /02 ) OPERATOR K1203570
7B14 0012 360 | UCMA DC /12 , OPERATOR K1203580
361 | *************************************************** K1203590
362 | * THIS SUBROUTINE GETS THE ID WORD * K1203600
363 | * FROM THE SYMBOL TABLE. THE ENTRY IS * K1203610
364 | * A BSI INSTRUCTION TO THE LABEL GETID* K1203620
365 | *************************************************** K1203630
366 | * K1203640
367 | * GET ID WORD K1203650
368 | * K1203660
7B15 0000 369 | GETID DC 0 RETURN ADDRESS K1203670
7B16 4C10 7AB6 370 | BSC L XY7,- BR IF NOT SYMBOL TBL PT K1203680
7B18 E00D 371 | AND SO1FF EXTRACT TABLE DISPLACEMENT K1203690
7B19 1002 372 | SLA 2 EFFECTIVE MULTIPLY BY 4 K1203700
7B1A D006 373 | STO *+6 TEMPORARY STORE K1203710
7B1B 1802 374 | SRA 2 RESTORE - RIGHT JUSTIFY K1203720
7B1C 9004 375 | S *+4 -3 TIMES DISPLACEMENT K1203730
7B1D 8400 7A26 376 | A L SOFST START OF SYMBOL TBL ADDR K1203740
7B1F D001 377 | STO *+1 ADDR OF NEXT INSTRUCTION K1203750
7B20 6700 0000 378 | LDX L3 *-* INDEX 3 = SYMBOL TBL ADDR K1203760
7B22 7303 379 | MDX 3 3 ADJUST ADDRESS K1203770
7B23 C300 380 | LD 3 0 SYMBOL TABLE ID WORD K1203780
7B24 4C80 7B15 381 | BSC I GETID BR TO EXIT GETID SUBROUTINE K1203790
382 | * K1203800
383 | * CONSTANTS AND WORK AREA K1203810
384 | * K1203820
7B26 07FF 385 | SO1FF DC /07FF SYMBOL TBL POINTER MASK K1203830
386 | * K1203840
387 | *************************************************** K1203850
388 | * THIS SUBROUTINE PLACES THE ITEMS * K1203860
389 | * ON THE NEW STRING. THE ENTRY IS A * K1203870
390 | * BSI INSTRUCTION TO THE LABEL PUT. * K1203880
391 | *************************************************** K1203890
392 | * STORE ACCUMULATOR ON NEW STRING K1203900
393 | * K1203910
7B27 0000 394 | PUT DC 0 RETURN ADDRESS K1203920
7B28 D200 395 | STO 2 0 ONE ELEMENT TO NEW STRING K1203930
7B29 7201 396 | MDX 2 1 INCR NEW STRING POINTER K1203940
7B2A 4C80 7B27 397 | BSC I PUT BR TO EXIT FROM PUT K1203950
398 | *************************************************** K1203960
399 | * THIS SUBROUTINE CHECKS FOR ROOM * K1203970
400 | * BETWEEN THE TWO STRINGS. THE ENTRY * K1203980
401 | * IS A BSI INSTRUCTION TO THE LABEL * K1203990
402 | * CHECK. * K1204000
403 | *************************************************** K1204010
404 | * K1204020
405 | * CALL PUT K1204030
406 | * K1204040
7B2C 0000 407 | CHECK DC 0 RETURN ADDRESS K1204050
7B2D 40F9 408 | BSI PUT BR TO MOVE ONE ELEMENT K1204060
409 | * K1204070
410 | * CHK FOR XR1 GREATER THAN XR2 K1204080
411 | * K1204090
7B2E 690B 412 | STX 1 CKTEM INDEX REGISTER 1 TEMPORARY K1204100
7B2F C00A 413 | LD CKTEM ADDR OF INPUT STRING K1204110
7B30 6A09 414 | STX 2 CKTEM INDEX REGISTER 2 TEMPORARY K1204120
7B31 9008 415 | S CKTEM ADDR OF OUTPUT STRING K1204130
7B32 4C08 7B36 416 | BSC L CK1,+ BR IF STRING OVERLAP K1204140
7B34 4C80 7B2C 417 | BSC I CHECK BR TO EXIT K1204150
7B36 7401 7A2D 418 | CK1 MDX L ERROR,1 SET OVERLAP ERROR ON K1204160
7B38 4C00 7A3C 419 | BSC L OVERF BR TO RD AND GO TO NEXT PH K1204170
420 | * K1204180
421 | * CONSTANTS AND WORK AREA K1204190
422 | * K1204200
7B3A 0000 423 | CKTEM DC 0 INDEX REG TEMPORARY STORE K1204210
424 | * K1204220
425 | *************************************************** K1204230
426 | * THIS SUBROUTINE OUTPUTS ONE ELEMENT * K1204240
427 | * AND MOVES THE POINTER. THE ENTRY IS * K1204250
428 | * A BSI INSTRUCTION TO THE LABEL MOVE1* K1204260
429 | *************************************************** K1204270
430 | * CALL PUT K1204280
431 | * K1204290
7B3B 0000 432 | MOVE1 DC 0 RETURN ADDRESS K1204300
7B3C C100 433 | LD 1 0 NEXT STMNT WORD K1204310
7B3D 40E9 434 | BSI PUT BR TO MOVE ONE ELEMENT K1204320
7B3E 7101 435 | MDX 1 1 INCR INPUT POINTER K1204330
7B3F 4C80 7B3B 436 | BSC I MOVE1 BR TO EXIT K1204340
437 | *************************************************** K1204350
438 | * THIS SUBROUTINE OUTPUT UNDER CONTROL* K1204360
439 | * OF XR3. THE ENTRY IS A BSI INSTRUC. * K1204370
440 | * TO THE LABEL OUT. * K1204380
441 | *************************************************** K1204390
442 | * CALL MOVE1 K1204400
443 | * K1204410
7B41 0000 444 | OUT DC 0 RETURN ADDRESS K1204420
7B42 40F8 445 | BSI MOVE1 BR TO MOVE ONE ELEMENT K1204430
7B43 73FF 446 | MDX 3 -1 DECR MOVE COUNT K1204440
7B44 70FD 447 | MDX OUT+1 BR TO OUTPUT ONE MORE K1204450
7B45 4C80 7B41 448 | BSC I OUT EXIT IF COUNT IS ZERO K1204460
449 | *************************************************** K1204470
450 | * THIS SUBROUTINE HANDLES THE NAME * K1204480
451 | * AND THE SUBSCRIPT IF THERE IS AND * K1204490
452 | * SHOULD BE ONE. THE ENTRY IS A BSI * K1204500
453 | * INSTRUCTION TO THE LABEL NAME. * K1204510
454 | *************************************************** K1204520
455 | * K1204530
456 | * CALL PUT K1204540
457 | * K1204550
7B47 0000 458 | NAME DC 0 RETURN ADDRESS K1204560
7B48 C100 459 | LD 1 0 NEXT STMNT WORD K1204570
7B49 40DD 460 | BSI PUT BR TO OUTPUT ONE ELEMENT K1204580
7B4A 40CA 461 | BSI GETID BR TO GET SYMBOL TBL ID WD K1204590
7B4B D02B 462 | STO SVID ID WORD TEMPORARY K1204600
7B4C E025 463 | AND S1800 EXTRACT DIMENSION BITS K1204610
7B4D 4C20 7B55 464 | BSC L NAME1,Z BR IF NOT DIMENSIONED NAME K1204620
7B4F 7101 465 | MDX 1 1 INCR STMNT POINTER K1204630
7B50 6820 466 | STX 0 SW7 SET DIMENSIONED NAME SW ON K1204640
7B51 1010 467 | NAME3 SLA 16 CLEAR ACCUMULATOR K1204650
7B52 D01D 468 | STO SW1 ZERO DIMENSION SUBSC INDR K1204660
7B53 4C80 7B47 469 | NAME8 BSC I NAME BR TO EXIT K1204670
470 | * K1204680
471 | * RESET DIMENSIONED NAME SWITCH K1204690
472 | * K1204700
7B55 1010 473 | NAME1 SLA 16 CLEAR ACCUMULATOR K1204710
7B56 D01A 474 | STO SW7 RESET DIMENSIONED NAME SW K1204720
7B57 7101 475 | MDX 1 1 INCR STMNT POINTER K1204730
7B58 C100 476 | LD 1 0 NEXT STMNT WORD K1204740
7B59 9019 477 | S NP3 3 DIMENSION OPERATOR CON K1204750
7B5A 4C20 7B5F 478 | BSC L NAME2,Z BR IF NOT 3 DIMENSION K1204760
7B5C 630F 479 | LDX 3 15 SET UP OUTPUT SPACE IN XR3 K1204770
7B5D 40E3 480 | NAME4 BSI OUT BR TO MOVE TO OUTPUT STRING K1204780
7B5E 70F2 481 | MDX NAME3 BR TO NORMALIZE SWITCH 1 K1204790
7B5F 9014 482 | NAME2 S NP2 2 DIMENSION OPERATOR CON K1204800
7B60 4C20 7B64 483 | BSC L NAME5,Z BR IF NOT 2 DIMENSION K1204810
7B62 630B 484 | LDX 3 11 SET UP OUTPUT SPACE IN XR3 K1204820
7B63 70F9 485 | MDX NAME4 BR TO OUTPUT K1204830
7B64 9010 486 | NAME5 S NP1 1 DIMENSION OPERATOR CON K1204840
7B65 4C20 7B69 487 | BSC L NAME6,Z BR IF NOT 1 DIMENSION K1204850
7B67 6307 488 | LDX 3 7 SET UP OUTPUT SPACE IN XR3 K1204860
7B68 70F4 489 | MDX NAME4 BR TO OUTPUT K1204870
7B69 900C 490 | NAME6 S NP0 O DIMENSION OPERATOR CON K1204880
7B6A 4C20 7B6E 491 | BSC L NAME7,Z BR IF NOT O DIMENSION K1204890
7B6C 6303 492 | LDX 3 3 SET UP OUTPUT SPACE IN XR3 K1204900
7B6D 70EF 493 | MDX NAME4 BR TO OUTPUT K1204910
7B6E 6801 494 | NAME7 STX 0 SW1 SET SWITCH 1 ON K1204920
7B6F 70E3 495 | MDX NAME8 BR TO EXIT FROM NAME K1204930
496 | * K1204940
497 | * CONSTANTS AND WORK AREA K1204950
498 | * K1204960
7B70 0000 499 | SW1 DC 0 DIMENSIONED NAME SUBSC SW K1204970
7B71 0000 500 | SW7 DC 0 DIMENSIONED NAME SWITCH K1204980
7B72 1800 501 | S1800 DC /1800 DIMENSION INDICATOR MASK K1204990
7B73 001E 502 | NP3 DC /1E (3 OPERATOR CONSTANT K1205000
7B74 FFFE 503 | NP2 DC /1C-/1E (2 OPERATOR CONSTANT K1205010
7B75 FFFE 504 | NP1 DC /1A-/1C (1 OPERATOR CONSTANT K1205020
7B76 FFFE 505 | NP0 DC /18-/1A (0 OPERATOR CONSTANT K1205030
7B77 0000 506 | SVID DC *-* SYMBOL TABLE ID WORD TEMP K1205040
507 | *************************************************** K1205050
508 | * THIS SUBROUTINE CHECKS THE STATEMENTS K1205060
509 | * NUMBER LIST OF IF AND GOTO STATEMENTS K1205070
510 | * ENTRY IS A BSI INSTRUCTION TO THE * K1205080
511 | * LABEL LIST * K1205090
512 | *************************************************** K1205100
7B78 0000 513 | LIST DC 0 RETURN ADDRESS K1205110
7B79 1010 514 | SLA 16 CLEAR ACCUMULATOR K1205120
7B7A D019 515 | STO CNT ZERO COUNT OF WORDS OUTPUT K1205130
516 | * K1205140
517 | * CHK FOR NON-FORMAT STMNT NUMBER K1205150
518 | * K1205160
7B7B C100 519 | LIST3 LD 1 0 NEXT STMNT WORD K1205170
7B7C 4400 7B15 520 | BSI L GETID BR TO GET SYMBOL TABLE ID K1205180
7B7E E017 521 | AND SFFDF REMOVE REFERENCED NO. INDR K1205190
7B7F F017 522 | EOR S0200 FLIP STMNT NO. INDR BIT K1205200
7B80 4C20 7B8A 523 | BSC L LIST2,Z BR IF NO STMNT NUMBER K1205210
7B82 40B8 524 | BSI MOVE1 BR TO MOVE 1 WD TO OUTPUT K1205220
7B83 7401 7B94 525 | MDX L CNT,1 INCR WORDS OUTPUT COUNT K1205230
526 | * K1205240
527 | * CHECK FOR COMMA CHARACTER K1205250
528 | * K1205260
7B85 C100 529 | LD 1 0 NEXT STMNT WORD K1205270
7B86 900E 530 | S LCMA COMMA CONSTANT K1205280
7B87 4C18 7B8F 531 | BSC L LIST4,+- BR IF COMMA K1205290
7B89 7003 532 | MDX LIST5 BR TO EXIT K1205300
533 | * K1205310
534 | * SET UP ERROR 43 K1205320
535 | * K1205330
7B8A 632B 536 | LIST2 LDX 3 43 INDEX REG 3 = 43 K1205340
7B8B 6F00 7A9D 537 | STX L3 ERNO SET UP ERROR WORD K1205350
538 | * K1205360
539 | * RETURN K1205370
540 | * K1205380
7B8D 4C80 7B78 541 | LIST5 BSC I LIST EXIT FROM LIST CHECK SUBR K1205390
7B8F 7401 7B94 542 | LIST4 MDX L CNT,1 INCR WORD OUTPUT COUNT K1205400
7B91 4400 7B3B 543 | BSI L MOVE1 BR TO OUTPUT ONE WORD K1205410
7B93 70E7 544 | MDX LIST3 BR TO GET SYMBOL TBL ID WD K1205420
545 | * K1205430
546 | * CONSTANTS AND WORK AREA K1205440
547 | * K1205450
7B94 0000 548 | CNT DC 0 NO. OF WDS OUTPUT COUNTER K1205460
7B95 0012 549 | LCMA DC /12 COMMA CHARACTER CONSTANT K1205470
7B96 FFDF 550 | SFFDF DC /FFDF SYMBOL TABLE ID WORD MASK K1205480
7B97 0200 551 | S0200 DC /0200 STMNT NUMBER INDR MASK K1205490
552 | *************************************************** K1205500
553 | * THIS SUBROUTINE CHECKS AND ALTERS * K1205510
554 | * ALL ARITHMETIC EXPRESSIONS TO BE * K1205520
555 | * SCANNED. THE ENTRY IS A BSI COMMAND * K1205530
556 | * TO THE LABEL ARITH. INDEX REGISTER * K1205540
557 | * 1 POINTS AT THE RIGHT STRING AND * K1205550
558 | * INDEX REGISTER 2 POINTS AT THE LEFT * K1205560
559 | * STRING. THE ARITHMETIC EXPRESSION * K1205570
560 | * IS MOVED FROM THE RIGHT STRING TO * K1205580
561 | * THE LEFT STRING AS IT IS CHECKED. * K1205590
562 | * A NEST CALL TABLE IS INSERTED IN THE* K1205600
563 | * STRING AS NEEDED. * K1205610
564 | *************************************************** K1205620
565 | * K1205630
566 | * INITIALIZE TO HANDLE EXPRESSIONS K1205640
567 | * K1205650
7B98 0000 568 | ARITH DC 0 SUBR ENTRY POINT K1205660
7B99 1010 569 | SLA 16 CLEAR ACCUMULATOR K1205670
7B9A D072 570 | STO PAR CLEAR PARENTHESIS COUNTER K1205680
7B9B D072 571 | STO SW4 CLEAR SIGN ALLOWABLE SWITCH K1205690
7B9C D072 572 | STO SW5 CLEAR PT INSIDE FUNCTION SW K1205700
7B9D D073 573 | STO CALLN FUNCTION CALL INDICATOR K1205710
7B9E D074 574 | STO ASFN ARITH STMNT FUNC INDICATOR K1205720
7B9F 6301 575 | LDX 3 1 SET INDEX REG 3 =1 K1205730
7BA0 6B71 576 | STX 3 PARNO INITIALIZE PARAMETER COUNT K1205740
7BA1 C400 7AC9 577 | LD L NXTID K1205750
7BA3 D400 7C98 578 | STO L ATH14+1 ADDR OF NEXT STMNT ID WORD K1205760
7BA5 C100 579 | ATH3 LD 1 0 NEXT STMNT WORD K1205770
7BA6 4C28 7BC5 580 | BSC L ATH1,+Z BR IF NOT OPERATOR K1205780
7BA8 9067 581 | S ARPEN LEFT PARENTHESIS CONSTANT K1205790
7BA9 4C20 7BB2 582 | BSC L ATH2,Z BR IF NOT LEFT PARENTHESIS K1205800
583 | * K1205810
584 | * PAR = PAR + 1 K1205820
7BAB 7401 7C0D 585 | MDX L PAR,1 INCR PARENTHESIS COUNT K1205830
7BAD 4400 7B3B 586 | ATH12 BSI L MOVE1 BR TO MOVE ONE WD TO OUTPUT K1205840
7BAF 1010 587 | SLA 16 CLEAR ACCUMULATOR K1205850
7BB0 D05D 588 | STO SW4 NORMALIZE SWITCH 4 K1205860
7BB1 70F3 589 | MDX ATH3 BR TO CHK NEXT STMNT WORD K1205870
7BB2 C05B 590 | ATH2 LD SW4 SIGN ALLOWABLE SWITCH K1205880
7BB3 4C20 7AB6 591 | BSC L ATERR,Z BR IF SIGN NOT ALLOWABLE K1205890
7BB5 C100 592 | LD 1 0 NEXT STMNT WORD K1205900
7BB6 9400 7C60 593 | S L APSGN PLUS SIGN CONSTANT K1205910
7BB8 4C18 7BC2 594 | BSC L ATH4,+- BR IF PLUS SIGN FOUND K1205920
7BBA 9400 7C61 595 | S L AMSGN MINUS SIGN CONSTANT K1205930
7BBC 4C20 7AB6 596 | BSC L ATERR,Z BR IF NOT MINUS SIGN K1205940
597 | * K1205950
598 | * CALL PUT (U- OPERATOR) K1205960
599 | * K1205970
7BBE C400 7C62 600 | LD L UMNS U- OPERATOR K1205980
7BC0 4400 7B27 601 | BSI L PUT BR TO PUT ON OUTPUT STRING K1205990
7BC2 7101 602 | ATH4 MDX 1 1 INCR STMNT POINTER K1206000
7BC3 684A 603 | ATH11 STX 0 SW4 SET SWITCH 4 ON K1206010
7BC4 70E0 604 | MDX ATH3 BR TO CHK NEXT STMNT WORD K1206020
7BC5 D400 7C63 605 | ATH1 STO L SNAME SAVE NAME IN SNAME K1206030
7BC7 4400 7B47 606 | BSI L NAME BR TO CHK NAME DIMENSIONING K1206040
7BC9 C400 7B70 607 | LD L SW1 DIMENSIONED NAME SUBSCR SW K1206050
7BCB 4C20 7C6F 608 | BSC L ATH5,Z BR IF NAME NOT SUBSCRIPTED K1206060
7BCD C400 7B71 609 | LD L SW7 DIMENSIONED NAME SWITCH K1206070
7BCF 4C18 7BE9 610 | BSC L ATH6,+- BR IF NAME NOT DIMENSIONED K1206080
611 | * K1206090
612 | * CHECK FOR CONSTANT K1206100
613 | * K1206110
7BD1 C0A5 614 | LD SVID SYMBOL TABLE ID WORD K1206120
7BD2 4C28 7BE9 615 | BSC L ATH6,+Z BR TO CHECK FOR SEMICOLON K1206130
7BD4 C100 616 | LD 1 0 NEXT STMNT WORD K1206140
7BD5 903A 617 | S ARPEN LEFT PARENTHESIS CONSTANT K1206150
7BD6 4C18 7C16 618 | BSC L ATH7,+- BR IF LEFT PARENTHESIS K1206160
7BD8 C09E 619 | LD SVID LOAD ID K1206170
7BD9 E03A 620 | AND S0190 CHECK IF ARITHMETIC STMNT K1206180
7BDA 4C18 7BE9 621 | BSC L ATH6,+- BR IF ARITHMETIC STMNT K1206190
7BDC F038 622 | EOR H0090 K1206200
7BDD 4C18 7C09 623 | BSC L ATH20,+- BRANCH IF EXTERNAL 2-6 K1206210
7BDF C400 7A30 624 | LD L SORF TEST FOR SUBR OR FUNCTION K1206220
7BE1 4C08 7AB6 625 | BSC L XY7,+ BRANCH IF SUBROUTINE K1206230
7BE3 C400 7A2E 626 | LD L FNAME LOAD PROG NAME SYM TBL PT K1206240
7BE5 9400 7C63 627 | S L SNAME COMPARE WITH FUNCTION PT K1206250
7BE7 4C20 7AB6 628 | ATH21 BSC L XY7,Z BR TO ERR IF FNAME NE SNAME K1206260
7BE9 C100 629 | ATH6 LD 1 0 NEXT STMNT WORD K1206270
7BEA 4C18 7C04 630 | BSC L ATH8,+- BR IF SEMICOLON K1206280
7BEC 9073 631 | S APSGN PLUS SIGN CONSTANT K1206290
7BED 4C18 7C01 632 | BSC L ATH9,+- BR IF PLUS SIGN K1206300
7BEF 9071 633 | S AMSGN MINUS SIGN CONSTANT K1206310
7BF0 4C18 7C01 634 | BSC L ATH9,+- BR IF MINUS SIGN K1206320
7BF2 9071 635 | S ASLH SLASH CONSTANT K1206330
7BF3 4C18 7C01 636 | BSC L ATH9,+- BR IF SLASH K1206340
7BF5 906F 637 | S ASTER ASTERISK CONSTANT K1206350
7BF6 4C20 7C79 638 | BSC L ATH10,Z BR IF NOT ASTERISK K1206360
7BF8 C101 639 | LD 1 1 NEXT STMNT WORD K1206370
7BF9 906C 640 | S ASK ASTERISK CONSTANT K1206380
7BFA 4C20 7C01 641 | BSC L ATH9,Z BR IF NOT ASTERISK K1206390
642 | * K1206400
643 | * CALL PUT (** OPERATOR) K1206410
644 | * K1206420
7BFC 7102 645 | MDX 1 2 MOVE POINTER BY 2 K1206430
7BFD C069 646 | LD AEXP ** OPERATOR K1206440
7BFE 4400 7B27 647 | BSI L PUT BR TO PUT ON OUTPUT STRING K1206450
7C00 70C2 648 | MDX ATH11 BR TO TAG SWITCH 4 K1206460
7C01 4400 7B3B 649 | ATH9 BSI L MOVE1 BR TO ONE WD TO OUTPUT K1206470
7C03 70BF 650 | MDX ATH11 BR TO TAG SWITCH 4 K1206480
7C04 C008 651 | ATH8 LD PAR PARENTHESIS COUNT K1206490
7C05 4C20 7AB6 652 | BSC L ATERR,Z BR IF NOT ZERO TO SET ERROR K1206500
7C07 4C80 7B98 653 | BSC I ARITH BR TO EXIT FROM ARITH SUBR K1206510
654 | * K1206520
7C09 C005 655 | ATH20 LD SW5 ERROR IF POINTER IS 2-8 K1206521
7C0A 4C18 7AB6 656 | BSC L XY7,+- *OUTSIDE PARAMETER LIST 2-8 K1206522
7C0C 70DC 657 | MDX ATH6 CONTINUE IF NOT 2-8 K1206523
658 | * K1206527
659 | * CONSTANTS AND WORK AREA K1206530
660 | * K1206540
7C0D 0000 661 | PAR DC 0 PARENTHESIS COUNT K1206550
7C0E 0000 662 | SW4 DC 0 SWITCH 4 - SIGN ALLOWABLE K1206560
7C0F 0000 663 | SW5 DC 0 POINTER INSIDE FUNC CALL SW K1206570
7C10 0010 664 | ARPEN DC /10 LEFT PARENTHESIS CONSTANT K1206580
7C11 0000 665 | CALLN DC 0 FUNCTION CALL INDICATOR K1206590
7C12 0000 666 | PARNO DC 0 PARAMETER COUNT K1206600
7C13 0000 667 | ASFN DC 0 ARITH STMNT FUNC INDICATOR K1206610
7C14 0190 668 | S0190 DC /0190 ARITHMETIC STMNT MASK K1206620
7C15 0090 669 | H0090 DC /0090 EXTERNAL STMNT MASK K1206630
670 | * K1206640
671 | * CALL CHECK (C OPERATOR) K1206650
672 | * K1206660
7C16 C051 673 | ATH7 LD ACALL C OPERATOR K1206670
7C17 4400 7B2C 674 | BSI L CHECK CHECK FOR OVERLAP K1206680
7C19 68F5 675 | STX 0 SW5 SET SWITCH 5 ON K1206690
7C1A 7401 7C11 676 | MDX L CALLN,1 CALLN = CALLN +1 K1206700
677 | * K1206710
678 | * CHK FOR LEGAL SUBPROGRAM NAME K1206720
679 | * K1206730
7C1C C046 680 | LD SNAME IS IT REFERENCE TO 2-5 K1206732
7C1D 9400 7A2E 681 | S L FNAME NAME OF THIS PROGRAM 2-5 K1206734
7C1F 4C18 7AB6 682 | BSC L ATERR,+- YES - ERROR 36 2-5 K1206736
7C21 C041 683 | LD SNAME NAME K1206740
7C22 4400 7B15 684 | BSI L GETID GET SYMBOL TABLE ID WORD K1206750
7C24 1008 685 | SLA 8 SUBPROGRAM NAME BIT TO SIGN K1206760
7C25 4C02 7C31 686 | BSC L ATH19,C BR IF STMNT FUNCTION NAME K1206770
7C27 4C28 7C3A 687 | BSC L ATH17,+Z BR IF SUBPROGRAM NAME K1206780
7C29 C300 688 | LD 3 0 SYMBOL TABLE ID WORD K1206790
7C2A E041 689 | AND SBE7F LEGAL SUBPROGRAM NAME MASK K1206800
7C2B 4C20 7AB6 690 | BSC L ATERR,Z BR TO SET UP ERROR K1206810
7C2D C300 691 | ATH15 LD 3 0 SYMBOL TABLE ID WORD K1206820
7C2E E83F 692 | OR S0080 SUBPROGRAM INDICATOR BIT K1206830
7C2F D300 693 | STO 3 0 RESTORE SYMBOL TBL ID WORD K1206840
7C30 7009 694 | MDX ATH17 CONTINUE K1206845
695 | * K1206850
7C31 6780 7AB7 696 | ATH19 LDX I3 IDSV2 IS THIS THE 2-5 K1206852
7C33 7301 697 | MDX 3 1 NAME OF THE 2-5 K1206853
7C34 6B01 698 | STX 3 *+1 STATEMENT 2-5 K1206854
7C35 C400 0000 699 | LD L *-* FUNCTION JUST 2-5 K1206856
7C37 902B 700 | S SNAME BEING LOOKED AT 2-5 K1206857
7C38 4C18 7AB6 701 | BSC L ATERR,+- YES - ERROR 42 2-5 K1206858
702 | * K1206859
703 | * XR2 +2 LESS THAN XR1 K1206860
704 | * K1206870
7C3A 6A2E 705 | ATH17 STX 2 ATEMP INDEX REG 2 TEMPORARY K1206880
7C3B C02D 706 | LD ATEMP XR2 CONTENTS-OUTPUT STRING K1206890
7C3C 8030 707 | A ATWO INCR BY 2 K1206900
7C3D 692B 708 | STX 1 ATEMP INDEX REG 1 TEMPORARY K1206910
7C3E 902A 709 | S ATEMP ADDR OF INPUT STRING K1206920
7C3F 4C10 7B36 710 | BSC L CK1,- BR IF OVERLAP ERROR K1206930
711 | * K1206940
712 | * OPEN STRING 2 WORDS K1206950
713 | * K1206960
7C41 C056 714 | LD ATH14+1 NEXT STMNT ID WORD ADDRESS K1206970
7C42 9026 715 | S ATEMP CURRENT STMNT ADDRESS K1206980
7C43 D001 716 | STO *+1 ADDR NEXT INSTRUCTION K1206990
7C44 6700 0000 717 | LDX L3 *-* RANGE - NO. WDS TO MOVE K1207000
7C46 71FE 718 | MDX 1 -2 DECR CURRENT STMNT ADDRESS K1207010
7C47 6906 719 | STX 1 *+6 NEW CURRENT STMNT ADDRESS K1207020
7C48 C102 720 | LD 1 2 NEXT WORD TO MOVE K1207030
7C49 D100 721 | STO 1 0 OPEN STRING 2 WORDS K1207040
7C4A 7101 722 | MDX 1 1 INCR STMNT MOVE POINTER K1207050
7C4B 73FF 723 | MDX 3 -1 DECR NO. OF WORDS TO MOVE K1207060
7C4C 70FB 724 | MDX *-5 BR TO CONTINUE MOVE K1207070
7C4D 6500 0000 725 | LDX L1 *-* SET UP NEW STMNT POINTER K1207080
726 | * K1207090
727 | * PUT PAR,PARNO AND ASFN IN THE K1207100
728 | * NESTED CALL TABLE K1207110
729 | * K1207120
7C4F 6780 7C98 730 | LDX I3 ATH14+1 ADDR OF NEXT STMNT ID WORD K1207130
7C51 73FE 731 | MDX 3 -2 DECR BY 2 K1207140
7C52 6B45 732 | STX 3 ATH14+1 ADDR NESTED CALL TABLE K1207150
7C53 C0BF 733 | LD ASFN ARITH STMNT FUNC NAME K1207160
7C54 D300 734 | STO 3 0 CALL TABLE K1207170
7C55 C0B7 735 | LD PAR PARENTHESIS COUNT K1207180
7C56 1008 736 | SLA 8 K1207190
7C57 E8BA 737 | OR PARNO K1207200
7C58 D301 738 | STO 3 1 K1207210
7C59 C009 739 | LD SNAME K1207220
7C5A D0B8 740 | STO ASFN K1207230
7C5B 6301 741 | LDX 3 1 K1207240
7C5C 6BB0 742 | STX 3 PAR K1207250
7C5D 6BB4 743 | STX 3 PARNO K1207260
7C5E 4C00 7BAD 744 | BSC L ATH12 K1207270
745 | * K1207280
746 | * CONSTANTS AND WORK AREA K1207290
747 | * K1207300
7C60 0004 748 | APSGN DC /04 + K1207310
7C61 0002 749 | AMSGN DC /06-/04 --+ K1207320
7C62 0020 750 | UMNS DC /20 U- OPERATOR K1207330
7C63 0000 751 | SNAME DC 0 LAST NAME K1207340
7C64 0002 752 | ASLH DC /08-/06 /-- K1207350
7C65 0004 753 | ASTER DC /0C-/08 *-/ K1207360
7C66 000C 754 | ASK DC /0C * K1207370
7C67 000A 755 | AEXP DC /0A ** OPERATOR K1207380
7C68 002E 756 | ACALL DC /2E C OPERATOR K1207390
7C69 0000 757 | ATEMP DC 0 INDEX REGISTERS TEMPORARY K1207400
7C6A 0012 758 | ACOMA DC /12 , K1207410
7C6B FFF0 759 | ARPC DC /02-/12 )-, K1207420
7C6C BA6E 760 | SBE7F DC /BA6E LEGAL SUBPROGRAM ID MASK K1207430
7C6D 0002 761 | ATWO DC 2 DECIMAL TWO CONSTANT K1207440
7C6E 0080 762 | S0080 DC /0080 SUBPROGRAM NAME INDR BIT K1207450
7C6D 763 | CMSGN EQU ATWO , - ( 2-10 K1207451
764 | * K1207460
765 | * TEST SWITCH 5 K1207470
766 | * K1207480
7C6F C09F 767 | ATH5 LD SW5 K1207490
7C70 4C18 7AB6 768 | BSC L ATERR,+- K1207500
7C72 C1FE 769 | LD 1 -2 CHECK IF PRECEDING WD 2-10 K1207501
7C73 909C 770 | S ARPEN *WAS LEFT PAR OR COMMA 2-10 K1207502
7C74 4C18 7C79 771 | BSC L ATH10,+- IF YES GO ON TESTING ON2-10 K1207503
7C76 90F6 772 | S CMSGN *SUCCEDING,IF NO GO TO 2-10 K1207504
7C77 4C20 7AB6 773 | BSC L ATERR,Z *ERROR 2-10 K1207505
774 | * K1207510
775 | * CHK FOR COMMA (1 K1207520
776 | * K1207530
7C79 C100 777 | ATH10 LD 1 0 K1207540
7C7A 90EF 778 | S ACOMA K1207550
7C7B 4C20 7C84 779 | BSC L ATH13,Z K1207560
780 | * K1207570
781 | * TEST SWITCH 5 K1207580
782 | * K1207590
7C7D C091 783 | LD SW5 BR NO POINTER INSIDE K1207600
7C7E 4C18 7C04 784 | BSC L ATH8,+- FUNCTION CALL. K1207610
7C80 7401 7C12 785 | MDX L PARNO,1 INCR PARAMETER COUNT BY 1 K1207620
7C82 4C00 7BAD 786 | BSC L ATH12 BR TO MOVE 1 ELEMENT K1207630
787 | * K1207640
788 | * CHECK FOR RIGHT PARENTHESIS (1 K1207650
789 | * K1207660
7C84 90E6 790 | ATH13 S ARPC RIGHT PARENTHESIS CONSTANT K1207670
7C85 4C20 7AB6 791 | BSC L ATERR,Z BR IF NOT RIGHT PARENTHESIS K1207680
7C87 C085 792 | LD PAR PARENTHESIS COUNT K1207690
7C88 4C18 7C04 793 | BSC L ATH8,+- BR IF ZERO K1207700
7C8A 74FF 7C0D 794 | MDX L PAR,-1 DECR PAR BY 1 IF NOT ZERO K1207710
7C8C 702A 795 | MDX ATH16 BR IF PAR IS NOW ZERO K1207720
7C8D C081 796 | LD SW5 BR IF NO POINTER INSIDE K1207730
7C8E 4C18 7CB7 797 | BSC L ATH16,+- FUNCTION CALL. K1207740
7C90 402A 798 | BSI CKASF BR TO CHK ARITH STMNT FUNC K1207750
7C91 74FF 7C11 799 | MDX L CALLN,-1 CALLN = CALLN -1 K1207760
7C93 7003 800 | MDX ATH14 BR IF CALLN IS NOW ZERO K1207770
7C94 1010 801 | SLA 16 CLEAR ACCUMULATOR K1207780
7C95 D400 7C0F 802 | STO L SW5 NORMALIZE SW5 2-10 K1207790
803 | * K1207800
804 | * GET PAR, PARNO, AND ASFN FROM THE K1207810
805 | * NESTED CALL TABLE. K1207820
806 | * K1207830
7C97 6700 0000 807 | ATH14 LDX L3 *-* ADDR OF NESTED CALL TABLE K1207840
7C99 C300 808 | LD 3 0 FIRST TABLE ELEMENT K1207850
7C9A D400 7C13 809 | STO L ASFN ARITH STMNT FUNC NAME 2-10 K1207860
7C9C C301 810 | LD 3 1 SECOND TABLE ELEMENT K1207870
7C9D 1888 811 | SRT 8 RIGHT JUSTIFY PAR K1207880
7C9E D400 7C0D 812 | STO L PAR PARENTHESIS COUNT K1207890
7CA0 1010 813 | SLA 16 CLEAR ACCUMULATOR K1207900
7CA1 1088 814 | SLT 8 SHIFT IN 8 FROM EXTENSION K1207910
7CA2 D400 7C12 815 | STO L PARNO PARAMETER COUNT K1207920
816 | * K1207930
817 | * CLOSE STRING 2 WORDS K1207940
818 | * K1207950
7CA4 69C4 819 | STX 1 ATEMP INDEX REG 1 TEMPORARY K1207960
7CA5 C0F2 820 | LD ATH14+1 ADDR OF NESTED CALL TABLE K1207970
7CA6 90C2 821 | S ATEMP CURRENT STMNT POINTER K1207980
7CA7 D001 822 | STO *+1 ADDR OF NEXT INSTRUCTION K1207990
7CA8 6700 0000 823 | LDX L3 *-* RANGE OF MOVE TO CLOSE K1208000
7CAA 7102 824 | MDX 1 2 INCR CURRENT POINTER BY 2 K1208010
7CAB 7402 7C98 825 | MDX L ATH14+1,2 INCR ADDR NESTED CALL TABLE K1208020
7CAD 6908 826 | STX 1 ATH18+1 NEW STMNT POINTER K1208030
7CAE 6580 7C98 827 | LDX I1 ATH14+1 XR1 EQUALS MOVE ADDRESS K1208040
7CB0 C1FD 828 | LD 1 -3 MOVE TO CLOSE K1208050
7CB1 D1FF 829 | STO 1 -1 STRING TWO WORDS K1208060
7CB2 71FF 830 | MDX 1 -1 DECR MOVE ADDR K1208070
7CB3 73FF 831 | MDX 3 -1 DECR MOVE COUNTER K1208080
7CB4 70FB 832 | MDX *-5 BR TO CONTINUE MOVE K1208090
7CB5 6500 0000 833 | ATH18 LDX L1 *-* NEW STMNT POINTER K1208100
7CB7 4400 7B3B 834 | ATH16 BSI L MOVE1 BR TO MOVE 1 ELEMENT K1208110
7CB9 4C00 7BE9 835 | BSC L ATH6 BR TO CHK FOR SEMICOLON K1208120
836 | * K1208130
837 | *************************************************** K1208140
838 | * THIS ROUTINE CHECKS THE ASF TABLE TO* K1208150
839 | * INSURE THAT CALLS TO ASF STATEMENTS * K1208160
840 | * HAVE THE CORRECT NO OF PARAMETERS. * K1208170
841 | * THE ENTRY IS A BSI INSTRUCTION TO * K1208180
842 | * THE LABEL CKASF. THE ROUTINE RETURNS* K1208190
843 | * ONLY IF THE MATCH IS CORRECT. * K1208200
844 | *************************************************** K1208210
845 | * K1208220
7CBB 0000 846 | CKASF DC 0 SUBR ENTRY POINT K1208230
7CBC 6700 0001 847 | CKAS LDX L3 1 INITIALIZE INDEX REG 3 K1208240
7CBE 73FE 848 | CKS1 MDX 3 -2 SKIP NEXT IF XR3 NEG OR 0 K1208250
7CBF 7002 849 | MDX *+2 BRANCH IF XR3 POSITIVE K1208260
7CC0 4C80 7CBB 850 | CKS1A BSC I CKASF EXIT FROM CKASF K1208270
7CC2 C700 0000 851 | CKS2 LD L3 *-* PRESTORED ASF TABLE ADDR K1208280
7CC4 9400 7C13 852 | S L ASFN COMPARE NAMES K1208290
7CC6 4C20 7CBE 853 | BSC L CKS1,Z BR IF NOT SAME NAME K1208300
7CC8 C700 0000 854 | CKS3 LD L3 *-* PRESTORED ASR TABLE ADDR K1208310
7CCA 9400 7C12 855 | S L PARNO COMPARE PARAMETER COUNTS K1208320
7CCC 4C20 7AB6 856 | BSC L ATERR,Z BR TO ERROR IF NOT EQUAL K1208330
7CCE 70F1 857 | MDX CKS1A BR TO EXIT IF MATCH K1208340
858 | * K1208350
859 | * CHECK FOR VALID VARIABLE IN K1208360
860 | * ARITHMETIC EXPRESSION K1208370
861 | * K1208380
7CCF 0000 862 | TESTV DC 0 ENTRY POINT K1208390
7CD0 C400 7A30 863 | LD L SORF SUBPROGRAM OR FUNC INDR K1208400
7CD2 4C08 7CDB 864 | BSC L TESTW,+ BR IF NOT FUNCTION K1208410
7CD4 C100 865 | LD 1 0 NEXT STMNT WORD K1208420
7CD5 9400 7A2E 866 | S L FNAME FUNCTION NAME K1208430
7CD7 4C98 7CCF 867 | BSC I TESTV,+- EXIT IF NAME COMPARE K1208440
7CD9 C008 868 | LD SA7DE LEGAL FUNCTION ID MASK K1208450
7CDA 7001 869 | MDX TESTX BR TO MASK SYMBOL TBL ID WD K1208460
7CDB C005 870 | TESTW LD S83DE LEGAL SUBROUTINE ID MASK K1208470
7CDC E300 871 | TESTX AND 3 0 MASK SYMBOL TABLE ID WORD K1208480
7CDD 4C20 7AB6 872 | BSC L XY7,Z BR TO ERROR IF ANY BITS ON K1208490
7CDF 4C80 7CCF 873 | BSC I TESTV EXIT IF LEGAL SUBR OR FUNC K1208500
874 | * K1208510
7CE1 83DE 875 | S83DE DC /83DE SUBROUTINE ID MASK K1208520
7CE2 A7DE 876 | SA7DE DC /A7DE FUNCTION ID MASK K1208530
877 | * K1208540
878 | * CHECK CALL STMNT SYNTAX K1208550
879 | * K1208560
7CE3 907C 880 | XY25 S CCALL CALL ID CONSTANT K1208570
7CE4 4C20 7D6A 881 | BSC L XY28,Z BR IF NOT CALL K1208580
7CE6 6327 882 | LDX 3 39 SET XR3 =39 K1208590
7CE7 6F00 7A9D 883 | STX L3 ERNO SET UP ERROR NUMBER 39 K1208600
7CE9 C100 884 | LD 1 0 IS IT A CALL 2-5 K1208602
7CEA 9400 7A2E 885 | S L FNAME TO THIS SUBPROGRAM 2-5 K1208604
7CEC 4C18 7AB6 886 | BSC L ATERR,+- YES - ERROR 39 2-5 K1208606
7CEE C100 887 | LD 1 0 NEXT STMNT WORD K1208610
7CEF 4400 7B15 888 | BSI L GETID GET SYMBOL K1208620
7CF1 E077 889 | AND SUB1X LEGAL SUBPROGRAM MASK K1208630
7CF2 4C20 7AB6 890 | BSC L ATERR,Z BR TO ERROR IF NOT LEGAL K1208640
7CF4 C300 891 | LD 3 0 SYMBOL TABLE ID WORD K1208650
7CF5 E872 892 | OR SUBPO SET SUBPROG INDR BIT ON K1208660
7CF6 D300 893 | STO 3 0 RESTORE SYMBOL TABLE ID WD K1208670
7CF7 4400 7B47 894 | BSI L NAME CALL NAME K1208680
7CF9 C400 7B71 895 | LD L SW7 DIMENSIONED NAME SWITCH K1208690
7CFB 4C18 7AB6 896 | BSC L ATERR,+- BR IF NOT DIMENSIONED NAME K1208700
7CFD C065 897 | LD RCOP C OPERATOR K1208710
7CFE 4400 7B2C 898 | BSI L CHECK CHECK FOR OVERLAP K1208720
899 | * K1208730
900 | * CH FOR LEFT PARENTHESIS (1 K1208740
901 | * K1208750
7D00 C100 902 | LD 1 0 NEXT STMNT WORD K1208760
7D01 905F 903 | S LPAR LEFT PARENTHESIS CONSTANT K1208770
7D02 4C20 7D40 904 | BSC L XY29,Z BR IF NOT LEFT PARENTHESIS K1208780
7D04 4400 7B3B 905 | XY30 BSI L MOVE1 BR TO MOVE ONE ELEMENT K1208790
906 | * K1208800
907 | * CHECK FOR SUBSCRIPTED ELEMENT K1208810
908 | * K1208820
7D06 690F 909 | STX 1 XY30B+1 SAVE XR1 K1208830
7D07 C101 910 | LD 1 1 NEXT STMNT WORD K1208840
7D08 904E 911 | S LX1 SUBSC CHARACTER LOW LIMIT K1208850
7D09 4C28 7D14 912 | BSC L XY30A,+Z BR IF NOT SUBSCRIPT CHAR K1208860
7D0B 904C 913 | S LX2 SUBSC CHARACTER HIGH LIMIT K1208870
7D0C 4C30 7D14 914 | BSC L XY30A,-Z BR IF NOT SUBSCRIPT CHAR K1208880
7D0E 804A 915 | A LX3 RESTORE SUBSCRIPT VALUE K1208890
7D0F 1001 916 | SLA 1 MPY BY 2 K1208900
7D10 D001 917 | STO *+1 ADDR NEXT INSTRUCTION K1208910
7D11 7500 0000 918 | MDX L1 *-* INCR TO SKIP OVER SUBSC K1208920
7D13 7101 919 | MDX 1 1 AJUST BY ONE MORE K1208930
920 | * K1208940
921 | * CHK FOR COMMA OR RT PARENTHESIS K1208950
922 | * K1208960
7D14 C101 923 | XY30A LD 1 1 NEXT CHAR BEYOND SUBSCRIPT K1208970
7D15 6500 0000 924 | XY30B LDX L1 *-* RESTORE STMNT POINTER K1208980
7D17 9042 925 | S LX4 COMMA CHARACTER CONSTANT K1208990
7D18 4C18 7D1D 926 | BSC L XY30C,+- BR IF COMMA K1209000
7D1A 9040 927 | S LX5 RIGHT PARENTHESIS CONSTANT K1209010
7D1B 4C20 7D30 928 | BSC L XY30D,Z BR IF NOT RIGHT PARENTHESIS K1209020
7D1D 6327 929 | XY30C LDX 3 39 INDEX REG 3 =39 K1209030
7D1E 6F00 7A9D 930 | STX L3 ERNO SET UP ERROR NUMBER 39 K1209040
931 | * K1209050
932 | * CHECK FOR LEGAL VARIABLE K1209060
933 | * K1209070
7D20 C100 934 | LD 1 0 NEXT STMNT WORD K1209080
7D21 4400 7B15 935 | BSI L GETID GET SYMBOL TABLE ID WORD K1209090
7D23 E038 936 | AND LX6 LEGAL VARIABLE ID MASK K1209100
7D24 4C20 7D30 937 | BSC L XY30D,Z BR IF NOT LEGAL VARIABLE K1209110
938 | * K1209120
939 | * CHECK FOR SUBPROGRAM NAME K1209130
940 | * K1209140
7D26 C300 941 | LD 3 0 SYMBOL TABLE ID WORD K1209150
7D27 1008 942 | SLA 8 SUBPROGRAM NAME BIT TO SIGN K1209160
7D28 4C28 7D47 943 | BSC L XY30G,+Z BR IF SUBPROGRAM NAME K1209170
7D2A C300 944 | LD 3 0 SYMBOL TABLE ID WORD K1209180
7D2B E831 945 | OR LX7 REFERENCED INDICATOR BIT ON K1209190
7D2C D300 946 | STO 3 0 RESTORE SYMBOL TABLE ID WD K1209200
947 | * K1209210
948 | * CALL NAME K1209220
949 | * K1209230
7D2D 4400 7B47 950 | XY30F BSI L NAME BR TO CHK NAME DIMENSIONING K1209240
7D2F 7005 951 | MDX XY30E BR TO CHK FOR COMMA K1209250
952 | * K1209260
953 | * SET UP ERROR NUMBER 40 K1209270
954 | * K1209280
7D30 6328 955 | XY30D LDX 3 40 INDEX REG 3 =40 K1209290
7D31 6F00 7A9D 956 | STX L3 ERNO SET UP ERROR NUMBER 40 K1209300
957 | * K1209310
958 | * CALL ARITH EXPRESSION SCAN K1209320
959 | * K1209330
7D33 4400 7B98 960 | BSI L ARITH BR TO ARITH SCAN SUBROUTINE K1209340
961 | * K1209350
962 | * CHECK FOR COMMA (1 K1209360
963 | * K1209370
7D35 C100 964 | XY30E LD 1 0 NEXT STMNT WORD K1209380
7D36 902B 965 | S CMAS COMMA CHAR CONSTANT K1209390
7D37 4C18 7D04 966 | BSC L XY30,+- BR IF COMMA FOUND K1209400
7D39 902A 967 | S RPAR RIGHT PARENTHESIS (1 K1209410
7D3A 4C20 7AB6 968 | BSC L XY7,Z BR IF NOT RT PARENTHESIS K1209420
7D3C 4400 7B3B 969 | BSI L MOVE1 BR TO MOVE ONE ELEMENT K1209430
7D3E 4C00 7AA1 970 | XY31 BSC L XY13 BR TO CHECK FOR SEMICOLON K1209440
7D40 C100 971 | XY29 LD 1 0 NEXT STMNT WORD K1209450
7D41 4C20 7AB6 972 | BSC L XY7,Z BR TO ERR IF NOT SEMICOLON K1209460
7D43 C021 973 | LD RFAC FLOATING ACC INDICATOR K1209470
7D44 4400 7B2C 974 | BSI L CHECK OUTPUT AND CHK FOR OVERLAP K1209480
7D46 70F7 975 | MDX XY31 BR TO CHK FOR SEMICOLON K1209490
976 | * K1209500
7D47 1003 977 | XY30G SLA 3 TEST IF EXTERNAL K1209510
7D48 4828 978 | BSC +Z SKIP IF NOT 2-5 K1209520
7D49 70E3 979 | MDX XY30F CONTINUE K1209530
980 | * K1209531
7D4A C400 7A30 981 | LD L SORF IS IT FUNCTION SUBPROGR 2-5 K1209532
7D4C 4C08 7AB6 982 | BSC L ATERR,+ ERROR IF NOT 2-5 K1209533
7D4E C100 983 | LD 1 0 LOAD STATEMENT WORD 2-5 K1209534
7D4F 9400 7A2E 984 | S L FNAME IS IT FUNCTION NAME 2-5 K1209535
7D51 4C20 7AB6 985 | BSC L ATERR,Z ERROR IF NOT 2-5 K1209536
7D53 C300 986 | LD 3 0 SET THE REFERENCED 2-5 K1209537
7D54 E808 987 | OR LX7 *INDICATOR BIT IN THE 2-5 K1209538
7D55 D300 988 | STO 3 0 *SYMBOL TABLE ID WORD 2-5 K1209539
7D56 70D6 989 | MDX XY30F CONTINUE 2-5 K1209540
990 | * K1209541
991 | * CONSTANTS AND WORK AREA K1209550
992 | * K1209560
7D57 0018 993 | LX1 DC /18 SUBSC CHAR LOW LIMIT CON K1209570
7D58 0006 994 | LX2 DC /1E-/18 SUBSC CHAR HIGH LIMIT CON K1209580
7D59 0007 995 | LX3 DC 7 RESTORE SUBSC VALUE CON K1209590
7D5A 0012 996 | LX4 DC /12 COMMA CHAR CONSTANT K1209600
7D5B FFF0 997 | LX5 DC /02-/12 RIGHT PARENTHESIS CONSTANT K1209610
7D5C 834E 998 | LX6 DC /834E LEGAL VARIABLE MASK K1209620
7D5D 0020 999 | LX7 DC /0020 REFERENCED STMNT NO. INDR K1209630
7D5E BEFE 1000 | LX8 DC /BEFE LEGAL ASF MASK 2-7 K1209640
7D5F 0100 1001 | LX9 DC /0100 ARITH STMNT FUNC INDR BIT K1209650
7D60 FFF7 1002 | CCALL DC /06-/0F CALL ID K1209660
7D61 0010 1003 | LPAR DC /10 LEFT PARENTHESIS CONSTANT K1209670
7D62 0012 1004 | CMAS DC /12 COMMA CHAR CONSTANT K1209680
7D63 002E 1005 | RCOP DC /2E CALL OPERATOR K1209690
7D64 FFF0 1006 | RPAR DC /02-/12 RIGHT PARENTHESIS CONSTANT K1209700
7D65 8000 1007 | RFAC DC /8000 FLOATING ACC INDR CONSTANT K1209710
7D66 0014 1008 | ASFID DC /1A-/06 ASF ID K1209720
7D67 002C 1009 | RASF DC /2C ASF OPERATOR K1209730
7D68 0080 1010 | SUBPO DC /0080 SUBPROGRAM INDR BIT K1209740
7D69 BB6E 1011 | SUB1X DC /BB6E LEGAL SUBPROGRAM MASK K1209750
1012 | * K1209760
1013 | * CHK FOR ARITH STMNT FUNCTION K1209770
1014 | * K1209780
7D6A 90FB 1015 | XY28 S ASFID ARITH STMNT FUNC ID K1209790
7D6B 4C20 7DC7 1016 | BSC L XY26,Z BR IF NOT ARITH STMNT FUNC K1209800
7D6D 6329 1017 | LDX 3 41 INDEX REG 3 =41 K1209810
7D6E 6F00 7A9D 1018 | STX L3 ERNO SET UP ERROR NUMBER 43 K1209820
1019 | * K1209830
1020 | * CHK FOR VALID ARITH STMNT FUNC NAME K1209840
1021 | * K1209850
7D70 C100 1022 | LD 1 0 NEXT STMNT WORD K1209860
7D71 4400 7B15 1023 | BSI L GETID GET SYMBOL TABLE ID WORD K1209870
7D73 E0EA 1024 | AND LX8 VALID ASF NAME MASK K1209880
7D74 4C20 7AB6 1025 | BSC L XY7,Z BR IF NOT VALID TO SET ERR K1209890
7D76 C300 1026 | LD 3 0 SYMBOL TABLE ID WORD K1209900
7D77 E8E7 1027 | OR LX9 SET STMNT FUNC NAME BIT ON K1209910
7D78 D300 1028 | STO 3 0 RESTORE SYMBOL TABLE ID WD K1209920
7D79 4400 7B3B 1029 | BSI L MOVE1 BR TO MOVE ON ELEMENT K1209930
1030 | * K1209940
1031 | * OPEN STRING 2 WDS IF REQUIRED K1209950
1032 | * K1209960
7D7B 7202 1033 | MDX 2 2 INCR OUTPUT STRING ADDRESS K1209970
7D7C 6A1C 1034 | STX 2 XQ1 INDEX REG 2 TO TEMPORARY K1209980
7D7D C01B 1035 | LD XQ1 OUTPUT STRING ADDRESS K1209990
7D7E 691C 1036 | STX 1 XQ2 INDEX REG 1 TO TEMPORARY K1210000
7D7F 901B 1037 | S XQ2 INPUT STRING ADDRESS K1210010
7D80 4C10 7B36 1038 | BSC L CK1,- BR IF OVERLAP ERROR K1210020
7D82 C016 1039 | LD XQ1 CURRENT OUTPUT STRING PT K1210030
7D83 9400 7A24 1040 | S L SOFS START OF STRING ADDRESS K1210040
7D85 D001 1041 | STO *+1 ADDR NEXT INSTRUCTION K1210050
7D86 6700 0000 1042 | LDX L3 *-* RANGE OF MOVE TO OPEN K1210060
7D88 73FE 1043 | MDX 3 -2 NO. OF WORDS TO MOVE K1210070
7D89 C2FD 1044 | LD 2 -3 NEXT WORD TO MOVE TO OPEN K1210080
7D8A D2FF 1045 | STO 2 -1 OPEN STRING 2 WORDS K1210090
7D8B 72FF 1046 | MDX 2 -1 DECR MOVE ADDRESS K1210100
7D8C 73FF 1047 | MDX 3 -1 DECR MOVE WORD COUNT K1210110
7D8D 70FB 1048 | MDX *-5 BR TO CONTINUE MOVE K1210120
7D8E 6680 7A24 1049 | LDX I2 SOFS NEW START OF STRING ADDRESS K1210130
7D90 7402 7AB7 1050 | MDX L IDSV2,2 INCR STMNT WORD COUNT BY 2 K1210140
1051 | * K1210150
1052 | * PUT NAME AND ZERO IN ARITH STMNT K1210160
1053 | * FUNCTION TABLE. K1210170
1054 | * K1210180
7D92 C1FF 1055 | LD 1 -1 ASF NAME K1210190
7D93 D200 1056 | STO 2 0 ASF FUNCTION TABLE K1210200
7D94 1010 1057 | SLA 16 CLEAR ACCUMULATOR K1210210
7D95 D201 1058 | STO 2 1 STORE ZERO IN ASF TABLE K1210220
7D96 7402 7CBD 1059 | MDX L CKAS+1,2 INCR ASF TABLE POINTER BY 2 K1210230
7D98 6600 0000 1060 | LDX L2 *-* RESTORE OUTPUT STRING PT K1210240
7D99 1061 | XQ1 EQU *-1 ADDR FOR LAST INSTRUCTION K1210250
7D9A 6500 0000 1062 | LDX L1 *-* RESTORE INPUT STRING PT K1210260
7D9B 1063 | XQ2 EQU *-1 ADDR FOR LAST INSTRUCTION K1210270
1064 | * K1210280
1065 | * CALL CHECK (ASF OPERATOR) K1210290
7D9C C0CA 1066 | LD RASF ASF OPERATOR K1210300
7D9D 4400 7B2C 1067 | BSI L CHECK OUTPUT AND CHK FOR OVERLAP K1210310
7D9F C100 1068 | LD 1 0 NEXT STMNT WORD K1210320
7DA0 90C0 1069 | S LPAR LEFT PARENTHESIS CONSTANT K1210330
7DA1 4C20 7AB6 1070 | BSC L XY7,Z BR IF NOT LEFT PARENTHESIS K1210340
7DA3 4400 7B3B 1071 | XY32 BSI L MOVE1 BR TO OUPUT ONE ELEMENT K1210350
1072 | * K1210360
1073 | * CHK FOR VALID DUMMY ARGUMENT K1210370
1074 | * K1210380
7DA5 C100 1075 | LD 1 0 NEXT STMNT WORD K1210390
7DA6 4400 7B15 1076 | BSI L GETID BR TO GET SYMBOL TABLE ID W K1210400
7DA8 4C28 7AB6 1077 | BSC L XY7,+Z BR TO ERROR IF MINUS K1210410
7DAA 4400 7B3B 1078 | BSI L MOVE1 BR TO OUTPUT ONE ELEMENT K1210420
7DAC 7401 0000 1079 | XY33 MDX L *-*,1 COUNT ASF ARGUMENTS K1210430
7DAE C100 1080 | LD 1 0 NEXT STMNT WORD K1210440
7DAF 90B2 1081 | S CMAS COMMA CHAR CONSTANT K1210450
7DB0 4C18 7DA3 1082 | BSC L XY32,+- BR IF COMMA FOUND K1210460
7DB2 90B1 1083 | S RPAR RIGHT PARENTHESIS CONSTANT K1210470
7DB3 4C20 7AB6 1084 | BSC L XY7,Z BR TO ERR IF NOT RT PAREN K1210480
7DB5 4400 7B3B 1085 | BSI L MOVE1 BR TO OUTPUT ONE ELEMENT K1210490
7DB7 C100 1086 | LD 1 0 NEXT STMNT WORD K1210500
7DB8 9400 7B0E 1087 | S L EQSGN EQUAL SIGN CHAR CONSTANT K1210510
7DBA 4C20 7AB6 1088 | BSC L XY7,Z BR TO ERR IF NO EQUAL SIGN K1210520
7DBC 632A 1089 | LDX 3 42 INDEX REG 3 =42 K1210530
7DBD 6F00 7A9D 1090 | STX L3 ERNO SET UP ERROR NUMBER 42 K1210540
7DBF 4C00 7AE0 1091 | BSC L XY5A BR TO CHK FOR EQUAL SIGN K1210550
1092 | * K1210560
1093 | * CONSTANTS FOR DISK READ/WRITE SCAN K1210570
1094 | * K1210580
7DC1 FFF8 1095 | REDID DC /12-/1A READ ID K1210590
7DC2 FFFF 1096 | WRTID DC /11-/12 WRITE ID K1210600
7DC3 000C 1097 | FNDID DC /1D-/11 FIND ID K1210610
7DC4 0040 1098 | APOST DC /42-/02 APOSTRAPHE K1210620
7DC5 0002 1099 | RPARN DC /02 RIGHT PARENTHESIS K1210630
7DC6 0032 1100 | COLON DC /32 COLON OPERATOR K1210640
1101 | * K1210650
1102 | * SEEK READ/WRITE OPERATOR K1210660
1103 | * K1210670
7DC7 90F9 1104 | XY26 S REDID READ ID CONSTANT K1210680
7DC8 4820 1105 | BSC Z SKIP IF READ K1210690
7DC9 90F8 1106 | S WRTID WRITE ID CONSTANT K1210700
7DCA 4820 1107 | BSC Z SKIP IF FIND K1210710
7DCB 90F7 1108 | S FNDID FIND ID CONSTANT K1210720
7DCC 4C20 7DEB 1109 | BSC L XY27,Z BRANCH UNLESS READ OR WRITE K1210730
1110 | * K1210740
1111 | * TEST FOR SIDK READ/WRITE K1210750
1112 | * K1210760
7DCE 6349 1113 | LDX 3 73 ERROR NUMBER K1210770
7DCF 6F00 7A9D 1114 | STX L3 ERNO SET ERROR NO JUST IN CASE K1210780
7DD1 4400 7B3B 1115 | MOVCH BSI L MOVE1 MOVE ONE CHAR K1210790
7DD3 C1FF 1116 | LD 1 -1 GET CHARACTER JUST MOVED K1210800
1117 | * K1210810
1118 | * CHECK FOR APOSTROPHE K1210820
1119 | * K1210830
7DD4 4C18 7AC8 1120 | BSC L XY22,+- BRANCH IF SEMICOLON K1210840
7DD6 90EE 1121 | S RPARN TEST FOR RIGHT PAREN K1210850
7DD7 4C18 7DE4 1122 | BSC L MVRST,+- BRANCH IF NOT DISK R/W K1210860
7DD9 90EA 1123 | S APOST APOSTROPHE CHAR CONSTANT K1210870
7DDA 4820 1124 | BSC Z SKIP ON APOSTRAPHE K1210880
7DDB 70F5 1125 | MDX MOVCH BR TO MOVE ONE CHARACTER K1210890
1126 | * K1210900
1127 | * GO SCAN FOR SECTOR ADDR K1210910
1128 | * K1210920
7DDC 4400 7B98 1129 | BSI L ARITH GO TO SCAN ARITH EXPRESSION K1210930
7DDE C100 1130 | LD 1 0 REQUIRE RIGHT PAREN K1210940
7DDF 90E5 1131 | S RPARN AS TERMINATOR K1210950
7DE0 4C20 7AB6 1132 | BSC L XY7,Z BRANCH TO ERROR IF NOT K1210960
1133 | * K1210970
1134 | * PUT COLON OVER THE RIGHT PARENTHESIS K1210980
1135 | * K1210990
7DE2 C0E3 1136 | LD COLON COLON OPERATOR K1211000
7DE3 D100 1137 | STO 1 0 PUT OVER RIGHT PARENTHESIS K1211010
1138 | * K1211020
1139 | * MOVE REST OF STMNT K1211030
1140 | * K1211040
7DE4 4400 7B3B 1141 | MVRST BSI L MOVE1 MOVE REST OF STATEMENT K1211050
7DE6 C1FF 1142 | LD 1 -1 STOP WHEN SEMICOLON K1211060
7DE7 4C20 7DE4 1143 | BSC L MVRST,Z FOUND. K1211070
7DE9 4C00 7AA6 1144 | BSC L CRCTN GO CORRECT NORM K1211080
1145 | * K1211090
1146 | * MOVE STATEMENT K1211100
1147 | * K1211110
7DEB 6700 0000 1148 | XY27 LDX L3 *-* RANGE OF STMNT MOVE K1211120
7DED 73FF 1149 | MDX 3 -1 NO. OF WORDS TO MOVE K1211130
7DEE 7001 1150 | MDX *+1 BR IF RANGE NOT ZERO K1211140
7DEF 7004 1151 | MDX XY27A BR TO GO NEXT STMNT K1211150
7DF0 4400 7B3B 1152 | BSI L MOVE1 GO TO MOVE ONE ELEMENT K1211160
7DF2 73FF 1153 | MDX 3 -1 DECR MOVE COUNTER K1211170
7DF3 70FA 1154 | MDX XY27+3 BR TO MOVE NEXT WORD K1211180
7DF4 4C00 7AC8 1155 | XY27A BSC L XY22 K1211190
1156 | * K1211200
1157 | * END OF ASCAN PHASE K1211210
1158 | * NO PATCH AREA LEFT IN THIS PHASE 2-10 K1211215
7DF6 1159 | END BPHAR-2 K1211225
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
$PHSE 0078 82 140
ACALL 7C68 756 673
ACOMA 7C6A 758 778
AEXP 7C67 755 646
AMSGN 7C61 749 595 633
APOST 7DC4 1098 1123
APSGN 7C60 748 593 631
ARITH 7B98 568 310 330 653 960 1129
ARPC 7C6B 759 790
ARPEN 7C10 664 581 617 770
ASFID 7D66 1008 1015
ASFN 7C13 667 574 733 740 809 852
ASK 7C66 754 640
ASLH 7C64 752 635
ASTER 7C65 753 637
ATEMP 7C69 757 705 706 708 709 715 819 821
ATERR 7AB6 269 591 596 652 682 690 701 768 773 791 856 886 890
896 982 985
ATH1 7BC5 605 580
ATH10 7C79 777 638 771
ATH11 7BC3 603 648 650
ATH12 7BAD 586 744 786
ATH13 7C84 790 779
ATH14 7C97 807 578 714 730 732 800 820 825 827
ATH15 7C2D 691
ATH16 7CB7 834 795 797
ATH17 7C3A 705 687 694
ATH18 7CB5 833 826
ATH19 7C31 696 686
ATH2 7BB2 590 582
ATH20 7C09 655 623
ATH21 7BE7 628
ATH3 7BA5 579 589 604
ATH4 7BC2 602 594
ATH5 7C6F 767 608
ATH6 7BE9 629 610 615 621 657 835
ATH7 7C16 673 618
ATH8 7C04 651 630 784 793
ATH9 7C01 649 632 634 636 641
ATWO 7C6D 761 707 763
BPHAR 7A36 132 1159
CALLN 7C11 665 573 676 799
CCALL 7D60 1002 880
CCWD 7A31 102
CHECK 7B2C 407 320 344 417 674 898 974 1067
CK1 7B36 418 416 710 1038
CKAS 7CBC 847 212 217 1059
CKASF 7CBB 846 798 850
CKS1 7CBE 848 853
CKS1A 7CC0 850 857
CKS2 7CC2 851 178
CKS3 7CC8 854 182
CKTEM 7B3A 423 412 413 414 415
CMAS 7D62 1004 965 1081
CMSGN 7C6D 763 772
CNT 7B94 548 346 515 525 542
COLON 7DC6 1100 1136
COMON 7A2B 96
CRCTN 7AA6 249 1144
CSIZE 7A2C 97
DFCNT 7A33 122
EOFS 7A25 90 158 163 215 221 231
EOFST 7A2A 95 164
EQSGN 7B0E 354 307 1087
ERID 7AB5 264 275 279
ERNO 7A9D 239 281 293 318 329 332 537 883 930 956 1018 1090 1114
ERROR 7A2D 98 144 418
FIVE 7B0F 355 272 274 347
FNAME 7A2E 99 626 681 866 885 984
FNDID 7DC3 1097 1108
GETID 7B15 369 295 381 461 520 684 888 935 1023 1076
H0090 7C15 669 622
IDSV1 7A79 205 194
IDSV2 7AB7 270 193 249 254 257 696 1050
IFOP 7B11 357 319
IOCS 7A32 112
LCMA 7B95 549 530
LIST 7B78 513 345 541
LIST2 7B8A 536 523
LIST3 7B7B 519 544
LIST4 7B8F 542 531
LIST5 7B8D 541 532
LPAR 7D61 1003 903 1069
LX1 7D57 993 911
LX2 7D58 994 913
LX3 7D59 995 915
LX4 7D5A 996 925
LX5 7D5B 997 927
LX6 7D5C 998 936
LX7 7D5D 999 945 987
LX8 7D5E 1000 1024
LX9 7D5F 1001 1027
MEMRY 8000 79 80 81
MOVCH 7DD1 1115 1125
MOVE1 7B3B 432 195 199 309 327 339 436 445 524 543 586 649 834
905 969 1029 1071 1078 1085 1115 1141 1152
MV1 7A90 224 229
MVRST 7DE4 1141 1122 1143
NAME 7B47 458 300 469 606 894 950
NAME1 7B55 473 464
NAME2 7B5F 482 478
NAME3 7B51 467 481
NAME4 7B5D 480 485 489 493
NAME5 7B64 486 483
NAME6 7B69 490 487
NAME7 7B6E 494 491
NAME8 7B53 469 495
NP0 7B76 505 490
NP1 7B75 504 486
NP2 7B74 503 482
NP3 7B73 502 477
NXTID 7AC9 285 192 577
NXTPH 7A42 153 135 149 150
ORG 7A23 88
ORGA1 7A50 165 170
ORGIN 7A46 158 145
OUT 7B41 444 447 448 480
OVERF 7A3C 149 232 419
OVERL 7A23 80 84
PAR 7C0D 661 570 585 651 735 742 792 794 812
PARNO 7C12 666 576 737 743 785 815 855
PHID 002A 85 139
PHLEN 0003 83
PUT 7B27 394 248 397 408 434 460 601 647
RASF 7D67 1009 1066
RCOP 7D63 1005 897
REDID 7DC1 1095 1104
RFAC 7D65 1007 973
ROL 7FBC 81 151
RPAR 7D64 1006 967 1083
RPARN 7DC5 1099 1121 1131
S0001 7A9E 240 197
S0020 7AA0 242 298
S0080 7C6E 762 692
S0190 7C14 668 620
S0200 7B97 551 522
S07FF 7A9B 237 187
S1800 7B72 501 463
S83DE 7CE1 875 870
SA7DE 7CE2 876 868
SBE7F 7C6C 760 689
SF802 7A9F 241 250
SFFDF 7B96 550 521
SNAME 7C63 751 605 627 680 683 700 739
SO1FF 7B26 385 371
SOFGT 7A29 94
SOFNS 7A27 92
SOFS 7A24 89 159 176 216 220 1040 1049
SOFST 7A26 91 376
SOFXT 7A28 93
SORF 7A30 101 624 863 981
START 7A36 139
SUB1X 7D69 1011 889
SUBPO 7D68 1010 892
SVID 7B77 506 462 614 619
SW1 7B70 499 301 468 494 607
SW4 7C0E 662 571 588 590 603
SW5 7C0F 663 572 655 675 767 783 796 802
SW7 7B71 500 466 474 609 895
TARTH 7B0D 353 290
TEND 7A9C 238 207
TESTV 7CCF 862 296 867 873
TESTW 7CDB 870 864
TESTX 7CDC 871 869
TIF 7B10 356 315
UCMA 7B14 360 343
ULP 7B12 358 325
UMNS 7C62 750 600
URP 7B13 359 337
WRTID 7DC2 1096 1106
XQ1 7D99 1061 1034 1035 1039
XQ2 7D9B 1063 1036 1037
XT1 7A9A 236 190 191
XT3 7AB3 262 252 253
XT4 7AB4 263 251 256
XY1 7A62 186 286
XY11 7AA4 248
XY13 7AA1 246 311 349 970
XY2 7A78 204 198 205
XY22 7AC8 284 258 285 1120 1155
XY23 7AE9 315 291
XY25 7CE3 880 316
XY26 7DC7 1104 1016
XY27 7DEB 1148 189 200 1109 1154
XY27A 7DF4 1155 1151
XY28 7D6A 1015 881
XY29 7D40 971 904
XY30 7D04 905 966
XY30A 7D14 923 912 914
XY30B 7D15 924 909
XY30C 7D1D 929 926
XY30D 7D30 955 928 937
XY30E 7D35 964 951
XY30F 7D2D 950 979 989
XY30G 7D47 977 943
XY31 7D3E 970 975
XY32 7DA3 1071 1082
XY33 7DAC 1079 180
XY34 7A96 230 214
XY5 7ACC 290 208
XY5A 7AE0 306 1091
XY7 7AB6 268 247 269 270 302 308 326 338 348 370 625 628 656
872 968 972 1025 1070 1077 1084 1088 1132