ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:09 2020
Source File: \u2prnt3.asm
PRNT3,LIBRARY SUBR FOR 1403 PRINTER
2 | *************************************************** U2K00020
3 | *STATUS - VERSION 2 MODIFICATION 11 * U2K00030
4 | * * U2K00035
5 | *FUNCTION/OPERATION- THIS IS A LIBRARY SUBROUTINE * U2K00040
6 | *FOR THE 1130 DISK MONITOR VERSION 2.THIS SUBR. * U2K00050
7 | *SUPPORTS THE 1403 PRINTER. ALL 1403 PRINTER * U2K00060
8 | *FUNCTION SUCH AS PRINTING,SPACING AND SKIPPING * U2K00070
9 | *INTERRUPT SERVICE SUBROUTINE(ISS) AND IS * U2K00080
10 | *ORGANIZED IN TWO SECTIONS-- A CALL PORTION AND AN* U2K00090
11 | *INTERRUPT PORTION.IN THE CALL PORTION THE FUNC- * U2K00100
12 | *TION IS ANALYZED AND THE REQUIRED OPERATION(S) * U2K00110
13 | *INITIATED.THE INTERRUPT PORTION THE THREE 1403 * U2K00120
14 | *INTERRUPTS,TRANSFER COMPLETE,PRINT COMPLETE AND * U2K00130
15 | *CARRIAGE,ARE SERVICED * U2K00140
16 | * * U2K00150
17 | *ENTRY POINTS- * U2K00160
18 | * *PRNT3,THIS IS THE ENTRY FOR THE CALL * U2K00170
19 | * PORTION,THE CALLING SEQUENCE USED BY THE * U2K00180
20 | * USER IS THE STANDARD ISS LIBF STATEMENT.FOR* U2K00190
21 | * A PRINT FUNCTION THE CALLING SEQUENCE IS- * U2K00200
22 | * *LIBF PRNT3 * U2K00210
23 | * DC /2000 (CONTROL PARAMETER) * U2K00220
24 | * DC /AREA (ADDRESS OF I/O AREA) * U2K00230
25 | * DC ERROR (ADDRESS OF ERROR SUBR) * U2K00240
26 | * *W3020--THIS IS THE INTERRUPT ENTRANCE FROM * U2K00250
27 | * THE SYSTEM ILS SUBROUTINE. * U2K00260
28 | * * U2K00270
29 | *INPUT-A WORD-COUNT PRECEDING DATA TO BE PRINTED * U2K00280
30 | *ARRANGED IN 1403 PRINTER CODE. * U2K00290
31 | * * U2K00300
32 | *OUTPUT-A PRINTED LINE AND ONE SPACE(PRINT FUNC) * U2K00310
33 | * * U2K00320
34 | *EXTERNAL REFERENCES-THE FOLLOWING WORDS IN COMMA * U2K00330
35 | *ARE REFERENCED-- * U2K00340
36 | * $PRET PRE-OPERATIVE ERROR TRAP * U2K00350
37 | * $IOCT IOCS COUNTER * U2K00360
38 | * $PST4 LEVEL 4 POST-OPERATIVE ERROR TRAP * U2K00370
39 | * * U2K00380
40 | *EXITS- NORMAL * U2K00390
41 | * *CALL PORTION-- W3160 RETURN TO USER PROGRAM* U2K00400
42 | * *INTERRUPT PORTION--W3800 RETURN TO ILS * U2K00410
43 | * - ERROR * U2K00420
44 | * *CALL PORTION--W3420 AND W3440 PRE-OPERATIVE* U2K00430
45 | * ERROR EXITS TO $PRET. * U2K00440
46 | * *INTERRUPT PORTION--W3780,TO USER ERROR SUBR* U2K00450
47 | * * U2K00460
48 | *TABLES,WORK AREAS- W3920,A 60-WORD OUTPUT BUFFER * U2K00470
49 | *INTO WHICH THE USERS MESSAGE IS TRANSFERRED. * U2K00480
50 | *ALL PRINTING IS DONE FROM THIS OUTPUT BUFFER. * U2K00490
51 | * * U2K00500
52 | *ATTRIBUTES-REUSABLE * U2K00510
53 | * * U2K00520
54 | *NOTES--SINCE THE 1403 ALWAYS PRINTS A FULL LINE * U2K00530
55 | *OF 120 CHARACTERS,THIS SUBROUTINE STORES THE * U2K00540
56 | *USERS MESSAGE INTO ITS OWN BUFFER TO THE LIMIT * U2K00550
57 | *OF THE USERS WORD-COUNT,THE REMAINDER OF THE * U2K00560
58 | *BUFFER IS PADDED WITH 1403 BLANK CHARACTERS. * U2K00570
59 | * * U2K00580
60 | *************************************************** U2K00590
61 | LIBR U2K00600
62 | ISS 09 PRNT3 4 U2K00610
63 | * * U2K00620
0000 6919 64 | PRNT3 STX 1 W3060+1 SAVE CONTENTS OF XR1. U2K00630
0001 6580 0000 65 | LDX I1 *-* LOADER STORES TV ADDRESS. U2K00640
0003 7003 66 | MDX W3020 BRANCH TO CALL PROCESSING. U2K00650
0004 0000 67 | W3010 DC *-* INTERRUPT ENTRANCE. U2K00660
0005 4C00 00A3R 68 | BSC L W3500 BR. TO INTRPT PROCESSING. U2K00670
69 | *************************************************** U2K00680
70 | * * U2K00690
71 | * PRINT3 CALL PROCESSING. * U2K00700
72 | * * U2K00710
73 | *************************************************** U2K00720
0007 6A10 74 | W3020 STX 2 W3050+1 SAVE CONTENTS OF XR2. U2K00730
0008 2812 75 | STS W3070 SAVE STATUS OF INDICATORS. U2K00740
0009 D87C 76 | STD W3905 SAVE CONTENTS OF ACC/EXT. U2K00750
77 | ** 2-4 U2K00760
78 | * CHECK PRINTER READY 2-4 U2K00770
79 | ** 2-4 U2K00780
000A 087F 80 | XIO W3920 SENSE DSW WITHOUT RESET 2-4 U2K00790
000B 4C04 0080R 81 | BSC L W3210,E BR IF NOT READY 2-4 U2K00800
82 | ** U2K00810
83 | * CHECK TO SEE IF FUNCTION IS TEST. U2K00820
84 | ** U2K00830
000D C100 85 | LD 1 0 LOAD CONTROL PARAMETER. U2K00840
000E 188C 86 | SRT 12 EXAMINE FUNCTION CODE. U2K00850
000F 4C20 0027R 87 | BSC L W3090,Z BR IF FUNCTION IS NOT TEST. U2K00860
0011 7400 008FR 88 | MDX L W3935,0 SKIP IF ROUTINE IS NOT BUSY U2K00870
0013 71FF 89 | W3030 MDX 1 -1 U2K00880
0014 7102 90 | MDX 1 2 U2K00890
91 | ** U2K00900
92 | * THE FOLLOWING INSTRUCTIONS RESET THE REGISTERS U2K00910
93 | * PRIOR TO RETURNING TO THE USERS MAINLINE. U2K00920
94 | ** U2K00930
0015 C870 95 | LDD W3905 RESTORE ACCUMULATOR AND EXT U2K00940
0016 6906 96 | W3040 STX 1 W3080+1 STORE RETURN ADDRESS. U2K00950
0017 6600 0000 97 | W3050 LDX L2 *-* RESET XR2 TO ORIG CONTENTS. U2K00960
0019 6500 0000 98 | W3060 LDX L1 *-* RESET XR1 TO ORIG CONTENTS. U2K00970
001B 2000 99 | W3070 LDS *-* RESTORE OVERFLOW AND CARRY. U2K00980
001C 4C00 0000 100 | W3080 BSC L *-* RETURN TO USER. U2K00990
101 | ** 2-3 U2K00991
102 | * CHECK PRINTER READY AND ROUTINE BUSY 2-3 U2K00992
103 | ** 2-3 U2K00993
001E 0000 104 | W3085 DC *-* 2-3 U2K00994
001F 086A 105 | W3087 XIO W3920 SENSE THE DSW 2-3 U2K00995
0020 4C04 0080R 106 | BSC L W3210,E BR IF PRINTER NOT READY 2-3 U2K00996
0022 7400 008FR 107 | MDX L W3935,0 SKIP IF RTN IS NOT BUSY 2-3 U2K00997
0024 70FA 108 | MDX W3087 RTN BUSY GO CHECK READY 2-3 U2K00998
0025 4C80 001ER 109 | BSC I W3085 RETURN 2-3 U2K00999
110 | ** U2K01000
111 | * CHECK TO SEE IF FUNCTION IS LEGAL. U2K01010
112 | ** U2K01020
0027 6210 113 | W3090 LDX 2 16 U2K01030
0028 1240 114 | SLCA 2 U2K01040
0029 72FF 115 | MDX 2 -1 SKIP IF FUNCTION CODE IS 1. U2K01050
002A 72FF 116 | MDX 2 -1 SKIP IF FUNCTION CODE LEGAL U2K01060
002B 7052 117 | MDX W3200 BRANCH TO PRE-OP ERROR EXIT U2K01070
118 | * CHECK ROUTINE BUSY MOVED2-3 U2K01080
002C 1002 119 | SLA 2 U2K01140
002D 40F0 120 | BSI W3085 CHECK RDY AND RTN BUSY 2-3 U2K01145
002E 4802 121 | BSC C SKIP IF FUNCTION IS PRINT. U2K01150
002F 7047 122 | MDX W3190 BR TO CONTROL PROCESSING. U2K01160
123 | ** U2K01170
124 | * SET UP AND INITIATE THE PRINT OPERATION. U2K01180
125 | ** U2K01190
0030 C101 126 | LD 1 1 LOAD ADDR OF USERS I/O AREA U2K01200
0031 D015 127 | STO W3130+1 U2K01210
0032 D00D 128 | STO W3120+1 U2K01220
0033 18CC 129 | RTE 12 ISOLATE AND SAVE U2K01230
0034 180C 130 | W3100 SRA 12 * THIRD DIGIT OF U2K01240
0035 D054 131 | STO W3920 * CONTROL PARAMETER. U2K01250
0036 1801 132 | SRA 1 SHIFT OUT LOW ORDER BIT. U2K01260
0037 4C20 007ER 133 | BSC L W3200,Z BR IF ILLEGAL CHARACTER. U2K01270
0039 623C 134 | LDX 2 60 LOAD XR2 WITH BUFFER WD CNT U2K01280
003A C84E 135 | LDD W3915 FILL U2K01290
003B DE00 00FAR 136 | W3110 STD L2 W3990-2 * OUTPUT U2K01300
003D 72FE 137 | MDX 2 -2 * BUFFER U2K01310
003E 70FC 138 | MDX W3110 * WITH SPACES. U2K01320
139 | ** U2K01330
140 | * CHECK USERS WORD COUNT U2K01340
141 | ** U2K01350
003F 6680 0000 142 | W3120 LDX I2 *-* LOAD XR2 WITH WORD COUNT. U2K01360
0041 7200 143 | MDX 2 0 SKIP IF WORD COUNT IS ZERO. U2K01370
0042 72C4 144 | MDX 2 -60 SKIP IF WORD COUNT IS LEGAL U2K01380
0043 703A 145 | MDX W3200 BRANCH TO PRE-OP ERROR EXIT U2K01390
0044 723C 146 | MDX 2 60 RESTORE XR2 TO WORD COUNT. U2K01400
0045 1000 147 | NOP IN CASE OF SKIP. U2K01410
148 | * * U2K01420
0046 C600 0000 149 | W3130 LD L2 *-* MOVE USERS U2K01430
0048 D600 00FBR 150 | STO L2 W3990-1 * MESSAGE U2K01440
004A 72FF 151 | MDX 2 -1 * TO OUTPUT U2K01450
004B 70FA 152 | MDX W3130 * BUFFER. U2K01460
153 | * * U2K01470
004C C102 154 | LD 1 2 STORE ADDR OF USERS ERR RTN U2K01480
004D D400 00DFR 155 | STO L W3580+1 *IN INTRPT PROCESSING AREA. U2K01490
004F 40CE 156 | BSI W3085 CHK RDY AND RTN BSY 2-4 U2K01500
0050 404B 157 | BSI W3300 BR TO INCR BUSY/IOCT CNT2-3 U2K01505
0051 083E 158 | XIO W3940 INITIATE PRINT OPERATION. U2K01510
0052 7102 159 | MDX 1 2 SET TO EXIT AT LIBF +4 U2K01515
0053 C03A 160 | LD W3930 IS THERE CONTROL AFTER PRNT U2K01520
0054 4C18 0013R 161 | W3140 BSC L W3030,+- BR IF NO CONTROL AFTER PRNT U2K01540
0056 C037 162 | LD W3930 THIRD DIGIT TO ACC 2-4 U2K01560
163 | ** U2K01570
164 | * SET UP THE CARRIAGE CONTROL FUNCTION REQUESTED BY U2K01580
165 | * THE USER IN THE CARRIAGE CONTROL IOCC WORD - THEN U2K01590
166 | * EXECUTE THE CONTROL FUNCTION. U2K01600
167 | ** U2K01610
0057 806C 168 | W3150 A W3985 SET UP FOR POSSIBLE U2K01620
0058 D004 169 | STO W3160 *CARRIAGE SKIP. U2K01630
0059 90DA 170 | S W3100 U2K01640
005A 4C30 0064R 171 | BSC L W3170,Z- BR IF CONTROL IS SPACING. U2K01650
005C C064 172 | LD W3980 SET UP U2K01660
005D 1800 173 | W3160 SRA *-* * IOCC WORD U2K01670
005E D035 174 | STO W3950 * FOR SKIP. 2-2 U2K01680
005F 902C 175 | S W3925 SET 2-5 U2K01682
0060 4818 176 | BSC +- *SWITCH IF 2-5 U2K01684
0061 6839 177 | STX W3979 *SKIP TO CHANNEL 1 2-5 U2K01686
0062 62FE 178 | LDX 2 -2 SKIP OVER NEXT WORD. U2K01690
0063 C032 179 | LD W3900 SET CARRIAGE CONTROL U2K01700
0064 D029 180 | W3170 STO W3930 *COUNTER TO ONE. U2K01710
181 | * PREPARE RETURN FROM $PRET IF PRINTER NOT READY U2K01711
0065 6907 182 | W3180 STX 1 W3184+1 SAVE XR1 2-4 U2K01712
0066 6A08 183 | STX 2 W3185+1 SAVE XR2 TEMPORARY 2-9 U2K01714
0067 6801 184 | STX W3182+1 SET UP RETURN ADDRESS 2-9 U2K01715
0068 6500 0000 185 | W3182 LDX L1 *-* *FROM $PRET IF PRINTER 2-9 U2K01717
006A 7101 186 | MDX 1 1 *SHOULD BE NOT READY 2-9 U2K01718
006B 40B2 187 | BSI W3085 CHECK RDY AND RTN BUSY 2-4 U2K01720
006C 6500 0000 188 | W3184 LDX L1 *-* RESTORE XR1 2-4 U2K01725
006E 6600 0000 189 | W3185 LDX L2 *-* RESTORE XR2 2-5 U2K01726
190 | * * U2K01730
0070 402B 191 | BSI W3300 BR TO INCR BUSY/IOCT CNT2-2 U2K01750
0071 0E00 0094R 192 | XIO L2 W3950 INITIATE THE CONTROL FUNC. U2K01760
0073 74FF 008ER 193 | MDX L W3930,-1 SKIP IF NO MORE CONTROL. U2K01770
0075 70EF 194 | MDX W3180 BRANCH FOR MORE CONTROL. U2K01780
0076 709C 195 | MDX W3030 BRANCH TO RETURN TO USER U2K01790
196 | * * U2K01800
0077 1010 197 | W3190 SLA 16 CLEAR ACC 2-3 U2K01805
0078 1084 198 | SLT 4 U2K01810
0079 4C20 0057R 199 | BSC L W3150,Z BR IF CONTROL IS IMMEDIATE. U2K01820
007B 1084 200 | SLT 4 MOVE IN AND SAVE THIRD U2K01830
007C D011 201 | STO W3930 *DIGIT OF CONTROL PARAMETER U2K01840
007D 7095 202 | MDX W3030 BRANCH TO RETURN TO USER. U2K01850
203 | ** U2K01860
204 | * SET UP FOR PRE-OPERATIVE ERROR EXIT. U2K01870
205 | ** U2K01880
007E C018 206 | W3200 LD W3955 LOAD BAD CALL ERROR CODE. U2K01890
007F 7001 207 | MDX *+1 SKIP OVER NEXT INSTRUCTION. U2K01900
0080 C017 208 | W3210 LD W3960 LOAD NOT READY ERROR CODE. U2K01910
0081 71FF 209 | MDX 1 -1 PUT ADDRESS OF CALL IN XR1. U2K01920
0082 6D00 0028 210 | STX L1 $PRET STORE CALL ADDR AT $PRET. U2K01930
0084 6129 211 | LDX 1 $PRET+1 SET UP EXIT TO $PRET+1. U2K01940
0085 7090 212 | MDX W3040 BRANCH TO EXIT TO $PRET. U2K01950
213 | * * U2K01960
0086 214 | W3905 BSS E 2 WORDS FOR SAVING ACC/EXT. U2K01980
0088 8600 215 | W3910 DC /8600 POSSIBLE PRINT ERROR BITS. U2K01990
0089 7F7F 216 | W3915 DC /7F7F SPACE - 1403 CODE. U2K02000
008A 0000 217 | W3920 DC *-* SENSE U2K02010
008B AF00 218 | DC /AF00 *IOCC. U2K02020
008C 0800 219 | W3925 DC /0800 SKIP TO CH 1 CONTROL WORD. U2K02030
008D AF01 220 | DC /AF01 WRD 2 OF SENSE W/RESET IOCC U2K02040
008E 0000 221 | W3930 DC *-* AFTER PRINT CONTROL FLAG. U2K02050
008F 0000 222 | W3935 DC *-* ROUTINE BUSY INDICATOR. U2K02060
0090 00FCR 223 | W3940 DC W3990 PRINT U2K02070
0091 AD00 224 | DC /AD00 *IOCC. U2K02080
0092 0094R 225 | W3945 DC W3950 CARRIAGE U2K02090
0093 A900 226 | DC /A900 *SKIP IOCC. U2K02100
0094 0000 227 | W3950 DC *-* CARRIAGE U2K02110
0095 AC00 228 | DC /AC00 *SPACE IOCC. U2K02120
0096 0001 229 | W3900 DC 1 CONSTANT OF DECIMAL ONE U2K02125
0097 9001 230 | W3955 DC /9001 BAD CALL ERROR CODE. U2K02130
0098 9000 231 | W3960 DC /9000 PRINTER NOT RDY ERROR CODE. U2K02140
0099 0000 232 | W3970 DC *-* DSW TO CHECK AN INTRPT 2-3 U2K02160
009A 0000 233 | W3975 DC *-* DSW SAVED FOR ERR CHECK 2-2 U2K02170
009B 0000 234 | W3979 DC *-* CHANNEL 1 SWITCH 2-5 U2K02172
235 | * 2-2 U2K02180
236 | * SUBROUTINE FOR INCREMENTING BUSY AND IOCT CNTR2-2 U2K02190
237 | * 2-2 U2K02200
009C 0000 238 | W3300 DC *-* ENTRY POINT 2-2 U2K02210
009D 7401 008FR 239 | MDX L W3935,1 INCREMENT RTN BUSY COUNTER. U2K02220
009F 7401 0032 240 | MDX L $IOCT,1 INCREMENT SYS I/O COUNTER. U2K02230
00A1 4C80 009CR 241 | BSC I W3300 RETURN 2-2 U2K02240
242 | *************************************************** U2K02250
243 | * * U2K02260
244 | * PRNT3 INTERRUPT PROCESSING. * U2K02270
245 | * * U2K02280
246 | *************************************************** U2K02290
00A3 08E6 247 | W3500 XIO W3920 SENSE WITHOUT RESET 2-3 U2K02300
00A4 E8F5 248 | OR W3975 COMBINE AND SAVE DSW 2-2 U2K02310
00A5 D0F4 249 | STO W3975 *FOR ERR CHECKING 2-2 U2K02320
00A6 08E5 250 | XIO W3925 SENSE WITH RESET 2-3 U2K02324
00A7 D0F1 251 | STO W3970 SAVE CURRENT DSW 2-3 U2K02325
252 | * 2-2 U2K02330
253 | * TRANSFER COMPLETE INTERRUPT 2-2 U2K02340
254 | * 2-2 U2K02350
00A8 1001 255 | SLA 1 CHECK IF TRANS COMP INTRPT. U2K02360
00A9 4C10 00B6R 256 | BSC L W3510,- BR IF NOT TRANS COMP INTRPT U2K02370
00AB 6201 257 | LDX 2 1 2-2 U2K02380
00AC C400 0080 258 | LD L $1403 GET CHAN 9/12 INDIC 2-11 U2K02390
00AE 4C20 00DER 259 | BSC L W3580,Z *BR IF SENSED IN PREV OP2-2 U2K02400
00B0 C0DD 260 | W3505 LD W3930 SEE IF USER WANTED TO U2K02410
00B1 E8D8 261 | OR W3920 *PRINT WITH SPACE SUPPRESS. U2K02420
00B2 4C20 00B6R 262 | BSC L W3510,Z BR IF SPACE SUPPRESSED 2-2 U2K02430
00B4 6203 263 | LDX 2 3 2-2 U2K02440
00B5 702C 264 | MDX W3590 BRANCH TO SPACE 2-2 U2K02450
265 | * 2-2 U2K02460
266 | * PRINT COMPLETE INTERRUPT 2-2 U2K02470
267 | * 2-2 U2K02480
00B6 C0E2 268 | W3510 LD W3970 CHECK IF PR COMP INTRPT 2-3 U2K02490
00B7 1002 269 | SLA 2 U2K02500
00B8 4C10 00C5R 270 | BSC L W3550,- BR IF NOT PRINT COMP INTRPT U2K02510
00BA 62FF 271 | LDX 2 -1 2-2 U2K02520
00BB C0DE 272 | LD W3975 GET THE DSW 2-2 U2K02530
00BC E0CB 273 | AND W3910 CHECK FOR ANY ERRORS. U2K02540
00BD 4C20 00DBR 274 | BSC L W3570,Z BR IF THERE WAS AN ERROR. U2K02550
275 | * U2K02560
00BF 74FF 008FR 276 | W3520 MDX L W3935,-1 DECREMENT RTN BUSY COUNTER. U2K02570
00C1 1000 277 | W3980 NOP IN CASE OF SKIP. U2K02580
00C2 74FF 0032 278 | MDX L $IOCT,-1 DECREMENT SYS I/O COUNTER. U2K02590
00C4 1800 279 | W3985 SRA 0 NOP - IN CASE OF SKIP. U2K02600
280 | * * U2K02610
281 | * 2-2 U2K02620
282 | * CARRAGE COMPLETE INTERRUPT 2-2 U2K02630
283 | * 2-2 U2K02640
00C5 C0D3 284 | W3550 LD W3970 GET CURRENT DSW 2-3 U2K02650
00C6 1003 285 | SLA 3 CHECK IF CARRIAGE INT U2K02680
00C7 4C90 0004R 286 | BSC I W3010,- BR IF NO CARRIAGE INT 2-2 U2K02690
00C9 6203 287 | LDX 2 3 U2K02700
00CA 6ACE 288 | STX 2 W3970 CLEAR CURRENT DSW 2-3 U2K02710
00CB 1009 289 | SLA 9 CHECK IF CH 9 OR 12 FOUND. U2K02720
00CC 4C02 00D1R 290 | BSC L W3560,C BRANCH IF CHANNEL 9 FOUND. U2K02730
00CE 4C10 00D3R 291 | BSC L W3565,- BR IF CHANNEL 12 NOT FOUND. U2K02740
00D0 7201 292 | MDX 2 1 SET W3965 WITH 3 IF CHAN2-2 U2K02750
00D1 6E00 0080 293 | W3560 STX L2 $1403 *9, WITH 4 IF CHAN 12 2-11 U2K02760
00D3 C0C7 294 | W3565 LD W3979 2-5 U2K02762
00D4 4C18 00BFR 295 | BSC L W3520,+- 2-5 U2K02764
00D6 1010 296 | SLA 16 IF SKIP TO CHANNEL 1 WAS2-5 U2K02766
00D7 D0C3 297 | STO W3979 *THE LAST CARRIAGE OP 2-5 U2K02768
00D8 D400 0080 298 | STO L $1403 *THEN RESET CH1, CH12 2-11 U2K02769
00DA 70E4 299 | MDX W3520 RETURN U2K02770
300 | * 2-2 U2K02780
301 | * SET UP ACK WITH ERROR CODE AND BRANCH TO USER2-2 U2K02790
302 | * ERROR ROUTINE. 2-2 U2K02800
303 | * 2-2 U2K02810
00DB F0BE 304 | W3570 EOR W3975 CLEAR THE ERROR BITS 2-2 U2K02820
00DC D0BD 305 | STO W3975 *AND SAVE THE DSW 2-2 U2K02830
00DD C0B8 306 | LD W3900 GET ERROR CODE 2-2 U2K02840
00DE 4400 0000 307 | W3580 BSI L *-* BR TO USERS ERROR ROUTINE. U2K02850
00E0 4C18 00F2R 308 | BSC L W3600,+- BRANCH IF IGNORE ERROR. U2K02860
00E2 08A7 309 | W3590 XIO W3920 SENSE THE PRINTER. U2K02870
00E3 4C04 00F7R 310 | BSC L W3610,E BRANCH IF PRINTER NOT READY U2K02880
00E5 1802 311 | SRA 2 CHECK IF CARRIAGE BUSY 2-2 U2K02890
00E6 4C04 00E2R 312 | BSC L W3590,E *BR IF YES 2-2 U2K02900
00E8 C0A3 313 | LD W3925 LOAD SKIP TO CH 1 CNTRL WRD U2K02910
00E9 D0AA 314 | STO W3950 *AND STORE IN CNTRL IOCC. U2K02920
315 | * 2-2 U2K02930
316 | * EXECUTE A SKIP IF XR2=1, SPACE IF XR2=2, 2-2 U2K02940
317 | * PRINT IF XR2=-1 2-2 U2K02950
318 | * 2-2 U2K02960
00EA 40B1 319 | BSI W3300 BR TO INCT BUSY/IOCT CNT2-3 U2K02965
00EB 0E00 0091R 320 | XIO L2 W3945-1 INITIATE SKIP OR PRINT. U2K02970
321 | * U2K02990
00ED 72FF 322 | MDX 2 -1 IF A SKIP TO CHAN 1 WAS 2-2 U2K03000
00EE 70C7 323 | MDX W3510 *EXEC ABOVE, RESET 2-2 U2K03010
00EF 6E00 0080 324 | STX L2 $1403 *CHAN 9/12 INDICATOR 2-11 U2K03020
00F1 70C4 325 | MDX W3510 *TO ZERO 2-2 U2K03040
326 | * U2K03041
00F2 72FF 327 | W3600 MDX 2 -1 DID USER SUPPRESS SKIP 2-3 U2K03043
00F3 70C2 328 | MDX W3510 *BR IF NO 2-3 U2K03045
00F4 6E00 0080 329 | STX L2 $1403 *RESET CH 9/12 SWITCH 2-11 U2K03047
00F6 70B9 330 | MDX W3505 GO TEST IF SPACE AFTER P2-3 U2K03049
331 | * U2K03050
00F7 C0A0 332 | W3610 LD W3960 LOAD NOT READY ERROR CODE. U2K03060
00F8 4400 008D 333 | BSI L $PST4 BR TO POST-OP NT RDY WAIT. U2K03070
00FA 70E7 334 | MDX W3590 BRANCH TO SENSE PRINTER. U2K03080
335 | * * U2K03090
336 | * * U2K03100
0028 337 | $PRET EQU /0028 ADDR OF $PRET IN COMMA. U2K03110
0032 338 | $IOCT EQU /0032 ADDR OF $IOCT IN COMMA. U2K03120
008D 339 | $PST4 EQU /008D ADDR OF $PST4 IN COMMA. U2K03130
0080 340 | $1403 EQU /0080 ADDR OF 1403 CH12 IND 2-11 U2K03135
341 | * U2K03140
00FC 342 | BSS E 0 U2K03150
00FC 343 | W3990 BSS 60 OUTPUT BUFFER. U2K03160
0138 344 | END PRNT3 U2K03170
There were no errors in this assembly
Program transfer address = 0000
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
$1403 0080 340 258 293 298 324 329
$IOCT 0032 338 240 278
$PRET 0028 337 210 211
$PST4 008D 339 333
PRNT3 0000R 64 344
W3010 0004R 67 286
W3020 0007R 74 66
W3030 0013R 89 161 195 202
W3040 0016R 96 212
W3050 0017R 97 74
W3060 0019R 98 64
W3070 001BR 99 75
W3080 001CR 100 96
W3085 001ER 104 109 120 156 187
W3087 001FR 105 108
W3090 0027R 113 87
W3100 0034R 130 170
W3110 003BR 136 138
W3120 003FR 142 128
W3130 0046R 149 127 152
W3140 0054R 161
W3150 0057R 168 199
W3160 005DR 173 169
W3170 0064R 180 171
W3180 0065R 182 194
W3182 0068R 185 184
W3184 006CR 188 182
W3185 006ER 189 183
W3190 0077R 197 122
W3200 007ER 206 117 133 145
W3210 0080R 208 81 106
W3300 009CR 238 157 191 241 319
W3500 00A3R 247 68
W3505 00B0R 260 330
W3510 00B6R 268 256 262 323 325 328
W3520 00BFR 276 295 299
W3550 00C5R 284 270
W3560 00D1R 293 290
W3565 00D3R 294 291
W3570 00DBR 304 274
W3580 00DER 307 155 259
W3590 00E2R 309 264 312 334
W3600 00F2R 327 308
W3610 00F7R 332 310
W3900 0096R 229 179 306
W3905 0086R 214 76 95
W3910 0088R 215 273
W3915 0089R 216 135
W3920 008AR 217 80 105 131 247 261 309
W3925 008CR 219 175 250 313
W3930 008ER 221 160 162 180 193 201 260
W3935 008FR 222 88 107 239 276
W3940 0090R 223 158
W3945 0092R 225 320
W3950 0094R 227 174 192 225 314
W3955 0097R 230 206
W3960 0098R 231 208 332
W3970 0099R 232 251 268 284 288
W3975 009AR 233 248 249 272 304 305
W3979 009BR 234 177 294 297
W3980 00C1R 277 172
W3985 00C4R 279 168
W3990 00FCR 343 136 150 223