ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:09 2020
Source File: \u2prnt1.asm
LIBF PRNT1
2 | *************************************************** U2J00010
3 | * * U2J00020
4 | * TITLE - PRNT1 * U2J00030
5 | * * U2J00040
6 | *STATUS - VERSION 2, MODIFICATION 12 * U2J00050
7 | * * U2J00060
8 | * FUNCTION/OPERATION - PRNT1 CAN PERFORM THE * U2J00070
9 | * FOLLOWING FUNCTIONS * U2J00080
10 | * 1. TEST * U2J00090
11 | * 2. PRINT * U2J00100
12 | * 3. CONTROL CARRIAGE * U2J00110
13 | * 4. PRINT NUMERICAL * U2J00120
14 | * * U2J00130
15 | * ENTRY POINTS - * U2J00140
16 | * 1. PRNT1 CALL ENTRANCE, LIBF PRNT1 * U2J00150
17 | * 2. INT1 INTERRUPT ENTRANCE FROM ILS01 * U2J00160
18 | * * U2J00170
19 | * INPUT - THE I/O AREA CONTAINS EBCDIC CHARACTERS * U2J00180
20 | * PACKED TWO PER WORD * U2J00190
21 | * * U2J00200
22 | * OUTPUT - PRINTED ON 1132 PRINTER * U2J00210
23 | * * U2J00220
24 | * EXTERNAL SUBROUTINES - NONE * U2J00230
25 | * * U2J00240
26 | * EXITS - * U2J00250
27 | * NORMAL * U2J00260
28 | * 1. CALL PORTION - FC58, BACK TO USER. * U2J00270
29 | * 2. INTERRUPT PORTION - OUT, BACK TO ILS01 * U2J00280
30 | * ERROR * U2J00290
31 | * 1. CALL PORTION - IF PRE-OP ERROR IS DETECT* U2J00300
32 | * *ED, SUBROUTINE BRANCHES TO $PRET AND * U2J00310
33 | * DISPLAYS 6000 OR 6001 IN ACCUMULATOR. * U2J00320
34 | * 2. INTERRUPT PORTION - IF CARRIAGE CHANNEL * U2J00330
35 | * 9 OR 12 IS DETECTED, SUBROUTINE PERFORMS* U2J00340
36 | * BSI TO USER'S ERROR SUBROUTINE WITH 0003* U2J00350
37 | * OR 0004 RESPECTIVELY IN ACCUMULATOR. * U2J00360
38 | * * U2J00370
39 | * TABLES/WORK AREAS - NONE * U2J00380
40 | * * U2J00390
41 | * ATTRIBUTES - REUSABLE * U2J00400
42 | * * U2J00410
43 | * NOTES - EBCDIC CHARACTERS NOT INCLUDED IN 1132 * U2J00420
44 | * CHARACTER SET ARE PRINTED AS BLANKS. * U2J00430
45 | * * U2J00440
46 | *************************************************** U2J00450
47 | * EJCT BLK REMOVED U2J00460
48 | LIBR U2J00470
0000 49 | 1130 ISS 06 PRNT1 1 U2J00480
0000 697F 50 | PRNT1 STX 1 FC58+1 CALL ENTRANCE (+0) U2J00490
0001 6580 0000 51 | LDX I1 *-* ADDR OF 1ST PARAM +2 U2J00500
0003 7068 52 | MDX FC10 TO PROCESS CALL U2J00510
0004 0000 53 | INT1 DC *-* INTERRUPT ENTRANCE +4 U2J00520
0005 4C00 0124R 54 | BSC L FC50 TO INTRPT PROCESSING U2J00530
55 | * U2J00540
56 | *CONSTANTS AND BUFFER AREA U2J00550
57 | * U2J00560
0007 0000 58 | WHEEL DC *-* STORAGE FOR WHEEL CHAR U2J00570
0008 59 | BSS E U2J00580
0008 0000 60 | AQ DC 0 SAVE ACC AND EXT U2J00590
0009 0000 61 | DC 0 * U2J00600
000A 6001 62 | H6001 DC /6001 ERROR CODE U2J00610
63 | * U2J00620
64 | *THIS SECTION DOES THE SHIFT TO POSITION SCAN BITS, U2J00630
65 | *STORES THEM IN THE SCAN FIELD AND KEEPS TRACK OF U2J00640
66 | *THE WORD COUNT. U2J00650
67 | * U2J00660
000B 1082 68 | CKLPS SLT 2 POSITION FOR 2 MORE BITS U2J00670
000C 74FC 0023R 69 | MDX L QTEST,-4 IF A WD IS DONE,BR U2J00680
000E 7036 70 | MDX SCAN *ELSE RET TO GET 2 BITS U2J00690
000F 108E 71 | SLT 14 WHEN EXT FULL,MOVE TO ACC U2J00700
0010 7420 0023R 72 | MDX L QTEST,32 RESET FOR NEXT WD U2J00710
0012 7408 008FR 73 | MDX L NEGW2,8 MODIFY WD CNT U2J00720
0014 D400 0020 74 | PARTM STO L 32 STORE 1 WD IN SCAN FIELD U2J00730
0016 7401 0015R 75 | MDX L PARTM+1,1 INCR SCAN FIELD ADDR U2J00740
0018 702C 76 | MDX SCAN RET TO SET UP NEXT WD U2J00750
77 | * U2J00790
78 | *END OF FORMS ERROR EXIT U2J00800
79 | * U2J00810
0019 C06C 80 | ILGL2 LD STRTP GET ERROR CODE U2J00820
001A 7001 81 | MDX ILLGL+1 EXIT TO CORE LOC 41 U2J00830
82 | * U2J00840
83 | *ERROR EXIT TO CORE LOC 41 W/CALL ADDR IN LOC 40 U2J00850
84 | * U2J00860
001B C0EE 85 | ILLGL LD H6001 GET ERROR CODE U2J00870
001C 6500 0000 86 | LDX L1 *-* GET CALL ADDR AND STORE IN U2J00880
001E 71FF 87 | MDX 1 -1 CORE LOC 40 U2J00890
001F 6D00 0028 88 | STX L1 40 U2J00900
0021 6129 89 | LDX 1 41 SET TO EXIT TO CORE LOC 41 U2J00910
0022 705B 90 | MDX STXIT U2J00920
91 | * U2J00930
92 | *CONSTANTS AND BUFFER AREA U2J00940
93 | * U2J00950
0028 94 | $PRET EQU /28 U2J00952
0020 95 | $SCAN EQU /20 2-10 U2J00955
007F 96 | $1132 EQU /007F SYSTEM 1132 INDICATOR 2-12 U2J00956
0023 0020 97 | QTEST DC 32 16 BITS CTR FOR SCAN ST2-12 U2J00957
0024 98 | BSS E U2J00960
0024 0007R 99 | READE DC WHEEL * U2J00970
0025 3200 100 | DC /3200 READ EMITTER IOCC WDS U2J00980
101 | * U2J01060
102 | *THIS SECTION SETS UP THE BITS FOR THE SCAN FIELD U2J01070
103 | * U2J01080
104 | * U2J01090
0026 08FD 105 | EMIT XIO READE WHEEL CHAR TO EMITTER U2J01100
0027 C069 106 | LD NUM IS NUMERIC INDR ON U2J01110
0028 4C08 0036R 107 | BSC L FC75,+ NO,GO START SCAN SETUP U2J01120
002A C0DC 108 | LD WHEEL GET PRESENT WHEEL CHAR U2J01150
002B 4C10 0030R 109 | BSC L FC74A,- BR IF SPECIAL CHAR 2-12 U2J01155
002D 905E 110 | S KNUM U2J01160
002E 4C28 0163R 111 | BSC L OUT,Z+ NO CMP, BR TO WAIT FOR 212 U2J01170
112 | * * INTRPT ON NEXT WHEEL CHAR U2J01180
0030 74FF 0091R 113 | FC74A MDX L NUM,-1 DO CMP, DECR NUM CTR 2-12 U2J01182
0032 7003 114 | MDX FC75 BR IF CTR NOT = 0 2-12 U2J01184
0033 C059 115 | LD BIN1 SET SCAN COUNTER 2-12 U2J01186
0034 D400 00E2R 116 | STO L CTR48 * = 1 IF CMPLT 2-12 U2J01190
0036 C059 117 | FC75 LD K32 2-10 U2J01192
0037 D0DD 118 | STO PARTM+1 RESET SCAN FIELD ADDR 2-10 U2J01194
0038 D0EA 119 | STO QTEST RESET Q REQ FULL CTR 2-10 U2J01196
0039 C00A 120 | LD NEGWD RESET MODIFIED WD CNT 2-10 U2J01198
003A D054 121 | STO NEGW2 *TO STARTING VALUE 2-10 U2J01200
003B 10A0 122 | SLT 32 CLEAR A & Q 2-11 U2J01203
003C C0CA 123 | LD WHEEL LOAD CHARACTER 2-11 U2J01205
003D 1808 124 | SRA 8 MOVE CHAR TO RT SIDE ACC U2J01210
003E E8C8 125 | OR WHEEL OR CHAR INTO LEFT SIDE U2J01220
003F D0C7 126 | STO WHEEL 2 CHARS NOW AT WHEEL U2J01230
0040 6100 127 | LDX 1 0 RESET CHAR COUNTER 2-10 U2J01235
0041 6D00 0027 128 | STX L1 $SCAN+7 CLEAR THE SCAN CK BIT 2-10 U2J01240
0043 6600 0000 129 | LDX L2 *-* NEG WD CNT TO XR2 2-10 U2J01250
0044R 130 | NEGWD EQU *-1 NEG WD CNT OF MSG 2-10 U2J01255
0045 C600 0000 131 | SCAN LD L2 *-* GET NEXT WD TO BE O/P U2J01260
0047 F0BF 132 | EOR WHEEL CMP W/PRESENT WHEEL CHAR U2J01270
0048 8041 133 | A FF DID LEFT CHAR CMP U2J01280
0049 4C02 004DR 134 | BSC L SCAN1,C NO,BR 2-10 U2J01290
004B 883E 135 | AD BIN2-1 YES,SET 2 BIT IN Q REG U2J01300
004C 7101 136 | MDX 1 1 BUMP CHAR CNT 2-10 U2J01305
004D 1008 137 | SCAN1 SLA 8 DID RT CHAR CMP 2-10 U2J01310
004E 4C20 0052R 138 | BSC L SCANX,Z NO,BR 2-10 U2J01320
0050 883B 139 | AD BIN1-1 YES,SET 1 BIT IN Q REG U2J01330
0051 7101 140 | MDX 1 1 BUMP CHAR CNT 2-10 U2J01335
0052 7201 141 | SCANX MDX 2 1 DECR WD CNT 2-10 U2J01340
0053 70B7 142 | MDX CKLPS IF NOT ZERO,GO DO SHIFT U2J01350
143 | * U2J01360
144 | *WD CNT ZERO, DO FINAL SHIFT AND STORE U2J01370
145 | * U2J01380
0054 C03B 146 | LD K32 RESET CTR THAT TESTS 212 U2J01390
0055 8039 147 | A NEGW2 ADD MODIFIED WD CNT U2J01410
0056 8038 148 | A NEGW2 *TWICE TO SET Q SHIFT U2J01420
0057 D001 149 | STO SETSH+1 *LEFT-JUSTIFIED U2J01430
0058 6600 0000 150 | SETSH LDX L2 *-* SET UP XR2 FOR SLC U2J01440
005A 1810 151 | SRA 16 CLEAR ACC BEFORE SHIFT U2J01450
005B 12C0 152 | SLC 2 COUNT XR2 U2J01460
005C D480 0015R 153 | STO I PARTM+1 STORE FINAL PART OF SCAN U2J01470
005E C400 0027 154 | LD L $SCAN+7 SET SCAN COMPLETE 2-12 U2J01475
0060 E82C 155 | OR BIN1 *INDR 2-12 U2J01476
0061 D400 0027 156 | STO L $SCAN+7 2-12 U2J01478
0063 C07E 157 | LD CTR48 U2J01480
0064 9028 158 | S BIN1 DECR CTR48 U2J01490
0065 D07C 159 | STO CTR48 U2J01500
0066 C07C 160 | LD CTRWD UPDATE THE CHAR CTR 2-10 U2J01510
0067 697C 161 | STX 1 CTRX *TO EQUAL REMAINING 2-10 U2J01520
0068 907B 162 | S CTRX *NUMBER OF CHARS TO BE 2-10 U2J01530
0069 D079 163 | STO CTRWD *PRINTED 2-10 U2J01540
006A 4C00 0163R 164 | BSC L OUT BR TO EXIT INTRPT RTN 2-10 U2J01550
166 | *************************************************** U2J01700
167 | * * U2J01710
168 | *THIS PORTION SERVICES A CALL ENTRANCE * U2J01720
169 | * * U2J01730
170 | *************************************************** U2J01740
006C 69B0 172 | FC10 STX 1 ILLGL+2 ADDR OF CALL+1 STORED U2J01760
006D 6A14 173 | STX 2 FC58+3 SAVE XR2 U2J01770
006E 2814 174 | STS FC58+4 SAVE STATUS U2J01780
006F D898 175 | STD AQ SAVE A AND Q REGS U2J01790
0070 086F 176 | XIO SENSE SENSE PRINTER U2J01800
0071 1005 177 | SLA 5 END OF FORMS TEST U2J01810
0072 4C28 0019R 178 | BSC L ILGL2,+Z IF END, TAKE ERROR EXIT U2J01820
0074 C100 179 | LD 1 0 FETCH 1ST PARAMETER 2-10 U2J01830
0075 188C 180 | SRT 12 WHAT IS THE FUNCTION U2J01840
0076 4820 181 | BSC Z BR IF TEST FUNC U2J01850
0077 701A 182 | MDX FC13 NOT TEST,GO CHK PR OF CTRL U2J01860
0078 0867 183 | XIO SENSE CHK FOR PTR OR CARRIAGE U2J01870
0079 1808 184 | SRA 8 BUSY. U2J01880
007A 4818 185 | BSC +- U2J01890
007B 7101 186 | MDX 1 1 NOT BUSY,EXIT AL CALL+3 U2J01900
007C 7101 187 | MDX 1 1 BUSY, EXIT AT CALL+2 U2J01910
007D C88A 188 | LDD AQ RESTORE A AND Q REGS U2J01920
007E 6906 189 | STXIT STX 1 EXIT+1 SET UP EXIT U2J01930
007F 6500 0000 190 | FC58 LDX L1 *-* RESTORE XR1 U2J01940
0081 6600 0000 191 | LDX L2 *-* RESTORE XR2 U2J01950
0083 2000 192 | LDS *-* RESTORE STATUS U2J01960
0084 4C00 0000 193 | EXIT BSC L *-* EXIT TO MAINLINE U2J01970
194 | * 2-10 U2J01972
195 | *CONSTANTS AND BUFFER AREA 2-10 U2J01974
196 | * 2-10 U2J01976
0086 197 | BSS E 2-10 U2J01978
0086 6000 198 | STRTP DC /6000 END OF FORMS ERROR CODE2-10 U2J01980
0087 3480 199 | DC /3480 START PRINTER IOCC WD 2-10 U2J01982
0088 0030 200 | K48 DC 48 CON TO SET 48 PR CYCLES2-10 U2J01984
201 | * OR 16 IDLE CYCLES. 2-10 U2J01986
0089 000C 202 | K12 DC 12 CON TO SET 2 CYCLES 2-10 U2J01988
008A FF00 203 | FF DC /FF00 SETS CARRY IF NOT CMP 2-10 U2J01990
008B 0002 204 | BIN2 DC 2 SET 1ST CHAR CMP BIT 2-10 U2J01992
008C F000 205 | KNUM DC /F000 USED TO CHK FOR NUMERIC2-12 U2J01994
008D 0001 206 | BIN1 DC 1 SET 2ND CHAR CMP BIT 2-10 U2J01996
008E FFC4 207 | NEG60 DC -60 WD CNT ERROR CHK CON 2-10 U2J01998
008F 0000 208 | NEGW2 DC *-* WD CNT BUFFER USED BY S2-10 U2J02000
0090 0020 209 | K32 DC 32 Q REG FULL CON 2-10 U2J02002
0091 0000 210 | NUM DC *-* PTV=NUMERIC,NEG=ALPHA 2-12 U2J02003
211 | * 2-10 U2J02004
212 | *NOT TEST FUNCTION,CHECK PRINT OR CARRIAGE CTL 2-10 U2J02006
213 | * 2-10 U2J02008
0092 90FA 214 | FC13 S BIN1 IS FUNCTION LEGAL 2-11 U2J02040
0093 4C08 001BR 215 | BSC L ILLGL,+ NO,BR U2J02050
0095 90F5 216 | S BIN2 TEST IF CONTROL U2J02060
0096 4818 217 | BSC +- NOT,SKIP U2J02070
0097 704F 218 | MDX FC20 IS, TO CTRL PROCESSING U2J02080
0098 D04C 219 | STO NIND SAVE TO SET NUMERIC IND2-10 U2J02090
0099 10A0 220 | SLT 32 CLEAR Q REG U2J02100
221 | * U2J02110
222 | *THIS SECTION SETS UP THE ROUTINE TO PRINT U2J02120
223 | * U2J02130
009A 0845 224 | FC14X XIO SENSE ANY RESPONSE,BUSY,OR ERROR U2J02140
009B 1005 225 | SLA 5 IS 1132 READY 2-6 U2J02141
009C 4C10 00A2R 226 | BSC L FC14Y,- BR IF YES 2-6 U2J02142
009E C0E7 227 | LD STRTP LOAD ERROR CODE 2-6 U2J02143
009F 4400 0028 228 | BSI L $PRET BR TO PRE-OP ERROR 2-6 U2J02144
00A1 70F8 229 | MDX FC14X TEST AGAIN 2-6 U2J02145
00A2 083D 230 | FC14Y XIO SENSE SENSE DSW 2-6 U2J02146
00A3 1808 231 | SRA 8 BITS ON. U2J02150
00A4 4C20 009AR 232 | BSC L FC14X,Z YES,SENSE PTR AGAIN U2J02160
00A6 C03E 233 | LD NIND IF PREVIOUS LN NUMERIC 2-10 U2J02170
00A7 4830 234 | BSC Z- *SKIP DOESN'T OCCUR 2-12 U2J02172
00A8 C03D 235 | LD K13 SET NUMERIC CTR 2-12 U2J02174
00A9 D0E7 236 | STO NUM INDR WAS SET OFF WHEN U2J02180
237 | * 1ST NUMERIC CHAR FOUND U2J02190
00AA C100 238 | LD 1 0 LOAD CALL+1 (1ST PARM) 2-11 U2J02193
00AB D034 239 | STO SENSE SAVE CONTROL WORDPARM) 2-11 U2J02195
00AC 7101 240 | MDX 1 1 INCR XR1 TO CALL+2 ADDR U2J02200
00AD 6909 241 | STX 1 FC16+1 ST CALL+2 ADDR U2J02210
00AE 7101 242 | MDX 1 1 INCR XR1 TO CALL+3 ADR 2-11 U2J02220
00AF 6D00 01AER 243 | STX L1 STRE3+6 STORE CALL +6 ADDRESS 212 U2J02230
244 | * 2-10 U2J02250
00B1 188C 245 | SRT 12 GET FUNC DIGIT U2J02260
00B2 906E 246 | S K1 SUB 1 U2J02270
00B3 1802 247 | SRA 2 IF ANY BIT REMAINS, PARAM U2J02280
00B4 4C20 001BR 248 | FC14C BSC L ILLGL,Z WAS OVER 4.TAKE ERROR EXIT U2J02290
00B6 9480 0000 249 | FC16 S I *-* SUB WD CNT FROM ZERO U2J02300
00B8 4C10 001BR 250 | BSC L ILLGL,- RESULT SHOULD BE NEG U2J02310
00BA D089 251 | STO NEGWD SAVE MINUS WD CNT U2J02320
00BB D0D3 252 | STO NEGW2 U2J02330
00BC 90D1 253 | S NEG60 CHECK RANGE AND DISPLAY U2J02340
00BD 4C28 001BR 254 | BSC L ILLGL,+Z *6001 IF ERROR U2J02350
00BF C480 00B7R 255 | LD I FC16+1 LD ADDR OF I/O AREA U2J02360
00C1 805F 256 | A K1 AVOID STORED WD CNT U2J02370
00C2 9400 0044R 257 | S L NEGWD SUB NEG WDCNT-PT TO END2-12 U2J02380
00C4 D081 258 | STO SCAN+1 SAVE IN SCAN RTN U2J02390
00C5 D004 259 | STO TOTL+1 SAVE PRINTABLE CHAR CNT2-10 U2J02392
00C6 10A0 260 | SLT 32 CLEAR Q REG 2-10 U2J02394
00C7 6680 0044R 261 | LDX I2 NEGWD FETCH MSG WD CNT 2-10 U2J02396
00C9 C600 0000 262 | TOTL LD L2 *-* FETCH NEXT CHAR PAIR 2-10 U2J02398
00CB F056 263 | EOR BLANK CHECK FOR BLANK CHARS 2-10 U2J02400
00CC 80BD 264 | A FF IS LEFT CHAR BLANK 2-10 U2J02402
00CD 4802 265 | BSC C YES,SKIP 2-10 U2J02404
00CE 88BD 266 | AD BIN1-1 ADD 1 TO Q REG 2-10 U2J02406
00CF 1008 267 | SLA 8 IS RT BLK 2-10 U2J02408
00D0 4820 268 | BSC Z YES,SKIP 2-10 U2J02410
00D1 88BA 269 | AD BIN1-1 ADD 1 TO Q REG 2-10 U2J02412
00D2 7201 270 | MDX 2 1 SKIP WHEN COMPLETED 2-10 U2J02414
00D3 70F5 271 | MDX TOTL DO NEXT WD 2-10 U2J02416
00D4 18D0 272 | RTE 16 2-10 U2J02418
00D5 D00D 273 | STO CTRWD SAVE PRINTABLE CNT 2-10 U2J02420
00D6 C8B1 274 | LDD K48 SET CTRS 48, 16, +2 U2J02422
00D7 D00A 275 | STO CTR48 *FOR A TOTAL OF 66 CYCLES U2J02425
00D8 D835 276 | STD CTR16 U2J02427
00D9 4400 01BDR 277 | BSI L CLEAR CLEAR SCAN FIELD (32-39) U2J02430
00DB 08AA 278 | XIO STRTP START THE PRINTER U2J02450
00DC 7401 0032 279 | CNTUP MDX L 50,1 INCR ISS CTR (I/O OP CTR) U2J02460
00DE 1000 280 | NOP MAY SKIP U2J02470
00DF 709C 281 | MDX STXIT-2 EXIT TO CALLING PROG U2J02480
282 | * 2-10 U2J02482
00E0 283 | BSS E 0 2-10 U2J02483
00E0 0000 284 | SENSE DC *-* STORAGE FOR CALL +1 2-10 U2J02484
00E1 3700 285 | DC /3700 SENSE PRT IOCC WD 2-10 U2J02485
00E2 0000 286 | CTR48 DC *-* PTR SCAN CNT BUFFER 2-10 U2J02486
00E3 0000 287 | CTRWD DC *-* PRINTABLE CHAR CNT 2-10 U2J02487
00E4 0000 288 | CTRX DC *-* PRINTABLE CHAR THIS LN 2-10 U2J02488
00E5 0000 289 | NIND DC *-* NUMERIC INDICATOR 2-10 U2J02489
00E6 0016 290 | K13 DC 22 CTR IF NUMERIC MODE 2-12 U2J02490
291 | * 2-12 U2J02495
292 | *THIS SECTION DOES THE CARRIAGE CONTROL FUNCTION U2J02500
293 | * PROCESSING U2J02510
294 | * U2J02520
00E7 C026 295 | FC20 LD CTR16 WAIT FOR 16 IDLE SCANS U2J02530
00E8 4830 296 | BSC Z- U2J02540
00E9 70FD 297 | MDX FC20 U2J02550
00EA 08F5 298 | FC20A XIO SENSE U2J02560
00EB 180C 299 | SRA 12 IS THE CARRIAGE BUSY U2J02570
00EC 4C20 00EAR 300 | BSC L FC20A,Z YES,SENSE PTR AGAIN U2J02580
00EE C09A 301 | LD K12 NO, SET 6-CTR FOR CHAN CHK U2J02590
00EF D400 0170R 302 | STO L STOPC 2-12 U2J02600
00F1 1810 303 | SRA 16 CLEAR ACC U2J02610
00F2 1084 304 | SLT 4 GET 2ND HEX DIGIT FROM Q U2J02620
00F3 D02B 305 | STO AFTIN NOT ZERO--IMMEDIATE CTRL U2J02630
306 | * ZERO--CTRL AFTER PRINT U2J02640
00F4 4C20 00F9R 307 | BSC L FC25,Z IS IT ZERO U2J02650
00F6 1084 308 | SLT 4 YES,TRY 3RD HEX DIGIT U2J02660
00F7 4C18 001BR 309 | BSC L ILLGL,+- IS IT ZERO ALSO,ERROR EXIT U2J02670
00F9 908F 310 | FC25 S K12 NO,SUB 12 U2J02680
00FA 4C30 0113R 311 | BSC L FC44,-Z IS THIS A SKIP U2J02690
00FC 6200 312 | LDX 2 0 YES U2J02700
00FD 4C10 0110R 313 | BSC L FC39,- IS IT A SKIP TO CHAN 12 U2J02710
00FF 801C 314 | A K3 NO U2J02720
0100 6201 315 | LDX 2 1 SET XR2 FOR SHIFT & COUNT U2J02730
0101 4C18 0110R 316 | BSC L FC39,+- IS IT CHAN 9 U2J02740
0103 8018 317 | A K3 NO, INCR XR2 U2J02750
0104 7201 318 | MDX 2 1 U2J02760
0105 4C18 0110R 319 | FC38 BSC L FC39,+- TEST FOR NEXT CHANNEL U2J02770
0107 8019 320 | A K1 NO, LOOP & TRY FOR 5,4,3, U2J02780
0108 7201 321 | MDX 2 1 *2,1 U2J02790
0109 74FF 0170R 322 | MDX L STOPC,-1 CTR TO LIMIT LOOPS U2J02800
010B 70F9 323 | MDX FC38 RET TO CHK CHAN U2J02810
010C 70A7 324 | MDX FC14C ILLEGAL CALL-TAKE ERROR U2J02820
325 | * EXIT.(ACC NEG BY NOW) U2J02830
326 | * U2J02840
327 | *CONSTANTS AND BUFFER AREA U2J02850
328 | * U2J02860
010D 0000 329 | DSW DC *-* DVC STATUS WD 2-10 U2J02865
010E 330 | BSS E U2J02870
010E 0000 331 | CTR16 DC *-* CTR FOR 16 IDLE SCANS (48) U2J02880
010F 0000 332 | CTR2 DC *-* CTR FOR 2 IDLE SCANS (12) U2J02890
333 | * U2J02920
334 | *SET UP SKIP MASK,AND EXECUTE SKIP OR EXIT U2J02930
335 | * U2J02940
0110 C010 336 | FC39 LD K1 SET UP BIT FOR SKIP MASK U2J02950
0111 1240 337 | SLCA 2 U2J02960
0112 E859 338 | OR SIGNB SET SIGN BIT ON U2J02970
0113 D00C 339 | FC44 STO SPSK PTV=SPACE, NEG= SKIP U2J02980
0114 C00A 340 | LD AFTIN SHOULD EXECUTION WAIT U2J02990
0115 4C18 007CR 341 | BSC L STXIT-2,+- GO TO EXIT IF YES,ELSE U2J03000
0117 C008 342 | LD SPSK DETERMINE IF SKIP OR SPACE. U2J03010
0118 4C10 011DR 343 | BSC L SPACE,- IS IT A SKIP U2J03020
011A 0807 344 | XIO STRTC YES,START CARRIAGE U2J03030
011B 70C0 345 | MDX CNTUP GO INCR ISS CTR, RET U2J03040
011C 0003 346 | K3 DC 3 CON OF 3 U2J03050
347 | * U2J03060
348 | *SPACE CARRIAGE CONTROL PROCESSING U2J03070
349 | * U2J03080
011D 0850 350 | SPACE XIO CARSP START SPACES THAT INTRPT U2J03090
351 | * *SERVICE PART WILL FINISH U2J03100
011E 70BD 352 | MDX CNTUP INCR ISS CTR, RET TO USER U2J03110
353 | * U2J03120
354 | *CONSTANTS AND BUFFER AREA U2J03130
355 | * U2J03140
011F 0000 356 | AFTIN DC *-* CTRL BEFORE OR AFTER PR U2J03150
0120 0000 357 | SPSK DC *-* SKIP OR SPACE INDR 2-10 U2J03155
0121 0001 358 | K1 DC 1 CON OF 1 2-10 U2J03157
0122 359 | BSS E U2J03160
0122 4040 360 | STRTC DC /4040 BLK CHAR FOR COMPARE 2-10 U2J03170
0123 3404 361 | DC /3404 START CARRIAGE U2J03180
0122R 362 | BLANK EQU *-2 BLK CHARS 2-10 U2J03190
364 | *************************************************** U2J03210
365 | * * U2J03220
366 | * THIS SECTION SERVICES THE INTERRUPTS WHICH * U2J03230
367 | * OCCUR ON INTERRUPT LEVEL 01, THAT COME FROM * U2J03240
368 | * THE 1132 PRINTER. * U2J03250
369 | * * U2J03260
370 | *************************************************** U2J03270
0124 6A3F 372 | FC50 STX 2 OUT+1 SAVE XR2 U2J03280
0125 6940 373 | STX 1 OUT+3 SAVE XR1 2-10 U2J03285
0126 0C00 01BAR 374 | XIO L SENSR-1 SENSE WITH RESET 2-12 U2J03290
0128 D0E4 375 | STO DSW HOLD DSW U2J03300
0129 1001 376 | SLA 1 IS IT A SKIP REQUEST U2J03310
012A 4C10 013AR 377 | BSC L FC56,- NO,BR TO CONT CHK U2J03320
012C 1007 378 | SLA 7 YES,GET CARRIAGE CHAN NO. U2J03330
012D 1808 379 | SRA 8 RIGHT JUSTIFY U2J03340
012E E83D 380 | OR SIGNB SET UP DSW FOR COMPARE U2J03350
012F F0F0 381 | EOR SPSK CMP W/COMMAND U2J03360
0130 4820 382 | BSC Z DO THEY MATCH U2J03370
0131 7019 383 | MDX FC60 NO,GO CONT CHK U2J03380
0132 D400 007F 384 | STO L $1132 ZERO SYSTEM 1132 INDR 2-12 U2J03385
0134 D0EB 385 | STO SPSK CLEAR MASK U2J03400
0135 083A 386 | XIO STOPC STOP CARRIAGE U2J03410
0136 74FF 0032 387 | FC54 MDX L 50,-1 DECR ISS CTR U2J03420
0138 1000 388 | NOP MAY SKIP U2J03430
0139 7011 389 | MDX FC60 CONTINUE U2J03440
391 | *************************************************** U2J03444
392 | * * U2J03450
393 | *THIS SECTION SERVICES CARRIAGE RESPONSE REQUESTS * U2J03460
394 | * * U2J03470
395 | *************************************************** U2J03472
013A 1001 397 | FC56 SLA 1 IS IT A SPACE REQUES U2J03480
013B 4810 398 | BSC - IS CARR SPACE DONE U2J03490
013C 700E 399 | MDX FC60 NO U2J03500
013D C0CF 400 | LD DSW YES,GET DSW U2J03510
013E EC00 007F 401 | OR L $1132 OR IN SYSTEM INDICATOR 2-12 U2J03512
0140 4C04 0143R 402 | BSC L *+1,E SKIP IF CHANNEL 12 ONR 2-12 U2J03514
0142 7002 403 | MDX *+2 NO CHANNEL 12 BIT ON 2-12 U2J03516
0143 D400 007F 404 | STO L $1132 SET SYSTEM INDICATOR 2-12 U2J03518
405 | * *FOR CHANNEL 12 FOUND 2-12 U2J03519
0145 C0DA 406 | LD SPSK U2J03540
0146 90DA 407 | S K1 DECR SPACE CNT U2J03550
0147 D0D8 408 | STO SPSK STORE BACK NEW CNT U2J03560
0148 4C08 0136R 409 | BSC L FC54,+ DECR ISS CTR+EXIT IF ZERO, U2J03570
014A 0823 410 | XIO CARSP *ELSE KEEP SPACING U2J03580
411 | * U2J03590
412 | *CONTINUE CHK IF NOT SKIP OR SPACE REQUEST U2J03600
413 | * U2J03610
014B C0C1 414 | FC60 LD DSW PUT DSW IN PASS U2J03620
014C 4C10 0163R 415 | BSC L OUT,- IS 11.2 MS PTR INTPRT BIT=1 U2J03650
014E C06D 416 | LD CTR46 YES,CHK IF DOING 47 IDLES U2J03660
014F 4C20 0169R 417 | BSC L FC63,Z YES,GO DECR CNT AND EXIT U2J03670
0151 406B 418 | BSI CLEAR CLEAR SCAN FIELD 2-10 U2J03674
0152 C0BA 419 | LD DSW NO U2J03680
0153 1004 420 | SLA 4 DID PRESENT SCAN FINISH U2J03690
0154 4C10 0172R 421 | BSC L FC70,- YES,BR U2J03700
0156 C400 00E3R 422 | LD L CTRWD RESTORE PREVIOUS 2-12 U2J03702
0158 8400 00E4R 423 | A L CTRX *CHARACTER COUNT 2-12 U2J03704
015A D400 00E3R 424 | STO L CTRWD *FOR REMAINING CHARS 2-12 U2J03706
015C C05D 425 | LD K46 NO, SET UP FOR IDLES U2J03710
015D D05E 426 | STO CTR46 U2J03720
015E C400 0027 427 | LD L $SCAN+7 SET SCAN COMPLETE 2-12 U2J03740
0160 E8C0 428 | OR K1 *INDICATOR 2-12 U2J03742
0161 D400 0027 429 | STO L $SCAN+7 2-12 U2J03744
0163 6600 0000 430 | OUT LDX L2 *-* RESTORE XR2 U2J03750
0165 6500 0000 431 | LDX L1 *-* RESTORE XR1 2-10 U2J03755
0167 4C80 0004R 432 | BSC I INT1 TO USER VIA ILS SUBR U2J03760
433 | * U2J03770
434 | *IF INCOMPLETE SCAN OCCURRED, DO 47 IDLES TO GET U2J03780
435 | *THE PRINT WHEEL BACK TO TRY SAME CHAR AGAIN. U2J03790
436 | * U2J03800
0169 90B7 437 | FC63 S K1 DECR CTR46 U2J03810
016A D051 438 | STO CTR46 U2J03820
016B 70F7 439 | MDX OUT EXIT VIA ILS 01. U2J03830
440 | * U2J03840
441 | *CONSTANTS AND BUFFER AREA U2J03850
442 | * U2J03860
016C 8000 443 | SIGNB DC /8000 SIGN BIT U2J03870
016E 444 | BSS E U2J03880
016E 8080 445 | CARSP DC /8080 STG FOR CHAN 1 MASK CON U2J03890
016F 3401 446 | DC /3401 CARRIAGE SPACE IOCC U2J03900
0170 0000 447 | STOPC DC *-* CTR TO LIMIT LOOPS-CHAN CHK U2J03910
0171 3402 448 | DC /3402 STOP CARRIAGE IOCC U2J03920
449 | * U2J03930
450 | *BEGIN PRINT MASK SET UP U2J03940
451 | * U2J03950
0172 CC00 00E2R 452 | FC70 LDD L CTR48 ANY UNPRNTED CHARS 2-10 U2J03960
0174 4820 453 | BSC Z BR IF 48 SCANS COMPLETE2-10 U2J03970
0175 18D0 454 | RTE 16 CK IF CHARS ALL PRT 2-10 U2J03980
0176 4C30 0026R 455 | BSC L EMIT,-Z NO,BRCH 2-11 U2J03990
456 | * 2-10 U2J04000
0178 C095 457 | LD CTR16 ARE IDLE CYCLES DONE U2J04010
0179 4C20 0183R 458 | BSC L FC81,Z NO,GO DECR IDLE CNT U2J04020
017B 74FA 010FR 459 | MDX L CTR2,-6 DECR 2-CTR U2J04040
017D 70E5 460 | MDX OUT TO USER IF NOT ZERO YET U2J04050
017E 0839 461 | XIO STOPP IF ZERO,CUT OFF INTRPTS U2J04060
017F 74FF 0032 462 | MDX L 50,-1 DECR LOC 50 U2J04070
0181 70E1 463 | MDX OUT TO USER U2J04080
0182 70E0 464 | MDX OUT TO USER IF SKIP U2J04090
465 | * U2J04100
466 | *TAKE CARE OF 16 IDLES CNT AFTER PRINT COMPLETE U2J04110
467 | * U2J04120
0183 74FD 010ER 468 | FC81 MDX L CTR16,-3 DECR IDLE CNT FOR 1 IDLE U2J04130
0185 70DD 469 | MDX OUT EXIT IF NOT DONE U2J04140
0186 C099 470 | LD SPSK DONE,GET SPACE/SKIP INDR U2J04150
0187 4C20 018FR 471 | BSC L FC91,Z IS POST-PR SPACE/SKIP ASKED U2J04160
0189 C400 00E0R 472 | LD L SENSE NO, GET THE CONTROL WORD U2J04170
018B 100B 473 | SLA 11 ALL ZERO IF SPACE 1 LINE U2J04180
018C 180F 474 | SRA 15 ALL ONES IF SUPPRESS SPACE U2J04190
018D F093 475 | EOR K1 CHANGE 0 TO 1-1 TO 0 2-11 U2J04200
018E D091 476 | STO SPSK PTV--SET SPACE.NEG--INHIBIT U2J04210
477 | * U2J04220
478 | *THIS SECTION SETS UP THE SPACE OR SKIP AFTER PRINT U2J04230
479 | * U2J04240
018F D400 011FR 480 | FC91 STO L AFTIN SET INDR OFF (+ OR -) 2-12 U2J04250
0191 C400 007F 481 | LD L $1132 SYSTEM CHANNEL 12 INDR 212 U2J04265
0193 4C04 01A3R 482 | BSC L STRE4,E IF ODD,CHAN 12 WAS PASSED U2J04270
0195 1801 483 | SRA 1 U2J04280
0196 4C04 01A8R 484 | BSC L STRE3,E IF ODD,CHAN 9 WAS PASSED U2J04290
0198 C400 0120R 485 | FC84 LD L SPSK IF 9/12 NOT FOUND,START2-12 U2J04300
019A 4818 486 | BSC +- AFTER SPACE/SKIP IF PRESENT U2J04310
019B 70C7 487 | MDX OUT TO USER IF NO SPACE/SKIP U2J04320
019C 4C28 01B4R 488 | BSC L FC86,+Z IS A SPACE CALLED FOR U2J04330
019E 08CF 489 | XIO CARSP YES,START THE CARRIAGE U2J04340
019F 7401 0032 490 | UP7 MDX L 50,1 INCR THE ISS CTR U2J04350
01A1 1000 491 | NOP MAY SKIP U2J04360
01A2 70C0 492 | MDX OUT EXIT TO USER U2J04370
494 | *************************************************** U2J04374
495 | * * U2J04376
496 | *A SKIP TO CHANNEL 9 OR CHANNEL 12 IS INDICATED. * U2J04378
497 | * ZERO THE SYSTEM CHANNEL 12 INDICATOR ($1132) * U2J04380
498 | * AND BRANCH TO THE USER'S ERROR ROUTINE. LOAD * U2J04382
499 | * ACCUMULATOR WITH A /0003 FOR A SKIP TO CHAN- * U2J04384
500 | * NEL 9 OR WITH A /0004 FOR A SKIP TO CHANNEL 12* U2J04386
501 | * * U2J04387
502 | *************************************************** U2J04388
01A3 1010 504 | STRE4 SLA 16 ZERO ACCUMULATOR AND 212 U2J04390
01A4 D400 007F 505 | STO L $1132 STORE IN CH 12 INDR 212 U2J04392
01A6 C011 506 | LD STOPP LOAD CONSTANT OF 4 212 U2J04394
01A7 7005 507 | MDX STRE3+5 GO TO USER ERROR RTN 212 U2J04400
01A8 1010 508 | STRE3 SLA 16 ZERO ACCUMULATOR AND 212 U2J04410
01A9 D400 007F 509 | STO L $1132 *STORE IN CH 12 INDR 212 U2J04412
01AB C400 011CR 510 | LD L K3 LOAD CONSTANT OF 3 212 U2J04414
01AD 4480 0000 511 | BSI I *-* GO TO USER ERROR RTN U2J04420
01AF 4C18 0198R 512 | BSC L FC84,+- TAKE NO ACTION IF CLEARED, U2J04430
01B1 C0BC 513 | LD CARSP ELSE SET UP SKIP TO CHAN 1 U2J04440
01B2 D400 0120R 514 | STO L SPSK 2-12 U2J04450
01B4 0C00 0122R 515 | FC86 XIO L STRTC START CARRIAGE 2-12 U2J04460
01B6 70E8 516 | MDX UP7 GO INCR ISS CTR,EXIT U2J04470
517 | * U2J04480
518 | *CONSTANTS AND BUFFER AREA U2J04490
519 | * U2J04500
01B8 520 | BSS E U2J04520
01B8 0004 521 | STOPP DC 4 ERROR CODE FOR CHAN 12 PASS U2J04530
01B9 3440 522 | DC /3440 STOP PRINTER IOCC U2J04540
01BA 002E 523 | K46 DC 46 CTR CON FOR 47 IDLES U2J04550
01BB 3701 524 | SENSR DC /3701 SENSE W/RESET IOCC U2J04560
01BC 0000 525 | CTR46 DC 0 CTR FOR IDLES U2J04570
526 | * U2J04590
527 | *THIS SECTION CLEARS THE PRINT SCAN FIELD (32-39) U2J04600
528 | * U2J04610
01BD 0000 529 | CLEAR DC *-* SAVE RET ADDR U2J04620
01BE 10A0 530 | SLT 32 CLEAR A AND Q REGS U2J04630
01BF 62F8 531 | LDX 2 -8 SET CTR FOR 4 PASSES U2J04640
01C0 DE00 0028 532 | CL2 STD L2 40 CLEAR 2 WDS U2J04650
01C2 7202 533 | MDX 2 2 DECR XR2 BY 2 U2J04660
01C3 70FC 534 | MDX CL2 RET IF NOT ZERO U2J04670
01C4 7401 0027 535 | MDX L $SCAN+7,1 SET SCAN CMPLT INDR 2-12 U2J04675
01C6 4C80 01BDR 536 | BSC I CLEAR RET U2J04680
01C8 537 | END U2J04690
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
$1132 007F 96 384 401 404 481 505 509
$PRET 0028 94 228
$SCAN 0020 95 128 154 156 427 429 535
AFTIN 011FR 356 305 340 480
AQ 0008R 60 175 188
BIN1 008DR 206 115 139 155 158 214 266 269
BIN2 008BR 204 135 216
BLANK 0122R 362 263
CARSP 016ER 445 350 410 489 513
CKLPS 000BR 68 142
CL2 01C0R 532 534
CLEAR 01BDR 529 277 418 536
CNTUP 00DCR 279 345 352
CTR16 010ER 331 276 295 457 468
CTR2 010FR 332 459
CTR46 01BCR 525 416 426 438
CTR48 00E2R 286 116 157 159 275 452
CTRWD 00E3R 287 160 163 273 422 424
CTRX 00E4R 288 161 162 423
DSW 010DR 329 375 400 414 419
EMIT 0026R 105 455
EXIT 0084R 193 189
FC10 006CR 172 52
FC13 0092R 214 182
FC14C 00B4R 248 324
FC14X 009AR 224 229 232
FC14Y 00A2R 230 226
FC16 00B6R 249 241 255
FC20 00E7R 295 218 297
FC20A 00EAR 298 300
FC25 00F9R 310 307
FC38 0105R 319 323
FC39 0110R 336 313 316 319
FC44 0113R 339 311
FC50 0124R 372 54
FC54 0136R 387 409
FC56 013AR 397 377
FC58 007FR 190 50 173 174
FC60 014BR 414 383 389 399
FC63 0169R 437 417
FC70 0172R 452 421
FC74A 0030R 113 109
FC75 0036R 117 107 114
FC81 0183R 468 458
FC84 0198R 485 512
FC86 01B4R 515 488
FC91 018FR 480 471
FF 008AR 203 133 264
H6001 000AR 62 85
ILGL2 0019R 80 178
ILLGL 001BR 85 81 172 215 248 250 254 309
INT1 0004R 53 432
K1 0121R 358 246 256 320 336 407 428 437 475
K12 0089R 202 301 310
K13 00E6R 290 235
K3 011CR 346 314 317 510
K32 0090R 209 117 146
K46 01BAR 523 425
K48 0088R 200 274
KNUM 008CR 205 110
NEG60 008ER 207 253
NEGW2 008FR 208 73 121 147 148 252
NEGWD 0044R 130 120 251 257 261
NIND 00E5R 289 219 233
NUM 0091R 210 106 113 236
OUT 0163R 430 111 164 372 373 415 439 460 463 464 469 487 492
PARTM 0014R 74 75 118 153
PRNT1 0000R 50
QTEST 0023R 97 69 72 119
READE 0024R 99 105
SCAN 0045R 131 70 76 258
SCAN1 004DR 137 134
SCANX 0052R 141 138
SENSE 00E0R 284 176 183 224 230 239 298 472
SENSR 01BBR 524 374
SETSH 0058R 150 149
SIGNB 016CR 443 338 380
SPACE 011DR 350 343
SPSK 0120R 357 339 342 381 385 406 408 470 476 485 514
STOPC 0170R 447 302 322 386
STOPP 01B8R 521 461 506
STRE3 01A8R 508 243 484 507
STRE4 01A3R 504 482
STRTC 0122R 360 344 515
STRTP 0086R 198 80 227 278
STXIT 007ER 189 90 281 341
TOTL 00C9R 262 259 271
UP7 019FR 490 516
WHEEL 0007R 58 99 108 123 125 126 132