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