ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:06 2020
Source File: \kforph10.asm
1130 FORTRAN COMPILER PHASE 10
2 | *************************************************** K1000020
3 | * * K1000030
4 | *STATUS - VERSION 2 MODIFICATION 8 * K1000040
5 | * * K1000050
6 | *FUNCTION/OPERATION- * K1000060
7 | * * CONVERTS FORMAT STATEMENTS INTO A CHAIN OF * K1000070
8 | * FORMAT SPECIFICATIONS FOR INTERPERTATION BY * K1000080
9 | * THE FORTRAN I/O SUBROUTINE. * K1000090
10 | * * CHECKS THAT ALL FORMAT STATEMENTS HAVE A * K1000100
11 | * STATEMENT NUMBER. * K1000110
12 | * * CHECKS FORMAT STATEMENTS FOR SYNTAX AND * K1000120
13 | * VALID STATEMENT TYPES. * K1000130
14 | * * CONVERTS QUOTE TYPE FORMAT TO H TYPE. * K1000140
15 | * * K1000150
16 | *ENTRY POINTS * K1000160
17 | * * START-ENTERED BY ROL SUBPROGRAM FR PREV PHS * K1000170
18 | * * K1000180
19 | *INPUT- * K1000190
20 | * * STRING AREA * K1000200
21 | * * SYMBOL TABLE AREA * K1000210
22 | * * FCOM * K1000220
23 | * * K1000230
24 | *OUTPUT- * K1000240
25 | * * STRING AREA * K1000250
26 | * * SYMBOL TABLE AREA * K1000260
27 | * * FCOM * K1000270
28 | * * K1000280
29 | *EXTERNAL REFERENCES * K1000290
30 | * SUBROUTINES- * K1000300
31 | * * ROL * K1000310
32 | * COMMA/DCOM- * K1000320
33 | * * $PHSE * K1000330
34 | * * K1000340
35 | *EXITS- * K1000350
36 | * NORMAL-A CALL TO ROL LOADS IN THE NEXT PHASE * K1000360
37 | * ERROR- * K1000370
38 | * * OVERLAP ERROR CAUSES PHASE TO STOP * K1000380
39 | * PROCESSING AND AN EXIT TO THE NEXT PHASE * K1000390
40 | * * COMPILATION ERRORS DETECTED BY THIS PHASE* K1000400
41 | * ARE 27, 28, 29, 30 * K1000410
42 | * * K1000420
43 | *TABLES/WORK AREAS- * K1000430
44 | * * FCOM * K1000440
45 | * * SYMBOL TABLE * K1000450
46 | * * STRING AREA * K1000460
47 | * * K1000470
48 | *ATTRIBUTES-N/A * K1000480
49 | * * K1000490
50 | *NOTES- * K1000500
51 | * THE SWITCHES USED IN THIS PHASE FOLLOW * K1000510
52 | * IF NON-ZERO, THE SWITCH IS TRANSFER =T. * K1000520
53 | * IF ZERO, THE SWITCH IS NORMAL = N. * K1000530
54 | * SW1-BEGINNING OF SPECIFICATION * K1000540
55 | * N=BEGINNING OF SPECIFICATION * K1000550
56 | * SW2-I TYPE SPECIFICATION * K1000560
57 | * T=I TYPE SPECIFICATION * K1000570
58 | * SW3-SECOND NUMBER OF SPECIFICATION * K1000580
59 | * T=SECOND NUMBER OF SPECIFICATION * K1000590
60 | * SW4-LEFT/RIGHT SW FOR INPUT DATA (GET SUBR)* K1000600
61 | * N=LEFT * K1000610
62 | * SW5-END OF STMNT SW (GET SUBR) * K1000620
63 | * T=END OF STATEMENT * K1000630
64 | * SW6-COMMA ALLOWABLE * K1000640
65 | * N=COMMA ALLOWABLE * K1000650
66 | * SW7-LEFT/RIGHT SW FOR HOLL O/P SPEC * K1000660
67 | * N=LEFT * K1000670
68 | * SW8-COMMA MANDATORY * K1000680
69 | * T=COMMA NOT MANDATORY * K1000690
70 | * SW9-REDO OUTPUT * K1000700
71 | * T=OK TO PUT OUT REDO COUNT * K1000710
72 | * SW11-H OR QUOTE TYPE SPECIFICATION * K1000720
73 | * T=H OR QUOTE TYPE SPECIFICATION * K1000730
74 | * SW12-QUOTE TYPE SPECIFICATION * K1000740
75 | * T=QUOTE TYPE SPECIFICATION * K1000750
76 | * SW15-DIGIT ENCOUNTERED * K1000760
77 | * T=DIGIT ENCOUNTERED * K1000770
78 | * SW16-INCOMPLETE SPECIFICATION * K1000780
79 | * T=INCOMPLETE SPECIFICATION * K1000790
80 | * * K1000800
81 | *************************************************** K1000810
1130 FORTRAN COMPILER PHASE 10
83 | ABS K1000830
84 | * K1000840
85 | * SYSTEM EQUATES K1000850
8000 86 | MEMRY EQU /8000 K1000860
7A23 87 | OVERL EQU MEMRY-1501 START OF FCOM 2-4 K1000870
7FBC 88 | ROL EQU MEMRY-68 LOCN OF RTN TO READ NXT PH K1000880
0078 89 | $PHSE EQU /78 NO. OF PHASE NOW IN CORE K1000890
7A23 90 | ORG OVERL K1000900
0028 91 | PHID EQU 40 ID NUMBER THIS PHASE K1000910
0003 92 | PHLEN EQU 3 NO. SECTORS THIS PHASE K1000915
93 | * K1000920
94 | * FORTRAN COMMUNICATION AREA K1000930
7A23 95 | ORG BSS 1 ORIGIN ADDRESS 2-4 K1000935
7A24 96 | SOFS BSS 1 START OF STRING K1000940
7A25 97 | EOFS BSS 1 END OF STRING K1000950
7A26 98 | SOFST BSS 1 START OF SYMBOL TABLE K1000960
7A27 99 | SOFNS BSS 1 START OF NON-STATEMENT NUMBERS K1000970
7A28 100 | SOFXT BSS 1 START OF SUBSCRIPT TEMPORARIES K1000980
7A29 101 | SOFGT BSS 1 START OF GENERATED TEMPORARIES K1000990
7A2A 102 | EOFST BSS 1 END OF SYMBOL TABLE K1001000
7A2B 103 | COMON BSS 1 NEXT AVAILABLE COMMON K1001010
7A2C 104 | CSIZE BSS 1 SIZE OF COMMON K1001020
7A2D 105 | ERROR BSS 1 OVERLAP ERROR K1001030
7A2E 106 | FNAME BSS 1 PROGRAM NAME K1001040
7A2F 107 | BSS 1 K1001050
7A30 108 | SORF BSS 1 SUBROUTINE(-) OR FUNCTION(+) K1001060
7A31 109 | CCWD BSS 1 CONTROL CARD WORD K1001070
110 | * BIT 15 TRANSFER TRACE K1001080
111 | * BIT 14 ARITHMETIC TRACE K1001090
112 | * BIT 13 EXTENDED PRECISION K1001100
113 | * BIT 12 LIST SYMBOL TABLE K1001110
114 | * BIT 11 LIST SUBPROGRAM NAMES K1001120
115 | * BIT 10 LIST SOURCE PROGRAM K1001130
116 | * BIT 9 ONE WORD INTEGERS K1001140
117 | * BIT 8 ORIGIN 2-4 K1001145
7A32 118 | IOCS BSS 1 IOCS CONTROL CARD WORD K1001150
119 | * BIT 15 CARD K1001160
120 | * BIT 14 PAPER TAPE K1001170
121 | * BIT 13 TYPEWRITER K1001180
122 | * BIT 12 1403 PRINTER K1001190
123 | * BIT 11 2501 READER K1001200
124 | * BIT 10 KEYBOARD K1001210
125 | * BIT 9 1442 PUNCH K1001220
126 | * BIT 8 DISK K1001230
127 | * BIT 7 1132 PRINTER K1001240
128 | * BIT 3 PLOTTER K1001250
129 | * BIT 1 UNFORMATTED DISK K1001260
7A33 130 | DFCNT BSS 1 K1001270
131 | * K1001280
132 | * K1001290
133 | * END OF FORTRAN COMMUNICATION K1001300
134 | * AREA K1001310
135 | *************************************************** K1001320
1130 FORTRAN COMPILER PHASE 10
137 | * K1001340
7A36 138 | BPHAR EQU *+2 K1001350
7A34 0000 139 | DC 0 LOADER WORK AREA K1001360
7A35 FFD8 140 | DC -40 PHASE ID FOR SLET LOOKUP K1001370
7A36 000C 141 | DC NXTPH-*+1 TABLE FOR NEXT PHASE ENTRY K1001380
7A37 0001 142 | DC 1 ONE ENTRY TO BE SET BY LDR K1001390
7A36 143 | ORG *-2 K1001400
144 | * K1001410
7A36 6128 145 | START LDX 1 PHID GET ID THIS PHASE K1001420
7A37 6D00 0078 146 | STX L1 $PHSE SAVE IN SYSTEM PHASE AREA K1001430
147 | * OVERLAP ERROR ON K1001440
148 | * K1001450
7A39 C0F3 149 | LD ERROR LD OVERLAP ERROR FLAG K1001460
7A3A 4C18 7A46 150 | BSC L LXQ,+- BR IF NO ERROR K1001470
151 | * K1001480
152 | * K1001490
7A3C 6580 7A43 153 | OUT LDX I1 NXTPH+1 LOAD PARAM FOR READING K1001500
7A3E C805 154 | LDD NXTPH+2 *NEXT PHASE K1001510
7A3F 4C00 7FBC 155 | BSC L ROL GO TO READ NEXT PHASE K1001520
7A42 156 | BSS E 0 K1001530
7A42 0029 157 | NXTPH DC 41 ID OF NEXT PHASE K1001540
7A43 158 | BSS 3 LOADER TABLE FOR NXT PHS K1001550
159 | * K1001560
160 | * MOVE STRING TO SYMBOL TABLE K1001570
7A46 6680 7A2A 161 | LXQ LDX I2 EOFST GET POINTER TO O/P STRING K1001580
7A48 6580 7A25 162 | LDX I1 EOFS GET POINTER TO I/P STRING K1001590
7A4A C0DA 163 | LD EOFS COMPUTE NUMBER OF WORDS IN K1001600
7A4B 90D8 164 | S SOFS *THE STRING-1 K1001610
7A4C D001 165 | STO XX+1 SAVE STRING LENGTH-1 K1001620
7A4D 6700 0000 166 | XX LDX L3 0 PUT STRING LENGTH-1 IN XR3 K1001630
7A4F 7301 167 | MDX 3 1 INCR STRING LENGTH-1 BY 1 K1001640
7A50 C100 168 | LOOPP LD 1 0 LD WD FROM I/P STRING K1001650
7A51 D2FF 169 | STO 2 -1 SAVE IN O/P STRING K1001660
7A52 71FF 170 | MDX 1 -1 DECR I/P POINTER K1001670
7A53 72FF 171 | MDX 2 -1 DECR O/P POINTER K1001680
7A54 73FF 172 | MDX 3 -1 DECR STRING LENGTH COUNT K1001690
7A55 70FA 173 | MDX LOOPP LOOP UNLESS FINISHED K1001700
7A56 6A04 174 | STX 2 ORIG+1 SAVE START LOC O/P STRING K1001710
7A57 6680 7A24 175 | LDX I2 SOFS GET START LOC I/P STRING K1001720
7A59 6A4F 176 | STX 2 NEOFS SAVE TEMPORARILY K1001730
177 | * K1001740
178 | * INITIALIZE PHASE K1001750
7A5A 6500 0000 179 | ORIG LDX L1 0 PREV O/P STRING PT NOW I/P K1001760
180 | * K1001770
181 | * END STATEMENT K1001780
7A5C C100 182 | ABEL LD 1 0 GET ID WD FR I/P STRING K1001790
7A5D 1801 183 | SRA 1 SHIFT OUT LOW ORDER BIT K1001800
7A5E E045 184 | AND IDTPE MASK IN ID TYPE BITS (1-5) K1001810
7A5F 9045 185 | S ENDC TEST FOR END STMNT K1001820
7A60 4C20 7A66 186 | BSC L CBEL,Z BR IF NOT END K1001830
7A62 C100 187 | LD 1 0 MOVE END STMNT FR I/P K1001840
7A63 D200 188 | STO 2 0 *STRING TO O/P STRING K1001850
7A64 6AC0 189 | STX 2 EOFS SAVE END OF O/P STRING PT K1001860
7A65 70D6 190 | MDX OUT BR TO EXIT FR THIS PHASE K1001870
191 | * K1001880
192 | * FORMAT STATEMENT K1001890
7A66 903F 193 | CBEL S FORMC TEST FOR FORMAT STMNT K1001900
7A67 4C18 7A78 194 | BSC L DECEM,+- BRANCH IF FOUND K1001910
195 | * K1001920
196 | * MOVE NON FORMAT STATEMENT K1001930
7A69 692E 197 | STX 1 VENT SAVE I/P STRING POINTER K1001940
7A6A C100 198 | LD 1 0 LD ID WD FR STRING K1001950
7A6B 1802 199 | SRA 2 RIGHT JUSTIFY STMNT NORM K1001960
7A6C E03F 200 | AND IDNRM MASK STMNT NORM K1001970
7A6D D001 201 | STO VENT1+1 SAVE AS WORD COUNT K1001980
7A6E 6700 0000 202 | VENT1 LDX L3 0 GET WD CNT THIS STMNT K1001990
7A70 C100 203 | LUP LD 1 0 LD WD I/P STRING K1002000
7A71 D200 204 | STO 2 0 SAVE IN O/P STRING K1002010
7A72 7101 205 | MDX 1 1 INCR. I/P STRING PT K1002020
7A73 7201 206 | MDX 2 1 INCR O/P STRING PT K1002030
7A74 73FF 207 | MDX 3 -1 DECR WD COUNT K1002040
7A75 70FA 208 | MDX LUP LOOP UNLESS FINISHED K1002050
7A76 6A32 209 | STX 2 NEOFS SAVE END OF O/P STRING K1002060
7A77 70E4 210 | MDX ABEL BR TO PROCESS NXT STMNT K1002070
211 | * K1002080
212 | * STATEMENT NUMBER K1002090
7A78 6932 213 | DECEM STX 1 IDSAV SAVE LOC OF I/P ID WD K1002100
7A79 C100 214 | LD 1 0 GET ID WORD K1002110
7A7A D02D 215 | STO IDSTO SAVE IN TEMP STORAGE K1002120
7A7B 4C04 7AC0 216 | BSC L INDIC,E BR IF STMNT NUMBERED K1002130
217 | * K1002140
218 | * SET UP ERROR NO = 28 K1002150
7A7D C029 219 | LD ERRA LOAD ERROR NO. CON = 28 K1002160
7A7E D02B 220 | STO ERRNO SAVE FOR OUTPUT PURPOSE K1002170
221 | * K1002180
222 | * REPLACE STATEMENT WITH ERROR K1002190
7A7F C028 223 | BAKER LD IDSTO LD ID WORD K1002200
7A80 1802 224 | SRA 2 RIGHT JUSTIFY NORM K1002210
7A81 E02A 225 | AND IDNRM MASK NORM BITS K1002220
7A82 D02A 226 | STO NRMSV SAVE NORM K1002230
7A83 8027 227 | A IDSAV INCR BY LOC OF ID K1002240
7A84 D02A 228 | STO GET1 SAVE AS START OF NXT STMNT K1002250
7A85 6680 7AA9 229 | LDX I2 NEOFS PUT END O/P STRING PT XR2 K1002260
7A87 C020 230 | LD IDSTO LD ID WD K1002270
7A88 4C04 7A8B 231 | BSC L JAM,E BR IF STMNT NUMBERED K1002280
7A8A 7004 232 | MDX JAM+4 BR TO CONTINUE K1002290
7A8B C00D 233 | JAM LD ERIID LD ERR ID WD +STMNT NO.FLAG K1002300
7A8C D200 234 | STO 2 0 SAVE IN O/P STRING K1002310
7A8D 7201 235 | MDX 2 1 INCR O/P STRING PT K1002320
7A8E 7002 236 | MDX JAM+6 SKIP NXT 2 INSTRUCTIONS K1002330
7A8F C01E 237 | LD ERRID LD ERR ID WD W/O STMNT NO. K1002340
7A90 D200 238 | STO 2 0 SAVE IN O/P STRING K1002350
7A91 C018 239 | LD ERRNO GET ERROR NUMBER K1002360
7A92 D201 240 | STO 2 1 SAVE IN O/P STRING K1002370
7A93 7202 241 | MDX 2 2 INCR O/P STRING PT K1002380
7A94 6A14 242 | STX 2 NEOFS SAVE POINTER K1002390
7A95 6580 7AAF 243 | LDX I1 GET1 GET LOC OF NXT STMNT K1002400
7A97 70C4 244 | MDX ABEL BR TO PROCESS NXT STMNT K1002410
245 | * K1002420
246 | * CONSTANTS K1002430
7A98 0000 247 | VENT DC 0 LOC I/P STRING ID WD K1002440
7A99 A00D 248 | ERIID DC /A00D ERR ID W/ STMNT NO. FLAG K1002450
7A9A 249 | BSS E 0 K1002460
7A9A 0000 250 | SUM DC 0 SUM TABLE K1002470
7A9B 0000 251 | SW1 DC 0 BEGINNING OF SPEC SW K1002480
7A9C 0000 252 | SW2 DC 0 I TYPE SPEC SW K1002490
7A9D 0000 253 | SW3 DC 0 2ND NO. OF SPEC SW K1002500
7A9E 0000 254 | SW4 DC 0 LEFT/RIGHT CHAR SW FOR GET K1002510
7A9F 0000 255 | SW5 DC 0 END OF STMNT SW FOR GET K1002520
7AA0 0000 256 | SW6 DC 0 COMMA ALLOWABLE SW K1002530
7AA1 0000 257 | SW7 DC 0 LEFT/RIGHT SW FOR H SPEC K1002540
7AA2 0000 258 | SW8 DC 0 COMMA MANDATORY SW K1002550
7AA3 0000 259 | SW9 DC 0 REDO SW K1002560
7AA4 7C00 260 | IDTPE DC /7C00 MASK FOR STRING ID WORD K1002570
7AA5 0800 261 | ENDC DC /0800 END STMNT CONSTANT K1002580
7AA6 2800 262 | FORMC DC /3000-/0800 FORMAT TYPE CONSTANT K1002590
7AA7 001C 263 | ERRA DC 28 CONSTANT ERR 28 K1002600
7AA8 0000 264 | IDSTO DC 0 ID WD STORAGE K1002610
7AA9 0000 265 | NEOFS DC 0 END OF OUTPUT STRING K1002620
7AAA 0000 266 | ERRNO DC 0 ERROR NO. FOR O/P K1002630
7AAB 0000 267 | IDSAV DC 0 LOC OF ID WORD K1002640
7AAC 01FF 268 | IDNRM DC /01FF MASK TO GET NORM K1002650
7AAD 0000 269 | NRMSV DC 0 NORM CURRENT STMNT K1002660
7AAE A008 270 | ERRID DC /A008 ERROR ID NO STMNT NO. K1002670
7AAF 0000 271 | GET1 DC 0 LOC. OF NXT STMNT IN STRING K1002680
7AB0 07FF 272 | MASK DC /07FF STMNT NO. MASK K1002690
7AB1 0040 273 | MASK1 DC /0040 FORMAT FLAG FOR SYM TBL K1002700
7AB2 00FF 274 | MASKK DC /00FF RIGHT CHAR MASK. K1002710
7AB3 0000 275 | SAVE DC 0 SYM TBL POINTER K1002720
7AB4 FFFD 276 | THREE DC /FFFD MINUS THREE CONSTANT K1002730
7AB5 00F0 277 | MASK2 DC /00F0 NUMERIC EBC CONSTANT MASK K1002740
7AB6 000A 278 | TEN DC 10 CONSTANT TEN K1002750
7AB7 0091 279 | N145 DC 145 MAX LENGTH FMT STRING K1002760
7AB8 001B 280 | ERRB DC 27 ERR 27 CONSTANT K1002770
7AB9 FFFF 281 | MONE DC /FFFF MINUS ONE CONSTANT K1002780
7ABA 0000 282 | REDO DC 0 REDO INDICATOR K1002790
7ABB 0000 283 | NORM DC 0 NORM O/P STMNT-2 K1002800
7ABC 0000 284 | NCNT DC 0 NORM O/P STMNT-2 K1002810
7ABD 0002 285 | TWO DC 2 CONSTANT K1002820
7ABE 0009 286 | NINE DC 9 CONSTANT K1002830
7ABF 0000 287 | SW15 DC 0 DIGIT ENCOUNTERED SW K1002840
288 | * K1002850
289 | * INDICATE FORMAT STATEMENT K1002860
290 | * IN SYMBOL TABLE ID WORD K1002870
291 | * K1002880
7AC0 C101 292 | INDIC LD 1 1 MOVE SYM TBL POINTER FR I/P K1002890
7AC1 D201 293 | STO 2 1 *STRING TO O/P STRING K1002900
7AC2 E0ED 294 | AND MASK MASK OUT HIGH ORDER BITS K1002910
7AC3 A0F0 295 | M THREE SYM TBL PT TO STMNT NO. K1002920
7AC4 1090 296 | SLT 16 *BY -3 K1002930
7AC5 90EE 297 | S THREE SUBTRACT -3 K1002940
7AC6 8400 7A26 298 | A L SOFST ADD TO START OF SYM TBL K1002950
7AC8 D0EA 299 | STO SAVE SAVE SYM TBL ADDR STMNT NO. K1002960
7AC9 6780 7AB3 300 | LDX I3 SAVE PUT SYM TBL ADDR XR3 K1002970
7ACB C300 301 | LD 3 0 LD SYM TBL ID WD K1002980
7ACC E8E4 302 | OR MASK1 FLAG BIT 9 OF SYM TBL ID WD K1002990
7ACD D300 303 | STO 3 0 *TO INDICATE FMT STMNT K1003000
304 | * K1003010
305 | * INITIALIZE TO SCAN BODY OF K1003020
306 | * STATEMENT K1003030
7ACE C100 307 | LD 1 0 MOVE STRING ID WD FR I/P K1003040
7ACF D200 308 | STO 2 0 *TO O/P STRING K1003050
7AD0 6E00 7DA4 309 | STX L2 VIGG SAVE LOC O/P STRING ID WD K1003060
7AD2 1802 310 | SRA 2 RIGHT JUSTIFY NORM K1003070
7AD3 E0D8 311 | AND IDNRM MASK TO GET NORM BITS ONLY K1003080
7AD4 D0D8 312 | STO NRMSV SAVE NORM K1003090
7AD5 90E7 313 | S TWO DECR BY 2 WDS (ID+STMNT NO) K1003100
7AD6 D0E5 314 | STO NCNT SAVE WD CNT K1003110
7AD7 D0E3 315 | STO NORM SAVE WD CNT K1003120
7AD8 C0E0 316 | LD MONE LD -1 K1003130
7AD9 D400 7BAA 317 | STO L LOOP INITIALIZE NO. REPEATS. K1003140
7ADB 7102 318 | MDX 1 2 MOVE PTR PAST ID & STMNT NO K1003150
7ADC 630A 319 | LDX 3 10 SET UP TO CLEAR SUM AND SWS K1003160
7ADD 1010 320 | SLA 16 CLEAR ACC K1003170
7ADE D400 7DA5 321 | STO L TABC CLEAR WD CNT O/P STRING K1003180
7AE0 7202 322 | MDX 2 2 INCR O/P STRING PT K1003190
7AE1 D700 7A99 323 | STO L3 SUM-1 ZERO SUM & SWITCH AREA. K1003200
7AE3 73FF 324 | MDX 3 -1 DECR TABLE COUNT K1003210
7AE4 70FC 325 | MDX *-4 LOOP IF NOT DONE K1003220
7AE5 D400 7C71 326 | STO L SW11 ZERO H OR QUOTE SW K1003230
7AE7 D037 327 | STO SW12 ZERO QUOTE TYPE SPEC SW K1003240
7AE8 D0D1 328 | STO REDO ZERO REDO SW K1003250
7AE9 D400 7BB0 329 | STO L REP ZERO REPEAT SW K1003260
7AEB D400 7B1C 330 | STO L GREP ZERO GROUP REPEAT SW K1003270
7AED D0D1 331 | STO SW15 ZERO DIGIT ENCOUNTERED SW K1003280
332 | * K1003290
333 | * GET CHAR FROM FORMAT STRING K1003300
7AEE 4400 7D5C 334 | BSI L GET BR TO SUBR TO GET CHAR K1003310
335 | * K1003320
336 | * X=LEFT PARENTHESIS K1003330
7AF0 9020 337 | S PARNL TEST FOR LEFT PARENTHESIS. K1003340
7AF1 4C20 7B09 338 | BSC L J,Z BR IF NOT FOUND (ERR 27) K1003350
339 | * K1003360
340 | * GET X K1003370
7AF3 4400 7D5C 341 | DOG BSI L GET GET NXT CHAR FR FMT STMNT K1003380
7AF5 D01C 342 | STO X SAVE CHAR K1003390
343 | * K1003400
344 | * IS X NUMERIC K1003410
7AF6 90BE 345 | S MASK2 SUBTRACT NUMERIC EBC CON F0 K1003420
7AF7 4C28 7B21 346 | BSC L TST,+Z BR IF NOT NUMERIC K1003430
7AF9 90C4 347 | S NINE TEST IF NO. GT 9 K1003440
7AFA 4C30 7B21 348 | BSC L TST,Z- BR IF YES K1003450
349 | * K1003460
350 | * SUM=SUM*10+X K1003470
7AFC C09D 351 | LD SUM GET PREV SUM K1003480
7AFD A0B8 352 | M TEN MPY BY 10 K1003490
7AFE 1090 353 | SLT 16 SHIFT ANS TO ACC K1003500
7AFF 90B5 354 | S MASK2 REMOVE BITS 0-3 FR PRODUCT K1003510
7B00 8011 355 | A X ADD CHAR K1003520
7B01 D098 356 | STO SUM SAVE K1003530
357 | * K1003540
358 | * TAG SW15 DIGIT ENCOUNTERED SW K1003550
359 | * SET SW NON ZERO K1003560
7B02 68BC 360 | STX 0 SW15 K1003570
361 | * SUM GREATER THAN 145 K1003580
7B03 90B3 362 | S N145 SUBTRACT CON 145 K1003590
7B04 4C30 7CC5 363 | BSC L ERR29,-Z BR IF SUM GT 145 (ERR 29) K1003600
364 | * K1003610
365 | * NORMALIZE SW16 K1003620
7B06 1010 366 | SLA 16 CLEAR INCOMPLETE SPEC K1003630
7B07 D018 367 | STO SW16 *SWITCH K1003640
7B08 70EA 368 | MDX DOG BR TO GET ANOTHER CHAR K1003650
369 | * K1003660
370 | * SET UP ERROR 27 K1003670
7B09 C0AE 371 | J LD ERRB LD ERR CON (=27) K1003680
7B0A D09F 372 | STO ERRNO SAVE IN ERR NO. BFR K1003690
7B0B 6400 7A7F 373 | LDX L BAKER BR TO ERROR O/P SUBR K1003700
374 | * K1003710
375 | * SET UP ERROR 30 K1003720
7B0D C010 376 | ERR30 LD ER30 LD ERR CON (=30) K1003730
7B0E D09B 377 | STO ERRNO SAVE IN ERR BFR K1003740
7B0F 4C00 7A7F 378 | BSC L BAKER BR TO ERROR O/P SUBR K1003750
379 | * K1003760
380 | * CONSTANTS K1003770
7B11 004D 381 | PARNL DC /004D ( K1003780
7B12 0000 382 | X DC 0 CHAR FR FMT STRING K1003790
7B13 00C6 383 | FEF DC /00C6 F (TEST CONSTANT) K1003800
7B14 FFFF 384 | EE DC /00C5-/00C6 E (TEST CONSTANT) K1003810
7B15 0004 385 | EYE DC /00C9-/00C5 E (TEST CONSTANT) K1003820
7B16 FFFF 386 | ACH DC /00C8-/00C9 H (TEST CONSTANT) K1003830
7B17 001F 387 | XEX DC /00E7-/00C8 X (TEST CONSTANT) K1003840
7B18 FFDA 388 | AA DC /00C1-/00E7 A (TEST CONSTANT) K1003850
7B19 004D 389 | LP DC /004D ( (TEST CONSTANT) K1003860
7B1A 0061 390 | DIV DC /0061 / (TEST CONSTANT) K1003870
7B1B FFFC 391 | RPET DC /005D-/0061 ) (TEST CONSTANT) K1003880
7B1C 0000 392 | GREP DC 0 GROUP REPEAT SW K1003890
7B1D B000 393 | TENC DC /B000 REDO COUNT CON K1003900
7B1E 001E 394 | ER30 DC 30 ERROR 30 CONSTANT K1003910
7B1F 0000 395 | SW12 DC 0 QUOTE TYPE SPEC SW K1003920
7B20 0000 396 | SW16 DC 0 INCOMPLETE SPEC SW K1003930
397 | * K1003940
398 | * TEST SW1 K1003950
7B21 C400 7A9B 399 | TST LD L SW1 TEST FOR BEGINNING OF SPEC K1003960
7B23 4C20 7B89 400 | BSC L TST1,Z BR IF NOT BEGINNING K1003970
401 | * K1003980
402 | * X=F K1003990
7B25 C0EC 403 | LD X LD STRING CHAR K1004000
7B26 90EC 404 | S FEF TEST FOR F K1004010
7B27 4C18 7D4C 405 | BSC L B,+- BR IF CHAR = F K1004020
406 | * K1004030
407 | * X=E K1004040
7B29 90EA 408 | S EE TEST FOR E K1004050
7B2A 4C18 7D51 409 | BSC L C,+- BR IF CHAR = E K1004060
410 | * K1004070
411 | * X=I K1004080
7B2C 90E8 412 | S EYE TEST FOR I K1004090
7B2D 4C18 7D54 413 | BSC L D,+- BR IF CHAR = I K1004100
414 | * K1004110
415 | * X=H K1004120
7B2F 90E6 416 | S ACH TEST FOR H K1004130
7B30 4C18 7C64 417 | BSC L E,+- BR IF CHAR = H K1004140
418 | * K1004150
419 | * X=X K1004160
7B32 90E4 420 | S XEX TEST FOR X K1004170
7B33 4C18 7D48 421 | BSC L ZX,+- BR IF CHAR = X K1004180
422 | * K1004190
423 | * X=A K1004200
7B35 90E2 424 | S AA TEST FOR A K1004210
7B36 4C18 7D59 425 | BSC L I,+- BR IF CHAR = A K1004220
426 | * K1004230
427 | * X=LEFT PARENTHESIS ( K1004240
7B38 C0D9 428 | LD X LOAD STRING CHAR K1004250
7B39 90DF 429 | S LP TEST FOR ( K1004260
7B3A 4C18 7C13 430 | BSC L GRP1,+- BR IF CHAR = ( K1004270
431 | * K1004280
432 | * X=DIVIDE K1004290
7B3C C0D5 433 | ECHO LD X LOAD STRING CHAR K1004300
7B3D 90DC 434 | S DIV TEST FOR / K1004310
7B3E 4C18 7C2A 435 | BSC L RP,+- BR IF CHAR = / K1004320
436 | * K1004330
437 | * X=RIGHT PARENTHESIS) K1004340
7B40 90DA 438 | S RPET TEST FOR ) K1004350
7B41 4C18 7B5E 439 | BSC L MAN,+- BR IF CHAR = ) K1004360
440 | * K1004370
441 | * X=T K1004380
7B43 907E 442 | S TCON1 TEST FOR T K1004390
7B44 4C20 7B4E 443 | BSC L INK,Z BR IF CHAR NOT = T K1004400
444 | * K1004410
445 | * INDICATE T TYPE K1004420
7B46 C400 7BC3 446 | LD L TTYPE LD T INDICATOR CON K1004430
7B48 D400 7D47 447 | STO L COMTP SAVE IN O/P INDR AREA K1004440
7B4A 4400 7DC6 448 | BSI L SUBR BR TO TEST SW15 AND SUM K1004450
7B4C 4C00 7CFE 449 | BSC L POP BR TO PROCESS T FORMAT K1004460
450 | * K1004470
451 | * QUOTES K1004480
7B4E C0C3 452 | INK LD X TEST CHAR FOR QUOTE K1004490
7B4F 9400 7C6C 453 | S L QUOTC *MARK K1004500
7B51 4C20 7B09 454 | BSC L J,Z BR TO O/P ERR 27 IF NOT K1004510
7B53 C400 7A9A 455 | LD L SUM REPEAT ON LITERAL 2-8 K1004511
7B55 4C20 7B09 456 | BSC L J,Z YES,BRANCH TO ERR 27 2-8 K1004512
457 | * K1004520
458 | * TAG SW12 K1004530
7B57 7401 7B1F 459 | MDX L SW12,1 TAG QUOTE TYPE SPEC SW K1004540
460 | * K1004550
461 | * WW=0 K1004560
7B59 1010 462 | SLA 16 CLEAR ACC K1004570
7B5A D400 7BAB 463 | STO L WW CLEAR TOTAL FIELD WIDTH K1004580
7B5C 4C00 7C75 464 | BSC L O BR TO PROCESS QUOTE K1004590
465 | * K1004600
466 | * RIGHT PARENTHESES FOUND K1004610
467 | * SW15 AND SW16 NORMAL K1004620
7B5E C400 7ABF 468 | MAN LD L SW15 TEST IF DIGIT ENCOUNTERED K1004630
7B60 E8BF 469 | OR SW16 *AND INCOMPLETE SPEC SW OFF K1004640
7B61 4C20 7B09 470 | BSC L J,Z BR IF EITHER SW ON (ERR 27) K1004650
471 | * K1004660
472 | * GREP=0 K1004670
7B63 C0B8 473 | LD GREP TEST GROUP REPEAT SW K1004680
7B64 4C20 7B73 474 | BSC L FOX,Z BR IF NON-ZERO K1004690
475 | * K1004700
476 | * PUT REDO K1004710
7B66 C400 7ABA 477 | LD L REDO GET REDO INDICATOR K1004720
7B68 E8B4 478 | OR TENC ADD COUNT MASK K1004730
7B69 4400 7DA9 479 | BSI L PUT PUT REDO IN O/P STRING K1004740
480 | * K1004750
481 | * SET SW9 TO TRANSFER K1004760
7B6B 7401 7AA3 482 | MDX L SW9,1 INDICATES OK TO PUT REDO K1004770
483 | * K1004780
484 | * GET X K1004790
7B6D 4400 7D5C 485 | BSI L GET BR TO GET NXT CHAR K1004800
7B6F 7099 486 | MDX J BR IF RETURN FR GET-ERR 27 K1004810
487 | * K1004820
488 | * CONSTANTS K1004830
7B70 004B 489 | PERD DC /004B EBC DECML PT K1004840
7B71 8000 490 | EITC DC /8000 GROUP REPEAT CONSTANT K1004850
7B72 0001 491 | ONE DC 1 USEFUL CONSTANT K1004860
492 | * K1004870
493 | * GROUP REPEAT SW NON ZERO K1004880
494 | * OUTPUT GROUP REPEAT COUNT K1004890
495 | * K1004900
496 | * GREP=1 K1004910
7B73 C0A8 497 | FOX LD GREP LD GROUP REPEAT SW K1004920
7B74 90FD 498 | S ONE TEST FOR GROUP REPEAT =1 K1004930
7B75 4C18 7B7F 499 | BSC L XENO,+- BR IF = K1004940
500 | * K1004950
501 | * PUT GROUP REPEAT K1004960
7B77 C0F9 502 | LD EITC LD GROUP REPEAT CON K1004970
7B78 E8A3 503 | OR GREP ADD TO GROUP REPEAT COUNT K1004980
7B79 4400 7DA9 504 | BSI L PUT PUT ON O/P STRING K1004990
7B7B C02E 505 | LD LOOP GET -NO. WDS TO REPEAT K1005000
7B7C 80F5 506 | A ONE ADD 1 K1005010
7B7D 4400 7DA9 507 | BSI L PUT PUT ON O/P STRING K1005020
508 | * K1005030
509 | * GREP=0 K1005040
7B7F 1010 510 | XENO SLA 16 RESET GROUP REPEAT CON K1005050
7B80 D09B 511 | STO GREP *TO 0 K1005060
512 | * K1005070
513 | * GET X K1005080
7B81 4400 7D5C 514 | BSI L GET BR TO GET NXT CHAR K1005090
7B83 D400 7B12 515 | STO L X *FROM I/P STRING K1005100
516 | * K1005110
517 | * TAG SW8 K1005120
7B85 7401 7AA2 518 | MDX L SW8,1 SET COMMA MANDATORY SW K1005130
7B87 4C00 7D28 519 | BSC L QUAD BR TO PROCESS NEW SPEC TYPE K1005140
520 | * K1005150
521 | * TEST SW3 K1005160
7B89 C400 7A9D 522 | TST1 LD L SW3 LD 2ND NO. OF SPEC SW K1005170
7B8B 4C18 7C4E 523 | BSC L M,+- BR IF NO 2ND NO. K1005180
524 | * K1005190
525 | * SUM=0 K1005200
7B8D C400 7A9A 526 | LD L SUM TEST FIELD WIDTH K1005210
7B8F 4C18 7B09 527 | BSC L J,+- BR IF ZERO K1005220
528 | * K1005230
529 | * WW=SUM K1005240
7B91 D019 530 | STO WW SAVE TOTAL FIELD WIDTH K1005250
531 | * K1005260
532 | * SUM=0 K1005270
7B92 4400 7DBE 533 | BSI L NLIZE BR TO CLEAR SUM AND SW15 K1005280
534 | * K1005290
535 | * TEST SW2 K1005300
7B94 C400 7A9C 536 | LD L SW2 TEST FOR I TYPE SPEC K1005310
7B96 4C18 7D0A 537 | BSC L K,+- BR IF NOT I TYPE SPEC K1005320
538 | * K1005330
539 | * WW LESS THAN 127 K1005340
7B98 C012 540 | LD WW TEST TOTAL FIELD WIDTH K1005350
7B99 9013 541 | S N127 *VS 127 K1005360
7B9A 4C30 7B0D 542 | BSC L ERR30,-Z BR IF GT 127 K1005370
543 | * K1005380
544 | * X=PERIOD K1005390
7B9C C400 7DA3 545 | LD L WALT GET RIGHT CHAR FR TEMP STO K1005400
7B9E 90D1 546 | S PERD TEST FOR PERIOD K1005410
7B9F 4C20 7B09 547 | BSC L J,Z BR IF NOT PERIOD (ERR 27) K1005420
548 | * K1005430
549 | * TAG SW16 K1005440
7BA1 7401 7B20 550 | MDX L SW16,1 SET INCOMPLETE SPEC SW K1005450
551 | * K1005460
552 | * NORMALIZE SW2 K1005470
7BA3 1010 553 | SLA 16 CLEAR ACC K1005480
7BA4 D400 7A9C 554 | STO L SW2 SET SW TO IND NON I TYPE K1005490
555 | * K1005500
556 | * NORMALIZE SW3 K1005510
7BA6 D400 7A9D 557 | STO L SW3 SET SW TO IND NO 2ND NO. K1005520
7BA8 6400 7AF3 558 | LDX L DOG BR TO PROCESS NXT CHAR K1005530
559 | * CONSTANTS K1005540
560 | * K1005550
7BAA 0000 561 | LOOP DC 0 -NO. WDS BACK TO GROUP REP K1005560
7BAB 0000 562 | WW DC 0 TOTAL FIELD WIDTH K1005570
7BAC 0000 563 | DD DC 0 DECIMAL WIDTH K1005580
7BAD 007F 564 | N127 DC 127 MAX TOTAL FIELD WIDTH K1005590
7BAE 7000 565 | N7 DC /7000 SLASH FLAG K1005600
7BAF 001F 566 | N31 DC 31 MAX DECML WIDTH K1005610
7BB0 0000 567 | REP DC 0 REPEAT COUNT K1005620
7BB1 0000 568 | BOX DC 0 SPECIAL TYPE CODE STORAGE K1005630
7BB2 A035 569 | OPA DC /A035 SPECIAL TYPE CODE CHAR = A K1005640
7BB3 A014 570 | OPB DC /A014 SPECIAL TYPE CODE CHAR = B K1005650
7BB4 A040 571 | OPS DC /A040 SPECIAL TYPE CODE CHAR = S K1005660
7BB5 A005 572 | OPT DC /A005 SPECIAL TYPE CODE CHAR = T K1005670
7BB6 A016 573 | OPD DC /A016 SPECIAL TYPE CODE CHAR = D K1005680
7BB7 A025 574 | OPL DC /A025 SPECIAL TYPE CODE CHAR = L K1005690
7BB8 A015 575 | OPR DC /A015 SPECIAL TYPE CODE CHAR = R K1005700
7BB9 0000 576 | V1S1 DC 0 STMNT NORM-2 K1005710
7BBA 00C1 577 | ACON DC /00C1 A TEST CONSTANT K1005720
7BBB 0001 578 | BCON DC /00C2-/00C1 B TEST CONSTANT K1005730
7BBC 0020 579 | SCON DC /00E2-/00C2 S TEST CONSTANT K1005740
7BBD 0001 580 | TCON DC /00E3-/00E2 T TEST CONSTANT K1005750
7BBE FFE1 581 | DCON DC /00C4-/00E3 D TEST CONSTANT K1005760
7BBF 000F 582 | LCON DC /00D3-/00C4 L TEST CONSTANT K1005770
7BC0 0006 583 | RCON DC /00D9-/00D3 R TEST CONSTANT K1005780
7BC1 005D 584 | RPARN DC /005D ) TEST CONSTANT K1005790
7BC2 0086 585 | TCON1 DC /00E3-/005D T TEST CONSTANT K1005800
7BC3 6000 586 | TTYPE DC /6000 T INDICATOR CONSTANT K1005810
587 | * K1005820
588 | * SAVE POINTER AND SAVE SW4 K1005830
589 | * X=LEFT PARENTHESIS K1005840
7BC4 6920 590 | GRP STX 1 BK+1 SAVE I/P STRING PT K1005850
7BC5 CC00 7A9E 591 | LDD L SW4 GET CONTENTS SW4 AND SW5 K1005860
7BC7 DC00 7C72 592 | STD L SW45H SAVE IN TEMPORARY STORAGE K1005870
7BC9 C400 7ABC 593 | LD L NCNT GET STMNT NORM-2 K1005880
7BCB D0ED 594 | STO V1S1 SAVE K1005890
595 | * K1005900
596 | * GET X K1005910
7BCC 4400 7D5C 597 | BSI L GET GET STRING CHAR K1005920
7BCE 7015 598 | MDX BK BR TO PROCESS K1005930
599 | * K1005940
600 | * X=A K1005950
7BCF 90EA 601 | S ACON TEST CHAR FOR A K1005960
7BD0 4C18 7BEE 602 | BSC L BOY,+- BR IF = A K1005970
603 | * K1005980
604 | * X=B K1005990
7BD2 90E8 605 | S BCON TEST CHAR FOR B K1006000
7BD3 4C18 7BF0 606 | BSC L BOY1,+- BR IF = B K1006010
607 | * K1006020
608 | * X=S K1006030
7BD5 90E6 609 | S SCON TEST CHAR FOR S K1006040
7BD6 4C18 7BF2 610 | BSC L BOY2,+- BR IF = S K1006050
611 | * K1006060
612 | * X=T K1006070
7BD8 90E4 613 | S TCON TEST CHAR FOR T K1006080
7BD9 4C18 7BF4 614 | BSC L BOY3,+- BR IF = T K1006090
615 | * K1006100
616 | * X=D K1006110
7BDB 90E2 617 | S DCON TEST CHAR FOR D K1006120
7BDC 4C18 7BF6 618 | BSC L BOY4,+- BR IF = D K1006130
619 | * K1006140
620 | * X=L K1006150
7BDE 90E0 621 | S LCON TEST CHAR FOR L K1006160
7BDF 4C18 7BF8 622 | BSC L BOY5,+- BR IF = L K1006170
623 | * K1006180
624 | * X=R K1006190
7BE1 90DE 625 | S RCON TEST CHAR FOR R K1006200
7BE2 4C18 7BFA 626 | BSC L BOY6,+- BR IF = R K1006210
627 | * K1006220
628 | * BACK UP K1006230
7BE4 6500 0000 629 | BK LDX L1 *-* RESET I/P STRING POINTER K1006240
7BE6 CC00 7C72 630 | LDD L SW45H RELOAD SW4 AND SW5 K1006250
7BE8 DC00 7A9E 631 | STD L SW4 RESTORE TO PREV STATE K1006260
7BEA C0CE 632 | LD V1S1 RESET STMNT NORM-2 K1006270
7BEB D400 7ABC 633 | STO L NCNT SAVE K1006280
7BED 7025 634 | MDX GRP1 BR TO PROCESS PREV CHAR K1006290
635 | * K1006300
636 | * INDICATE A SPECIAL TYPE K1006310
7BEE C0C3 637 | BOY LD OPA CHAR=A, LD SPECIAL TYPE CDE K1006320
7BEF 7005 638 | MDX BOY3+1 BR TO STORE K1006330
639 | * K1006340
640 | * INDICATE B SPECIAL TYPE K1006350
7BF0 C0C2 641 | BOY1 LD OPB CHAR=B, LD SPECIAL TYPE CDE K1006360
7BF1 7009 642 | MDX BOY6+1 BR TO STORE K1006370
643 | * K1006380
644 | * INDICATE S SPECIAL TYPE K1006390
7BF2 C0C1 645 | BOY2 LD OPS CHAR=S, LD SPECIAL TYPE CDE K1006400
7BF3 7007 646 | MDX BOY6+1 BR TO STORE K1006410
647 | * K1006420
648 | * INDICATE T SPECIAL TYPE K1006430
7BF4 C0C0 649 | BOY3 LD OPT CHAR=T, LD SPECIAL TYPE CDE K1006440
7BF5 7005 650 | MDX BOY6+1 BR TO STORE K1006450
651 | * K1006460
652 | * INDICATED D SPECIAL TYPE K1006470
7BF6 C0BF 653 | BOY4 LD OPD CHAR=D, LD SPECIAL TYPE CDE K1006480
7BF7 7003 654 | MDX BOY6+1 BR TO STORE K1006490
655 | * K1006500
656 | * INDICATE L SPECIAL TYPE K1006510
7BF8 C0BE 657 | BOY5 LD OPL CHAR=L, LD SPECIAL TYPE CDE K1006520
7BF9 7001 658 | MDX BOY6+1 BR TO STORE K1006530
659 | * K1006540
660 | * INDICATE R SPECIAL TYPE K1006550
7BFA C0BD 661 | BOY6 LD OPR CHAR=R, LD SPECIAL TYPE CDE K1006560
7BFB D0B5 662 | STO BOX SAVE SPECIAL TYPE CODE K1006570
663 | * K1006580
664 | * GET X K1006590
7BFC 4400 7D5C 665 | BTEST BSI L GET BR TO GET ANOTHER CHAR K1006600
666 | * K1006610
667 | * RIGHT PARENTHESIS K1006620
7BFE 90C2 668 | S RPARN TEST CHAR FOR ) K1006630
7BFF 4C20 7BE4 669 | BSC L BK,Z BR IF NOT K1006640
670 | * K1006650
671 | * PUT SPECIFICATION K1006660
7C01 C0AF 672 | LD BOX GET SPECIAL TYPE CODE K1006670
7C02 4400 7DA9 673 | BSI L PUT PUT ON O/P STRING K1006680
674 | * K1006690
675 | * SUM = 0 K1006700
7C04 4400 7DC6 676 | BSI L SUBR BR TO SEE IF DIGIT FOUND K1006710
7C06 C400 7A9A 677 | LD L SUM GET FIELD WIDTH K1006720
7C08 4C18 7C0F 678 | BSC L BT11A,+- BR IF FIELD WIDTH = 0 K1006730
679 | * K1006740
680 | * PUT FIELD REPEAT K1006750
7C0A C060 681 | LD N9 GET FIELD REPEAT FLAG K1006760
7C0B EC00 7A9A 682 | OR L SUM ADD FIELD WIDTH K1006770
7C0D 4400 7DA9 683 | BSI L PUT PUT ON O/P STRING K1006780
684 | * K1006790
685 | * CALL NLIZE K1006800
7C0F 4400 7DBE 686 | BT11A BSI L NLIZE CLEAR SW15 AND SUM K1006810
687 | * GET X K1006820
7C11 4C00 7CEB 688 | BT11 BSC L LIMA BR TO PROCESS NXT CHAR K1006830
689 | * K1006840
690 | * GREP=0 K1006850
7C13 C400 7B1C 691 | GRP1 LD L GREP LD GROUP REPEAT CNT K1006860
7C15 4C20 7B09 692 | BSC L J,Z BR TO ERR IF 0, ERR 27 K1006870
693 | * K1006880
694 | * INITIALIZE RE DO K1006890
7C17 D400 7ABA 695 | STO L REDO SAVE IN REDO COUNT K1006900
696 | * K1006910
697 | * SUM = 0 K1006920
7C19 4400 7DC6 698 | BSI L SUBR BR TO TEST SW15 AND SUM K1006930
699 | * K1006940
700 | * GREP = SUM OR 1 IF SUM = 0 K1006950
7C1B C400 7A9A 701 | LD L SUM LD SUM K1006960
7C1D 4C20 7C21 702 | BSC L *+2,Z BR IF NOT = 0 K1006970
7C1F C400 7B72 703 | LD L ONE SET GROUP REPEAT CONSTANT K1006980
7C21 D400 7B1C 704 | STO L GREP *TO 1 K1006990
705 | * K1007000
706 | * CALL NLIZE K1007010
7C23 4400 7DBE 707 | BSI L NLIZE CLEAR SW15 AND SUM K1007020
708 | * K1007030
709 | * LOOP=-1 K1007040
7C25 C400 7AB9 710 | LD L MONE GET -1 CONSTANT K1007050
7C27 D082 711 | STO LOOP SAVE K1007060
7C28 6400 7AF3 712 | LDX L DOG BR TO PROCESS NXT CHAR K1007070
713 | * K1007080
714 | * SUM=0 2-1 K1007090
7C2A C400 7A9A 715 | RP LD L SUM 2-1 K1007100
7C2C 4C20 7B09 716 | BSC L J,Z BR TO ERR IF NE 0 (ERR 27) K1007110
717 | * K1007120
718 | * PUT SLASH K1007130
7C2E C400 7BAE 719 | LD L N7 GET SLASH INDICATOR K1007140
7C30 4400 7DA9 720 | BSI L PUT PUT ON O/P STRING K1007150
7C32 4C00 7CEB 721 | BSC L LIMA BR TO GET ANOTHER CHAR K1007160
722 | * K1007170
723 | * TEST INDICATORS AND GET NEXT K1007180
724 | * CHAR AND FIELD WIDTH K1007190
725 | * K1007200
726 | * REP=0 K1007210
7C34 C400 7BB0 727 | F LD L REP GET REPEAT FLAG K1007220
7C36 4C20 7B09 728 | BSC L J,Z BR TO ERR IF NE 0 (ERR 27) K1007230
729 | * K1007240
730 | * SUM=0 K1007250
7C38 C400 7A9A 731 | LD L SUM TEST SUM FIELD WIDTH K1007260
7C3A 4C18 7B09 732 | BSC L J,+- BR TO ERR IF = 0 (ERR 27) K1007270
733 | * K1007280
734 | * WW=SUM K1007290
7C3C C400 7A9A 735 | LD L SUM K1007300
7C3E D400 7BAB 736 | STO L WW SAVE SUM IN TOT FLD WIDTH K1007310
737 | * K1007320
738 | * CALL NLIZE K1007330
7C40 4400 7DBE 739 | BSI L NLIZE CLEAR SUM AND SW15 K1007340
740 | * K1007350
741 | * TEST SW6 K1007360
7C42 C400 7AA0 742 | LD L SW6 TEST FOR COMMA ALLOWABLE K1007370
7C44 4C20 7C75 743 | BSC L O,Z BR IF NOT ALLOWABLE K1007380
744 | * K1007390
745 | * TAG SW8 K1007400
7C46 7401 7AA2 746 | MDX L SW8,1 SET COMMA NOT MANDATORY SW K1007410
747 | * K1007420
748 | * GET X K1007430
7C48 4400 7D5C 749 | BSI L GET GET NEXT CHAR K1007440
7C4A D400 7B12 750 | STO L X SAVE K1007450
7C4C 4C00 7D0A 751 | BSC L K BR TO BUILD SPECIFICATIONS K1007460
752 | * K1007470
753 | * TEST SW15 K1007480
7C4E C400 7ABF 754 | M LD L SW15 LD DIGIT ENCOUNTERED SW K1007490
7C50 4C18 7B09 755 | BSC L J,+- BR IF NO DIGIT FOUND K1007500
756 | * K1007510
757 | * DD LESS THAN 32 K1007520
7C52 C400 7A9A 758 | LD L SUM GET FIELD WIDTH K1007530
7C54 9400 7BAF 759 | S L N31 SUBTRACT CONSTANT =31 K1007540
7C56 4C30 7B0D 760 | BSC L ERR30,Z- BR IF WIDTH GT 31 K1007550
761 | * K1007560
762 | * DD=SUM K1007570
7C58 C400 7A9A 763 | LD L SUM GET FIELD WITH K1007580
7C5A D400 7BAC 764 | STO L DD SAVE AS DECML WIDTH K1007590
765 | * K1007600
766 | * WW G.T. DD K1007610
7C5C 9400 7BAB 767 | S L WW COMPARE WITH TOT FLD WIDTH K1007620
7C5E 4C30 7B0D 768 | BSC L ERR30,-Z BR ERR IF TOT LT DECML K1007630
769 | * K1007640
770 | * CALL NLIZE K1007650
7C60 4400 7DBE 771 | BSI L NLIZE BR TO CLEAR SUM AND SW15 K1007660
7C62 4C00 7D0A 772 | BSC L K BR TO BUILD SPECIFICATIONS K1007670
773 | * K1007680
774 | * TAG SW6 K1007690
7C64 7401 7AA0 775 | E MDX L SW6,1 SET COMMA NOT ALLOWABLE SW K1007700
7C66 70CD 776 | MDX F BR TO TEST IF GET NXT CHAR K1007710
777 | * K1007720
778 | * CONSTANTS K1007730
7C67 0040 779 | BLANK DC /0040 EBC BLANK K1007740
7C68 0000 780 | Y DC 0 LEFT CHAR TO PACK O/P AREA K1007750
7C69 006B 781 | COMMA DC /006B EBC COMMA K1007760
7C6A 5000 782 | N5 DC /5000 HOLLERITH MASK K1007770
7C6B 9000 783 | N9 DC /9000 FIELD REPEAT FLAG K1007780
7C6C 007D 784 | QUOTC DC /007D QUOTE MASK K1007790
7C6D 0000 785 | CT DC 0 NO. CHARS HOLL FMT K1007800
7C6E 0000 786 | JAMEY DC 0 O/P STRING WD CNT K1007810
7C6F 001D 787 | ER29 DC 29 ERROR 29 CONSTANT K1007820
7C70 0092 788 | C146 DC 146 MAX HOLL CHAR CNT K1007830
7C71 0000 789 | SW11 DC 0 H OR QUOTE TYPE SPEC SW K1007840
7C72 790 | BSS E 0 K1007850
7C72 0000 791 | SW45H DC *-* TEMP STO SW4 K1007860
7C73 0000 792 | DC *-* TEMP STO SW5 K1007870
7C74 0000 793 | NCNTH DC *-* TEMP STO NORM COUNT K1007880
794 | * K1007890
795 | * NORMALIZE SW6 (COMMA ALLOWABLE) K1007900
7C75 1010 796 | O SLA 16 CLEAR ACC K1007910
7C76 D400 7AA0 797 | STO L SW6 SET COMMA ALLOWABLE FLAG K1007920
798 | * K1007930
799 | * SET UP COUNT K1007940
7C78 D0F4 800 | STO CT CLEAR CNT OF NO. HOLL CHARS K1007960
801 | * K1007970
802 | * PUT H SPEC. K1007980
7C79 6AF4 803 | STX 2 JAMEY SAVE O/P STRING POINTER K1007990
7C7A C0EF 804 | LD N5 LD HOLL SPEC MASK K1008000
7C7B EC00 7BAB 805 | OR L WW ADD TO TOTAL FIELD WIDTH K1008010
7C7D 4400 7DA9 806 | BSI L PUT PUT SPEC ON O/P STRING K1008020
807 | * K1008030
808 | * TAG SW11 K1008040
7C7F 7401 7C71 809 | MDX L SW11,1 K1008050
810 | * SET H OR QUOTE SPEC FLAG K1008060
811 | * GET X K1008070
7C81 4400 7D5C 812 | KILO BSI L GET GET NEXT CHAR K1008080
7C83 D400 7B12 813 | STO L X SAVE K1008090
814 | * K1008100
815 | * TEST SW12-QUOTE TYPE SPEC K1008110
7C85 C400 7B1F 816 | LD L SW12 LD SWITCH K1008120
7C87 4C18 7CCE 817 | BSC L LOB,+- BR IF NOT QUOTE TYPE SPEC K1008130
818 | * K1008140
819 | * X = QUOTE K1008150
7C89 C400 7B12 820 | LD L X LD STRING CHAR K1008160
7C8B 90E0 821 | S QUOTC TEST FOR QUOTE CONSTANT K1008170
7C8C 4C18 7C99 822 | BSC L LOB3,+- BR IF QUOTE FOUND K1008180
823 | * K1008190
824 | * CHAR NOT QUOTE, PROCESS AS K1008200
825 | * HOLLERITH CHAR K1008210
826 | * NCNT = 0 K1008220
7C8E C400 7ABC 827 | LD L NCNT TEST NORM COUNT K1008230
7C90 4C18 7CC5 828 | BSC L ERR29,+- BR IF COUNT = 0 K1008240
829 | * K1008250
7C92 C400 7ABD 830 | LOB2 LD L TWO GET A CONSTANT = 2 K1008260
831 | * WW=2 K1008270
7C94 D400 7BAB 832 | STO L WW SET TOTAL FIELD WIDTH =2 K1008280
833 | * K1008290
834 | * CT=CT+1 K1008300
7C96 7401 7C6D 835 | MDX L CT,1 INCR HOLL CHAR COUNT K1008310
7C98 7035 836 | MDX LOB BR TO O/P CHAR K1008320
837 | * K1008330
838 | * SECOND QUOTE FOUND IN QUOTE TYPE K1008340
839 | * SPECIFICATION K1008350
840 | * K1008360
841 | * SAVE STATUS OF GET ROUTINE K1008370
7C99 CC00 7A9E 842 | LOB3 LDD L SW4 GET SW4 AND SW5 K1008380
7C9B D8D6 843 | STD SW45H SAVE IN TEMP STO K1008390
7C9C C400 7ABC 844 | LD L NCNT GET NORM COUNT K1008400
7C9E D0D5 845 | STO NCNTH SAVE IN TEMP STO K1008410
7C9F 690C 846 | STX 1 RXR1H+1 SAVE I/P STRING POINTER K1008420
847 | * K1008430
848 | * GET X K1008440
7CA0 4400 7D5C 849 | BSI L GET GET ANOTHER CHAR K1008450
850 | * K1008460
851 | * X = QUOTE K1008470
7CA2 90C9 852 | S QUOTC TEST CHAR FOR QUOTE K1008480
7CA3 4C18 7C92 853 | BSC L LOB2,+- BR TO O/P HOLL QUOTE IF YES K1008490
854 | * K1008500
855 | * RESTORE STATUS OF GET ROUTINE K1008510
7CA5 C8CC 856 | LDD SW45H LOAD SW4 AND SW5 FR TEMP K1008520
7CA6 DC00 7A9E 857 | STD L SW4 RESTORE SW4 AND SW5 K1008530
7CA8 C0CB 858 | LD NCNTH LD TEMP NORM COUNT K1008540
7CA9 D400 7ABC 859 | STO L NCNT SAVE K1008550
7CAB 6500 0000 860 | RXR1H LDX L1 *-* RESTORE I/P STRING POINTER K1008560
861 | * K1008570
862 | * PUT OUT SPECIAL QUOTE K1008580
7CAD 6A06 863 | STX 2 JAMES+1 SAVE O/P STRING POINTER K1008590
7CAE 6680 7C6E 864 | LDX I2 JAMEY LD START OF QUOTE AREA PT K1008600
7CB0 C200 865 | LD 2 0 LD FIRST WD OF QUOTE AREA K1008610
7CB1 E8BB 866 | OR CT ADD NO CHARS K1008620
7CB2 D200 867 | STO 2 0 SAVE IN FIRST WORD K1008630
7CB3 6600 0000 868 | JAMES LDX L2 0 RESTORE O/P STRING POINTER K1008640
869 | * K1008650
870 | * CT LESS THAN 146 K1008660
7CB5 C0B7 871 | LD CT LD HOLL CHAR CNT K1008670
7CB6 4C20 7CC2 872 | BSC L NZER,Z BR IF CNT NON-ZERO K1008680
7CB8 72FF 873 | MDX 2 -1 DECREMENT OUTPUT POINTER K1008690
7CB9 74FF 7DA5 874 | MDX L TABC,-1 IF ZERO LENGTH LITERAL K1008700
7CBB 1000 875 | NOP (MAY SKIP) K1008710
7CBC 74FF 7ABA 876 | MDX L REDO,-1 DECR REDO K1008720
7CBE 1000 877 | NOP (MAY SKIP) K1008730
7CBF 7401 7BAA 878 | MDX L LOOP,1 INCR LOOP K1008740
7CC1 1000 879 | NOP (MAY SKIP) K1008750
7CC2 880 | NZER EQU * K1008760
7CC2 90AD 881 | S C146 SUBTRACT MAX SIZE LITERAL K1008770
7CC3 4C28 7CCA 882 | BSC L JILL,+Z BR IF LITERAL LT 146 K1008780
883 | * K1008790
884 | * SET UP ERROR 29 K1008800
7CC5 C0A9 885 | ERR29 LD ER29 LD ERR 29 CON K1008810
7CC6 D400 7AAA 886 | STO L ERRNO SAVE IN ERR NO. K1008820
7CC8 4C00 7A7F 887 | BSC L BAKER BR TO OUTPUT ERR K1008830
888 | * K1008840
889 | * NORMALIZE SW12 K1008850
7CCA 1010 890 | JILL SLA 16 CLEAR ACC K1008860
7CCB D400 7B1F 891 | STO L SW12 SET NON-QUOTE TYPE SPEC. K1008870
7CCD 7010 892 | MDX HILO+3 BR TO CONT WITH STRING K1008880
893 | * K1008890
894 | * OUTPUT HOLLERITH CHARACTERS K1008900
895 | * PACKED 2 TO A WORD K1008910
896 | * TEST SW7 K1008920
7CCE C400 7AA1 897 | LOB LD L SW7 LD LEFT/RIGHT SW K1008930
7CD0 4C18 7CF5 898 | BSC L GAM,+- BR IF LEFT K1008940
899 | * K1008950
900 | * NORMALIZE SW7 K1008960
7CD2 1010 901 | SLA 16 CLEAR ACC K1008970
7CD3 D400 7AA1 902 | STO L SW7 SET SW TO LEFT FOR NXT CHAR K1008980
903 | * K1008990
904 | * PUT Y X K1009000
7CD5 C092 905 | LD Y LD LEFT HOLL CHAR TO BE O/P K1009010
7CD6 1008 906 | SLA 8 SHIFT TO LEFT HALF OF WD K1009020
7CD7 EC00 7B12 907 | OR L X ADD PRESENT CHAR RIGHT HALF K1009030
7CD9 4400 7DA9 908 | BSI L PUT BR TO PUT PACKED WD IN O/P K1009040
909 | * K1009050
910 | * WW=WW-1 K1009060
7CDB 74FF 7BAB 911 | HILO MDX L WW,-1 DECR TOTAL FIELD WIDTH K1009070
912 | * K1009080
913 | * WW=0 K1009090
7CDD 70A3 914 | MDX KILO BR TO GET NXT CHAR IF ANY K1009100
915 | * K1009110
916 | * TEST SW7 K1009120
7CDE C400 7AA1 917 | LD L SW7 TEST FOR LEFT CHAR TO O/P K1009130
7CE0 4C18 7CEB 918 | BSC L LIMA,+- BR IF LEFT CHAR TO O/P K1009140
919 | * K1009150
920 | * PUT Y BLANK K1009160
7CE2 C085 921 | LD Y LD LEFT CHAR K1009170
7CE3 1008 922 | SLA 8 SHIFT TO LEFT HALF OF WD K1009180
7CE4 EC00 7C67 923 | OR L BLANK ADD EBC BLANK IN RIGHT HALF K1009190
7CE6 4400 7DA9 924 | BSI L PUT PUT WD ON O/P STRING K1009200
925 | * K1009210
926 | * NORMALIZE SW7 K1009220
7CE8 1010 927 | SLA 16 CLEAR ACC TO SET LEFT HALF K1009230
7CE9 D400 7AA1 928 | STO L SW7 *O/P SW FOR NEXT HOLL O/P K1009240
929 | * K1009250
930 | * TAG SW8 K1009260
7CEB 7401 7AA2 931 | LIMA MDX L SW8,1 SET COMMA MANDATORY SW K1009270
932 | * K1009280
933 | * NORMALIZE SW11 K1009290
7CED 1010 934 | SLA 16 CLEAR ACC TO SET NOT H OR K1009300
7CEE D400 7C71 935 | STO L SW11 *QUOTE SPEC SW K1009310
936 | * K1009320
937 | * GET X K1009330
7CF0 4400 7D5C 938 | BSI L GET GET NXT CHAR K1009340
7CF2 D400 7B12 939 | STO L X SAVE K1009350
7CF4 7033 940 | MDX QUAD BR TO PROCESS NEW SPEC K1009360
941 | * K1009370
942 | * Y=X K1009380
7CF5 C400 7B12 943 | GAM LD L X GET STRING CHAR FOR LEFT K1009390
7CF7 D400 7C68 944 | STO L Y *HAND O/P OF PACKED WD K1009400
945 | * K1009410
946 | * TAG SW7 K1009420
7CF9 7401 7AA1 947 | MDX L SW7,1 SET SW FOR RIGHT CHAR NXT K1009430
7CFB 70DF 948 | MDX HILO CONTINUE PROCESSING STRING K1009440
949 | * K1009450
950 | * TAG SW2 K1009460
7CFC 7401 7A9C 951 | OLD MDX L SW2,1 SET I TYPE SPEC SW K1009470
952 | * K1009480
953 | * TAG SW3 K1009490
7CFE 7401 7A9D 954 | POP MDX L SW3,1 SET 2ND NO. OF SPEC SW K1009500
955 | * K1009510
956 | * REP=SUM K1009520
7D00 C400 7A9A 957 | LD L SUM LD FIELD WIDTH K1009530
7D02 D400 7BB0 958 | STO L REP SAVE IN REPEAT K1009540
959 | * K1009550
960 | * CALL NLIZE K1009560
7D04 4400 7DBE 961 | BSI L NLIZE CLEAR SUM, SW15 K1009570
962 | * K1009580
963 | * TAG SW1 K1009590
7D06 7401 7A9B 964 | MDX L SW1,1 SET END OF SPEC SW K1009600
7D08 6400 7AF3 965 | LDX L DOG BR FOR NXT SPEC TYPE K1009610
966 | * K1009620
967 | * BUILD SPECIFICATIONS K1009630
7D0A C400 7BAC 968 | K LD L DD LD DECML FIELD WIDTH K1009640
7D0C 1007 969 | SLA 7 LEFT JUSTIFY K1009650
7D0D EC00 7BAB 970 | OR L WW ADD TOT FIELD WIDTH-RIGHT K1009660
7D0F E837 971 | OR COMTP ADD O/P TYPE INDICATOR K1009670
972 | * K1009680
973 | * PUT SPECIFICATION K1009690
7D10 4400 7DA9 974 | BSI L PUT PUT SPEC ON O/P STRING K1009700
975 | * K1009710
976 | * DD=0 K1009720
7D12 1010 977 | SLA 16 CLEAR ACC K1009730
7D13 D400 7BAC 978 | STO L DD CLEAR DECML FIELD WIDTH K1009740
979 | * K1009750
980 | * WW=0 K1009760
7D15 D400 7BAB 981 | STO L WW CLEAR TOTAL FIELD WIDTH K1009770
982 | * K1009780
983 | * REP=0 K1009790
7D17 C400 7BB0 984 | LD L REP TEST REPEAT COUNT K1009800
7D19 4C18 7D28 985 | BSC L QUAD,+- BR IF 0 FOR NXT SPEC K1009810
986 | * K1009820
987 | * REP=1 K1009830
7D1B 9400 7B72 988 | S L ONE SUBTRACT 1 K1009840
7D1D 4C18 7D25 989 | BSC L ZEBRA,+- BR IF = 1 K1009850
990 | * K1009860
991 | * PUT REPEAT K1009870
7D1F C400 7C6B 992 | LD L N9 LD REPEAT INDICATOR K1009880
7D21 EC00 7BB0 993 | OR L REP ADD REPEAT COUNT K1009890
7D23 4400 7DA9 994 | BSI L PUT PUT ON O/P STRING K1009900
995 | * K1009910
996 | * REP=0 K1009920
7D25 1010 997 | ZEBRA SLA 16 CLEAR ACC K1009930
7D26 D400 7BB0 998 | STO L REP CLEAR REPEAT COUNT K1009940
999 | * K1009950
1000 | * NEW SPECIFICATION TYPE TO BE K1009960
1001 | * PROCESSED K1009970
1002 | * NORMALIZE SW1 K1009980
7D28 1010 1003 | QUAD SLA 16 CLEAR ACC TO SET BEGINNING K1009990
7D29 D400 7A9B 1004 | STO L SW1 *OF SPEC SW K1010000
1005 | * K1010010
1006 | * X=COMMA K1010020
7D2B C400 7B12 1007 | LD L X LD STRING WD K1010030
7D2D 9400 7C69 1008 | S L COMMA SUBTRACT EBC COMMA K1010040
7D2F 4C20 7D37 1009 | BSC L CATT,Z BR IF COMMA NOT FOUND K1010050
1010 | * K1010060
1011 | * NORMALIZE SW15 (DIGIT ENCOUNTERED SW) K1010070
7D31 D400 7ABF 1012 | STO L SW15 SET DIGIT NOT ENCOUNTERED K1010080
1013 | * K1010090
1014 | * NORMALIZE SW8 (MANDATORY COMMA) K1010100
7D33 D400 7AA2 1015 | STO L SW8 SET COMMA MANDATORY K1010110
7D35 4C00 7AF3 1016 | BSC L DOG BR TO CALC FIELD WIDTH K1010120
1017 | * K1010130
1018 | * TEST SW8 K1010140
7D37 C400 7AA2 1019 | CATT LD L SW8 LD COMMA MANDATORY SW K1010150
7D39 4C18 7B3C 1020 | BSC L ECHO,+- BR IF COMMA MANDATORY K1010160
1021 | * K1010170
1022 | * NORMALIZE SW8 K1010180
7D3B 1010 1023 | SLA 16 CLEAR ACC K1010190
7D3C D400 7AA2 1024 | STO L SW8 SET COMMA MANDATORY SW K1010200
7D3E C400 7B12 1025 | LD L X LD STRING CHAR K1010210
7D40 6400 7AF6 1026 | LDX L DOG+3 BR TO PROCESS K1010220
1027 | * K1010230
1028 | * CONSTANTS K1010240
7D42 4000 1029 | XTYPE DC /4000 X TYPE SPEC CONSTANT K1010250
7D43 1000 1030 | FTYPE DC /1000 F TYPE SPEC CONSTANT K1010260
7D44 0000 1031 | ETYPE DC 0 E TYPE SPEC CONSTANT K1010270
7D45 2000 1032 | ITYPE DC /2000 I TYPE SPEC CONSTANT K1010280
7D46 3000 1033 | ATYPE DC /3000 A TYPE SPEC CONSTANT K1010290
7D47 0000 1034 | COMTP DC 0 CON INDICATING O/P TYPE K1010300
1035 | * K1010310
1036 | * SET INDICATORS FOR VARIOUS TYPE K1010320
1037 | * SPECIFICATIONS K1010330
1038 | * INDICATE X TYPE K1010340
7D48 C0F9 1039 | ZX LD XTYPE LD X TYPE CONSTANT K1010350
7D49 D0FD 1040 | STO COMTP SAVE IN CONSTANT TYPE K1010360
7D4A 4C00 7C34 1041 | BSC L F BR TO CALC FIELD WIDTH K1010370
1042 | * K1010380
1043 | * INDICATE F TYPE K1010390
7D4C C0F6 1044 | B LD FTYPE LD F TYPE SPEC CONSTANT K1010400
7D4D D0F9 1045 | STO COMTP SAVE CONSTANT TYPE K1010410
7D4E 4400 7DC6 1046 | BB BSI L SUBR CLEAR SUM AND SW15 K1010420
7D50 70AB 1047 | MDX OLD BR TO CONTINUE K1010430
1048 | * K1010440
1049 | * INDICATE E TYPE K1010450
7D51 C0F2 1050 | C LD ETYPE LD E TYPE SPEC CONSTANT K1010460
7D52 D0F4 1051 | STO COMTP SAVE CONSTANT TYPE K1010470
7D53 70FA 1052 | MDX BB BR TO CONTINUE K1010480
1053 | * K1010490
1054 | * INDICATE I TYPE K1010500
7D54 C0F0 1055 | D LD ITYPE LD I TYPE SPEC CONSTANT K1010510
7D55 D0F1 1056 | STO COMTP SAVE CONSTANT TYPE K1010520
7D56 4400 7DC6 1057 | DD2 BSI L SUBR CLEAR SW15 AND SUM K1010530
7D58 70A5 1058 | MDX POP BR TO CONTINUE K1010540
1059 | * K1010550
1060 | * INDICATE A TYPE K1010560
7D59 C0EC 1061 | I LD ATYPE LD A TYPE SPEC CONSTANT K1010570
7D5A D0EC 1062 | STO COMTP SAVE K1010580
7D5B 70FA 1063 | MDX DD2 BR TO CONTINUE K1010590
1064 | * K1010600
1065 | * SUBROUTINE TO GET A WORD FROM A K1010610
1066 | * FORMAT STATEMENT FOR ANALYSIS K1010620
1067 | * TAKES PACKED EBC CHARS FROM INPUT K1010630
1068 | * STRING AND EMITS ONE CHAR AT A TIME K1010640
1069 | * RIGHT JUSTIFIED IN THE ACCUMULATOR K1010650
1070 | * K1010660
7D5C 0000 1071 | GET DC 0 BSI ENTRY POINT K1010670
1072 | * K1010680
1073 | * TEST SW5 FOR END OF STMNT K1010690
7D5D C400 7A9F 1074 | GETY LD L SW5 LD END OF STMNT SW K1010700
7D5F 4C18 7D7B 1075 | BSC L MAT,+- BR IF NOT END OF STMNT K1010710
1076 | * K1010720
1077 | * TEST SW9 K1010730
7D61 C400 7AA3 1078 | LD L SW9 LD REDO SW K1010740
7D63 4C18 7D77 1079 | BSC L FAT,+- BR IF NOT OK TO O/P REDO K1010750
1080 | * K1010760
1081 | * RE-ADJUST ID NORM K1010770
7D65 6A0C 1082 | STX 2 ZR+1 SAVE O/P STRING POINTER K1010780
7D66 6680 7DA4 1083 | LDX I2 VIGG LD I/D LOC OF O/P STRING K1010790
7D68 C03C 1084 | LD TABC LD NO. WDS O/P STRING K1010800
7D69 8400 7ABD 1085 | A L TWO ADD 2 FOR STMNT NO. AND ID K1010810
7D6B 1002 1086 | SLA 2 SHIFT TO NORM (BITS 6-13) K1010820
7D6C D038 1087 | STO TABC SAVE IN COUNT AREA K1010830
7D6D C200 1088 | LD 2 0 LD ID WD O/P STRING K1010840
7D6E E037 1089 | AND MATB MASK OUT PREV STMNT NORM K1010850
7D6F E835 1090 | OR TABC MASK IN NEW NORM K1010860
7D70 D200 1091 | STO 2 0 SAVE NEW ID WD O/P STRING K1010870
7D71 6600 0000 1092 | ZR LDX L2 0 LD ACTUAL O/P STRING PT K1010880
7D73 6E00 7AA9 1093 | STX L2 NEOFS SAVE AS END OF STRING K1010890
7D75 4C00 7A5C 1094 | BSC L ABEL BR TO PROCESS NXT STMNT K1010900
1095 | * K1010910
1096 | * PUT BLANK IN A REGISTER K1010920
7D77 C400 7C67 1097 | FAT LD L BLANK LD EBC BLANK K1010930
7D79 4C80 7D5C 1098 | BSC I GET RETURN TO CALLING PROGRAM K1010940
1099 | * K1010950
1100 | * TEST SW4 K1010960
7D7B C400 7A9E 1101 | MAT LD L SW4 LD LEFT/RIGHT CHAR SW K1010970
7D7D 4C20 7D95 1102 | BSC L LUKE,Z BR IF RIGHT CHAR K1010980
1103 | * K1010990
1104 | * TAG SW4 K1011000
7D7F 7401 7A9E 1105 | MDX L SW4,1 SET SW TO PROCESS RIGHT NXT K1011010
1106 | * K1011020
1107 | * PUT LEFT CHAR. IN A REGISTER K1011030
7D81 C100 1108 | LD 1 0 LD WD I/P STRING K1011040
7D82 1808 1109 | SRA 8 CHAR IN BITS 8-15 K1011050
7D83 E400 7AB0 1110 | AND L MASK MASK OUT BIS 0-7 K1011060
7D85 D01D 1111 | STO WALT SAVE IN TEMP STORAGE K1011070
1112 | * K1011080
1113 | * TEST SW11 K1011090
7D86 C400 7C71 1114 | ABIT LD L SW11 LD QUOTE TYPE SPEC SW K1011100
7D88 4C18 7D8C 1115 | BSC L LARR,+- BR IF NOT QUOTE TYPE K1011110
7D8A C018 1116 | LD WALT LD O/P WD K1011120
7D8B 7007 1117 | MDX LARR+7 BR TO EXIT K1011130
1118 | * K1011140
1119 | * IS CHARACTER BLANK K1011150
7D8C C016 1120 | LARR LD WALT LD CHAR FROM TEMP STO K1011160
7D8D 9400 7C67 1121 | S L BLANK TEST FOR EBC BLANK K1011170
7D8F 4C18 7D5D 1122 | BSC L GETY,+- BR IF BLANK TO GET NXT CHAR K1011180
7D91 8400 7C67 1123 | A L BLANK ELSE, RESTORE CHAR K1011190
7D93 4C80 7D5C 1124 | BSC I GET RETURN TO CALLING PROGRAM K1011200
1125 | * K1011210
1126 | * NORMALIZE SW4 K1011220
7D95 1010 1127 | LUKE SLA 16 SET LEFT/RIGHT CHAR SW FOR K1011230
7D96 D400 7A9E 1128 | STO L SW4 *LEFT CHAR NEXT TIME K1011240
1129 | * K1011250
1130 | * PUT RIGHT CHAR IN A REGISTER K1011260
7D98 C100 1131 | LD 1 0 LD WD FR I/P STRING K1011270
7D99 E400 7AB2 1132 | AND L MASKK MASK OUT BITS 0-7 K1011280
7D9B D007 1133 | STO WALT SAVE IN TEMPORARY STORAGE K1011290
1134 | * K1011300
1135 | * MOVE POINTER 1 K1011310
7D9C 7101 1136 | MDX 1 1 INCR INPUT STRING POINTER K1011320
1137 | * K1011330
1138 | * NCNT=NCNT-1 K1011340
7D9D 74FF 7ABC 1139 | MDX L NCNT,-1 DECR COUNT OF WDS IN STMNT K1011350
1140 | * K1011360
1141 | * NCNT=0 K1011370
7D9F 70E6 1142 | MDX ABIT BR IF COUNT NOT FINISHED K1011380
1143 | * K1011390
1144 | * TAG SW5 K1011400
7DA0 7401 7A9F 1145 | MDX L SW5,1 SET END OF STMNT SW K1011410
7DA2 70E3 1146 | MDX ABIT BR TO TEST CHAR K1011420
1147 | * K1011430
1148 | * CONSTANTS K1011440
7DA3 0000 1149 | WALT DC 0 TEMP STO FOR CHAR OBTAINED K1011450
7DA4 0000 1150 | VIGG DC 0 LOC OF STMNT ID K1011460
7DA5 0000 1151 | TABC DC 0 NO. WDS O/P STRING STMNT K1011470
7DA6 F803 1152 | MATB DC /F803 MASK TO CLEAR NORM ID WD K1011480
7DA7 0000 1153 | VAB DC 0 TEMP STO I/P STRING PT K1011490
7DA8 0000 1154 | VAB1 DC 0 TEMP STO O/P STRING PT K1011500
1155 | * K1011510
1156 | * SUBROUTINE TO PUT WORD ON OUTPUT K1011520
1157 | * STRING. ACC CONTAINS WORD TO BE K1011530
1158 | * OUTPUT ON ENTRY TO THIS SUBROUTINE. K1011540
1159 | * K1011550
7DA9 0000 1160 | PUT DC 0 SUBROUTINE ENTRY POINT K1011560
1161 | * K1011570
1162 | * PUT A REGISTER IN BUILD BUFFER K1011580
7DAA D200 1163 | STO 2 0 SAVE O/P WD IN STRING K1011590
7DAB 7401 7DA5 1164 | MDX L TABC,1 INCR O/P WD CNT K1011600
1165 | * K1011610
1166 | * MOVE POINTER K1011620
7DAD 7201 1167 | MDX 2 1 INCR O/P STRING PT K1011630
1168 | * K1011640
1169 | * CHECK OVERLAP K1011650
7DAE 69F9 1170 | STX 1 VAB1 SAVE I/P STRING PT K1011660
7DAF 6AF7 1171 | STX 2 VAB SAVE O/P STRING PT K1011670
7DB0 C0F7 1172 | LD VAB1 COMPARE I/P POINTER K1011680
7DB1 90F5 1173 | S VAB * WITH OUTPUT POINTER K1011690
7DB2 4C10 7DB8 1174 | BSC L VAB2,- BR IF I/P GE O/P K1011700
1175 | * K1011710
1176 | * SET UP OVERLAP ERROR K1011720
7DB4 7401 7A2D 1177 | MDX L ERROR,1 SET SYSTEM OVERLAP ERR FLAG K1011730
7DB6 4C00 7A3C 1178 | BSC L OUT BR TO EXIT FR COMPILER K1011740
1179 | * K1011750
1180 | * REDO=REDO + 1 K1011760
7DB8 7401 7ABA 1181 | VAB2 MDX L REDO,1 INCR REDO COUNT K1011770
1182 | * K1011780
1183 | * LOOP=LOOP-1 K1011790
7DBA 74FF 7BAA 1184 | MDX L LOOP,-1 INCR LOOP COUNT K1011800
7DBC 4C80 7DA9 1185 | BSC I PUT RETURN TO CALLING PROGRAM K1011810
1186 | * K1011820
1187 | * THIS SUBR NORMALIZES SUM AND SW15 K1011830
1188 | * K1011840
7DBE 0000 1189 | NLIZE DC 0 SUBROUTINE ENTRY POINT K1011850
1190 | * K1011860
1191 | * SUM = 0 K1011870
7DBF 1010 1192 | SLA 16 CLEAR ACC K1011880
7DC0 D400 7A9A 1193 | STO L SUM CLEAR FIELD WIDTH K1011890
1194 | * K1011900
1195 | * NORMALIZE SW15 K1011910
7DC2 D400 7ABF 1196 | STO L SW15 CLEAR DIGIT ENCOUNTERED SW K1011920
7DC4 4C80 7DBE 1197 | BSC I NLIZE RETURN TO CALLING PROG K1011930
1198 | * K1011940
1199 | * THIS ROUTINE TESTS SW15 AND SUM K1011950
1200 | * K1011960
7DC6 0000 1201 | SUBR DC 0 SUBROUTINE ENTRY POINT K1011970
1202 | * K1011980
1203 | * SW15 TAGED K1011990
7DC7 C400 7ABF 1204 | LD L SW15 TEST FOR DIGIT ENCOUNTERED K1012000
7DC9 4818 1205 | BSC +- SKIP IF YES K1012010
7DCA 7004 1206 | MDX OUT2 RETURN TO CALLING PROG IF N K1012020
1207 | * K1012030
1208 | * SUM=0 K1012040
7DCB C400 7A9A 1209 | LD L SUM LD FIELD WIDTH K1012050
7DCD 4C18 7B09 1210 | BSC L J,+- BR TO ERR IF = 0 (ERR 27) K1012060
7DCF 4C80 7DC6 1211 | OUT2 BSC I SUBR RETURN TO CALLING PROG IF N K1012070
7DD1 1212 | BSS BPHAR+PHLEN*320-1-* PATCH AREA K1012080
7DF5 0000 1213 | DC 0 K1012090
7DF6 1214 | END BPHAR-2 K1012100
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
$PHSE 0078 89 146
AA 7B18 388 424
ABEL 7A5C 182 210 244 1094
ABIT 7D86 1114 1142 1146
ACH 7B16 386 416
ACON 7BBA 577 601
ATYPE 7D46 1033 1061
B 7D4C 1044 405
BAKER 7A7F 223 373 378 887
BB 7D4E 1046 1052
BCON 7BBB 578 605
BK 7BE4 629 590 598 669
BLANK 7C67 779 923 1097 1121 1123
BOX 7BB1 568 662 672
BOY 7BEE 637 602
BOY1 7BF0 641 606
BOY2 7BF2 645 610
BOY3 7BF4 649 614 638
BOY4 7BF6 653 618
BOY5 7BF8 657 622
BOY6 7BFA 661 626 642 646 650 654 658
BPHAR 7A36 138 1212 1214
BT11 7C11 688
BT11A 7C0F 686 678
BTEST 7BFC 665
C 7D51 1050 409
C146 7C70 788 881
CATT 7D37 1019 1009
CBEL 7A66 193 186
CCWD 7A31 109
COMMA 7C69 781 1008
COMON 7A2B 103
COMTP 7D47 1034 447 971 1040 1045 1051 1056 1062
CSIZE 7A2C 104
CT 7C6D 785 800 835 866 871
D 7D54 1055 413
DCON 7BBE 581 617
DD 7BAC 563 764 968 978
DD2 7D56 1057 1063
DECEM 7A78 213 194
DFCNT 7A33 130
DIV 7B1A 390 434
DOG 7AF3 341 368 558 712 965 1016 1026
E 7C64 775 417
ECHO 7B3C 433 1020
EE 7B14 384 408
EITC 7B71 490 502
ENDC 7AA5 261 185
EOFS 7A25 97 162 163 189
EOFST 7A2A 102 161
ER29 7C6F 787 885
ER30 7B1E 394 376
ERIID 7A99 248 233
ERR29 7CC5 885 363 828
ERR30 7B0D 376 542 760 768
ERRA 7AA7 263 219
ERRB 7AB8 280 371
ERRID 7AAE 270 237
ERRNO 7AAA 266 220 239 372 377 886
ERROR 7A2D 105 149 1177
ETYPE 7D44 1031 1050
EYE 7B15 385 412
F 7C34 727 776 1041
FAT 7D77 1097 1079
FEF 7B13 383 404
FNAME 7A2E 106
FORMC 7AA6 262 193
FOX 7B73 497 474
FTYPE 7D43 1030 1044
GAM 7CF5 943 898
GET 7D5C 1071 334 341 485 514 597 665 749 812 849 938 1098 1124
GET1 7AAF 271 228 243
GETY 7D5D 1074 1122
GREP 7B1C 392 330 473 497 503 511 691 704
GRP 7BC4 590
GRP1 7C13 691 430 634
HILO 7CDB 911 892 948
I 7D59 1061 425
IDNRM 7AAC 268 200 225 311
IDSAV 7AAB 267 213 227
IDSTO 7AA8 264 215 223 230
IDTPE 7AA4 260 184
INDIC 7AC0 292 216
INK 7B4E 452 443
IOCS 7A32 118
ITYPE 7D45 1032 1055
J 7B09 371 338 454 456 470 486 527 547 692 716 728 732 755
1210
JAM 7A8B 233 231 232 236
JAMES 7CB3 868 863
JAMEY 7C6E 786 803 864
JILL 7CCA 890 882
K 7D0A 968 537 751 772
KILO 7C81 812 914
LARR 7D8C 1120 1115 1117
LCON 7BBF 582 621
LIMA 7CEB 931 688 721 918
LOB 7CCE 897 817 836
LOB2 7C92 830 853
LOB3 7C99 842 822
LOOP 7BAA 561 317 505 711 878 1184
LOOPP 7A50 168 173
LP 7B19 389 429
LUKE 7D95 1127 1102
LUP 7A70 203 208
LXQ 7A46 161 150
M 7C4E 754 523
MAN 7B5E 468 439
MASK 7AB0 272 294 1110
MASK1 7AB1 273 302
MASK2 7AB5 277 345 354
MASKK 7AB2 274 1132
MAT 7D7B 1101 1075
MATB 7DA6 1152 1089
MEMRY 8000 86 87 88
MONE 7AB9 281 316 710
N127 7BAD 564 541
N145 7AB7 279 362
N31 7BAF 566 759
N5 7C6A 782 804
N7 7BAE 565 719
N9 7C6B 783 681 992
NCNT 7ABC 284 314 593 633 827 844 859 1139
NCNTH 7C74 793 845 858
NEOFS 7AA9 265 176 209 229 242 1093
NINE 7ABE 286 347
NLIZE 7DBE 1189 533 686 707 739 771 961 1197
NORM 7ABB 283 315
NRMSV 7AAD 269 226 312
NXTPH 7A42 157 141 153 154
NZER 7CC2 880 872
O 7C75 796 464 743
OLD 7CFC 951 1047
ONE 7B72 491 498 506 703 988
OPA 7BB2 569 637
OPB 7BB3 570 641
OPD 7BB6 573 653
OPL 7BB7 574 657
OPR 7BB8 575 661
OPS 7BB4 571 645
OPT 7BB5 572 649
ORG 7A23 95
ORIG 7A5A 179 174
OUT 7A3C 153 190 1178
OUT2 7DCF 1211 1206
OVERL 7A23 87 90
PARNL 7B11 381 337
PERD 7B70 489 546
PHID 0028 91 145
PHLEN 0003 92 1212
POP 7CFE 954 449 1058
PUT 7DA9 1160 479 504 507 673 683 720 806 908 924 974 994 1185
QUAD 7D28 1003 519 940 985
QUOTC 7C6C 784 453 821 852
RCON 7BC0 583 625
REDO 7ABA 282 328 477 695 876 1181
REP 7BB0 567 329 727 958 984 993 998
ROL 7FBC 88 155
RP 7C2A 715 435
RPARN 7BC1 584 668
RPET 7B1B 391 438
RXR1H 7CAB 860 846
SAVE 7AB3 275 299 300
SCON 7BBC 579 609
SOFGT 7A29 101
SOFNS 7A27 99
SOFS 7A24 96 164 175
SOFST 7A26 98 298
SOFXT 7A28 100
SORF 7A30 108
START 7A36 145
SUBR 7DC6 1201 448 676 698 1046 1057 1211
SUM 7A9A 250 323 351 356 455 526 677 682 701 715 731 735 758
763 957 1193 1209
SW1 7A9B 251 399 964 1004
SW11 7C71 789 326 809 935 1114
SW12 7B1F 395 327 459 816 891
SW15 7ABF 287 331 360 468 754 1012 1196 1204
SW16 7B20 396 367 469 550
SW2 7A9C 252 536 554 951
SW3 7A9D 253 522 557 954
SW4 7A9E 254 591 631 842 857 1101 1105 1128
SW45H 7C72 791 592 630 843 856
SW5 7A9F 255 1074 1145
SW6 7AA0 256 742 775 797
SW7 7AA1 257 897 902 917 928 947
SW8 7AA2 258 518 746 931 1015 1019 1024
SW9 7AA3 259 482 1078
TABC 7DA5 1151 321 874 1084 1087 1090 1164
TCON 7BBD 580 613
TCON1 7BC2 585 442
TEN 7AB6 278 352
TENC 7B1D 393 478
THREE 7AB4 276 295 297
TST 7B21 399 346 348
TST1 7B89 522 400
TTYPE 7BC3 586 446
TWO 7ABD 285 313 830 1085
V1S1 7BB9 576 594 632
VAB 7DA7 1153 1171 1173
VAB1 7DA8 1154 1170 1172
VAB2 7DB8 1181 1174
VENT 7A98 247 197
VENT1 7A6E 202 201
VIGG 7DA4 1150 309 1083
WALT 7DA3 1149 545 1111 1116 1120 1133
WW 7BAB 562 463 530 540 736 767 805 832 911 970 981
X 7B12 382 342 355 403 428 433 452 515 750 813 820 907 939
943 1007 1025
XENO 7B7F 510 499
XEX 7B17 387 420
XTYPE 7D42 1029 1039
XX 7A4D 166 165
Y 7C68 780 905 921 944
ZEBRA 7D25 997 989
ZR 7D71 1092 1082
ZX 7D48 1039 421