ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:11 2020 Source File: \w1prnt2.asm PRNT2- FAST SCAN VERSION FOR SCA USE 2 | *************************************************** W1E00030 3 | * TITLE - PRNT2 * W1E00040 4 | * STATUS - VERSION 2 MODIFICATION 4 * W1E00050 5 | * FUNCTION/OPERATION - PRNT2 CAN PERFORM THE * W1E00060 6 | * FOLLOWING FUNCTIONS * W1E00070 7 | * 1. TEST * W1E00080 8 | * 2. PRINT * W1E00090 9 | * 3. CONTROL CARRIAGE * W1E00100 10 | * 4. PRINT NUMERICAL * W1E00110 11 | * ENTRY POINTS - .PRNT2. CALL ENTRANCE LIBF PRNT2 * W1E00120 12 | * .INT1. INTERRUPT ENTRANCE FROM ILS01 * W1E00130 13 | * INPUT - THE I/O AREA CONTAINS EBCDIC CHARACTERS * W1E00140 14 | * PACKED TWO PER WORD * W1E00150 15 | * OUTPUT - NONE * W1E00160 16 | *EXTERNAL SUBROUTINES- NONE * W1E00170 17 | * EXITS-NORMAL - .EXIT. RETURN TO MAINLINE AT * W1E00180 18 | * LIBF+2, LIBF+3, OR LIBF+4 DEPENDING ON THE * W1E00190 19 | * FUNCTION. .XR1+2. RETURN TO USER VIA ILS RTN. * W1E00200 20 | * -ERROR - WORD 41 -PRE-OPERATIVE ERROR HALT * W1E00210 21 | * .STR(3+1. BSI TO USERS ERROR RTN. * W1E00220 22 | * TABLES/WORK AREAS - NONE * W1E00230 23 | * ATTRIBUTES - REUSABLE * W1E00240 24 | * NOTES - NONE * W1E00250 25 | *************************************************** W1E00260 26 | LIBR W1E00270 0000 27 | 1130 ISS 06 PRNT2 1 W1E00280 28 | *************************************************** W1E00290 0028 29 | $PRET EQU 40 ADDR PREOPERATIVE TRAP W1E00300 0032 30 | $IOCT EQU 50 ADDR IOCS COUNTER W1E00310 007F 31 | $1132 EQU /7F ADDR 1132 CH12 IND 2-4 W1E00315 32 | * W1E00320 33 | *************************************************** W1E00330 0000 6963 34 | PRNT2 STX 1 FC58+1 CALL ENTRANCE (+0) W1E00340 0001 6580 0000 35 | LDX I1 *-* ADDR OF 1ST PARAMETER (+2) W1E00350 0003 704B 36 | MDX FC10 TO CALL PROCESSING W1E00360 0004 0000 37 | INT1 DC *-* ENTRANCE FROM ISS (+4) W1E00370 0005 4C00 00ECR 38 | BSC L FC50 TO INTERR PROCESSING W1E00380 0007 0000 39 | WHEEL DC *-* STORAGE FOR WHEEL CHAR * W1E00390 0008 40 | BSS E W1E00400 0008 0000 41 | AQ DC 0 ACC * W1E00410 0009 0000 42 | DC 0 *AND EXT * W1E00420 000A 6001 43 | H6001 DC /6001 BAD CALL DISPLAY * W1E00430 44 | *************************************************** W1E00440 45 | * ILLEGAL PARAMETER TRAP. SUBR SETS ERROR * W1E00450 46 | * INDICATOR IN ACCUM AND GOES TO WAIT AT LOCN * W1E00460 47 | * 40 THENCE BACK TO INITIAL CALL * W1E00470 48 | *************************************************** W1E00480 000B C038 49 | ILGL2 LD STRTP END OF FORMS W1E00490 000C 7001 50 | MDX ILLGL+1 RETURN TO USER W1E00500 51 | * W1E00510 52 | * W1E00520 000D C0FC 53 | ILLGL LD H6001 W1E00530 000E 6500 0000 54 | LDX L1 *-* SET XR1 TO CALL ADDR+1 W1E00540 0010 71FF 55 | MDX 1 -1 SET XR1 TO CALL ADDR W1E00550 0011 6D00 0028 56 | STX L1 $PRET SAVE CALL ADDR W1E00560 0013 6129 57 | LDX 1 $PRET+1 W1E00570 0014 704D 58 | MDX STXIT RETURN TO $PRET+1 W1E00580 59 | * W1E00590 0015 F100 60 | KNUM DC /F100 1ST NUM CHAR ON PRT WHEEL* W1E00600 0016 61 | BSS E W1E00610 0016 0007R 62 | READE DC WHEEL * W1E00620 0017 3200 63 | DC /3200 * W1E00630 0018 0016 64 | K13 DC 22 * W1E00640 0019 0001 65 | BIN1 DC 1 MUST BE ODD * W1E00650 001A 0000 66 | NUM DC *-* + = NUM, NEG = ALPHA * W1E00660 67 | *************************************************** W1E00670 68 | * SCAN ROUTINE FOR PRNT2. THE CHAR IS READ * W1E00680 69 | * FROM THE EMITTER AND CONVERTED TO A TABLE * W1E00690 70 | * ADDRESS. THE MASK AREA OF 32-39 IS SET TO * W1E00700 71 | * ZEROES AND THE TABLE ADDRESS IS USED TO * W1E00710 72 | * SELECT A WORD FROM THE TABLE .TABLE. WHICH * W1E00720 73 | * CONTAINS THE RELATIVE LOCATION IN THE PRNT2 * W1E00730 74 | * BUFFER WHERE THE MASK WORDS FOR THIS CHAR * W1E00740 75 | * ARE CONTAINED AND THE RELATIVE LOCATIONS IN * W1E00750 76 | * 32-39 WHICH ARE TO HAVE MASK WORDS * W1E00760 77 | *************************************************** W1E00770 001B 08FA 78 | EMIT XIO READE WHEEL CHAR TO EMITTER W1E00780 001C C0FD 79 | LD NUM W1E00790 001D 4C08 0026R 80 | BSC L FC75,+ IS NUM INDR ON W1E00800 001F C0F8 81 | LD K13 YES, SET CTR48 TO 22 W1E00810 0020 D02B 82 | STO CTR48 W1E00820 0021 C0E5 83 | LD WHEEL STORE PRESENT WHEEL W1E00830 0022 F0F2 84 | EOR KNUM COMP W/1ST NUMERIC CHAR W1E00840 0023 4C20 0124R 85 | FC74 BSC L OUT,Z MATCH TO USER IF NOT W1E00850 0025 D0F4 86 | STO NUM YES, SET NUM IND OFF W1E00860 0026 C0E0 87 | FC75 LD WHEEL GET CHAR JUST READ AND W1E00870 0027 1002 88 | SLA 2 *CONVERT TO ADDRESS IN THE W1E00880 0028 180A 89 | SRA 10 *CHARACTER TBL TO INSERT W1E00890 0029 8024 90 | A KTBL *APPROPRIATE MASK WORDS W1E00900 002A D004 91 | STO FC77+2 *FROM .BUFR. TO 32-39 W1E00910 002B 4400 0174R 92 | BSI L CLEAR GO CLEAR LOC!NS 32-39 W1E00920 002D 61F8 93 | FC77 LDX 1 -8 W1E00930 002E C400 0000 94 | LD L *-* GET TABLE ENTRY AND W1E00940 0030 1888 95 | SRT 8 *STORE BUFFER ADDRESS TO W1E00950 0031 D001 96 | STO *+1 *XR2 FOR MASK WORDS W1E00960 0032 6600 0000 97 | LDX L2 *-* *FOR THIS CHARACTER W1E00970 0034 7600 01BER 98 | MDX L2 BUFR W1E00980 0036 1888 99 | SRT 8 W1E00990 0037 18C1 100 | LOOP RTE 1 STORE MASK WORD W1E01000 0038 4C10 003DR 101 | BSC L UPIT,- *INTO APPROPRIATE W1E01010 003A C200 102 | LD 2 0 *LOCATIONS IN 32-39 W1E01020 003B D128 103 | STO 1 $SCAN+8 W1E01030 003C 7201 104 | MDX 2 1 W1E01040 003D 7101 105 | UPIT MDX 1 1 W1E01050 003E 70F8 106 | MDX LOOP W1E01060 003F C00C 107 | LD CTR48 REDUCE NO. OF SCANS CTR W1E01070 0040 90D8 108 | S BIN1 *BY ONE W1E01080 0041 D00A 109 | STO CTR48 W1E01090 0042 4C00 0122R 110 | BSC L OUT-2 INSERT SCAN COMPLETE BIT W1E01100 0044 111 | BSS E 0 W1E01110 0044 6000 112 | STRTP DC /6000 1132 ERROR INDR * W1E01120 0045 3480 113 | DC /3480 O* W1E01130 0046 0030 114 | K48 DC 48 MUST BE EVEN ADDR E* W1E01140 0047 000C 115 | K12 DC 12 MUST FOLLOW K48 O* W1E01150 0048 0000 116 | SENSE DC *-* STOR FOR CALL+1 PAR EVEN W1E01152 0049 3700 117 | DC /3700 SENSE IOCC ODD W1E01154 004A FFC4 118 | NEG60 DC -60 CON FOR USER WDCNT ERROR * W1E01160 004B 0002 119 | BIN2 DC 2 RIGHT 8 BITS ARE Z * W1E01180 004C 0000 120 | CTR48 DC *-* * W1E01190 004D 0000 121 | PAR1 DC *-* W1E01200 004E 017ER 122 | KTBL DC TABL W1E01210 123 | *************************************************** W1E01220 124 | * CALL PROCESSING- CHECK FOR TEST FUNCTION AND* W1E01230 125 | * IF YES- SET THE APPROPRIATE RETURN ADDR * W1E01240 126 | * AND EXIT BACK TO USER * W1E01250 127 | *************************************************** W1E01260 004F 69BF 128 | FC10 STX 1 ILLGL+2 ADDR OF CALL+1 STORED W1E01270 0050 6A15 129 | STX 2 FC58+3 STORE USERS XR2 W1E01280 0051 2815 130 | STS FC58+4 SAVE STATUS W1E01290 0052 D8B5 131 | STD AQ SAVE ACC AND EXT W1E01300 0053 08F4 132 | EOF XIO SENSE W1E01310 0054 1005 133 | SLA 5 END OF FORMS TEST W1E01320 0055 4C28 000BR 134 | BSC L ILGL2,+Z BR IF YES W1E01330 0057 C480 000FR 135 | LD I ILLGL+2 FETCH 1ST PARAM W1E01340 0059 188C 136 | SRT 12 W1E01350 005A 4820 137 | BSC Z ALL Z W1E01360 005B 700E 138 | MDX FC13 NO, TEST FOR PRT OR CTRL W1E01370 005C 08EB 139 | XIO SENSE CHECK FOR PRINTER OR W1E01380 005D 1808 140 | SRA 8 * CARRIAGE BUSY W1E01390 005E 4818 141 | BSC +- IS IT Z W1E01400 005F 7101 142 | MDX 1 1 YES, BUMP EXIT W1E01410 0060 7101 143 | MDX 1 1 NO, LEAVE AT CALL+2 EXIT W1E01420 0061 C8A6 144 | LDD AQ W1E01430 0062 6906 145 | STXIT STX 1 EXIT+1 SET RESTORE SUBR EXIT W1E01440 0063 6500 0000 146 | FC58 LDX L1 *-* RESTORE XR1 W1E01450 0065 6600 0000 147 | LDX L2 *-* RESTORE XR2 W1E01460 0067 2000 148 | LDS 0 RESTORE STATUS W1E01470 0068 4C00 0000 149 | EXIT BSC L *-* EXIT TO USER W1E01480 150 | * W1E01490 151 | *************************************************** W1E01500 152 | * CHECK FOR PRINT OR PRINT NUMERIC FUNCTION * W1E01510 153 | * IF YES- BRING IN ASSOCIATED PARAMETERS AND * W1E01520 154 | * CHECK VALID FUNCTION,WORD COUNT AND BRANCH * W1E01530 155 | * TO PRESCAN LINE TO SET UP MASK WORDS * W1E01540 156 | *************************************************** W1E01550 006A 18D4 157 | FC13 RTE 20 GET CONTROL PARAMATER AND W1E01560 006B D0E1 158 | STO PAR1 *SAVE W1E01570 006C 188C 159 | SRT 12 ISOLATE LEFT 4 BITS W1E01580 006D 90AB 160 | S BIN1 CHECK FOR INVALID FUNCTION W1E01590 006E 4C08 000DR 161 | BSC L ILLGL,+ *OF 1 W1E01600 0070 90DA 162 | S BIN2 TEST IF CTRL W1E01610 0071 4818 163 | BSC +- SKIP IF NOT CONTROL FUNCT. W1E01620 0072 703F 164 | MDX FC20 TO CTRL PROCESSING W1E01630 0073 D076 165 | STO STRTC HOLD TO SET NUM INDR LATER W1E01640 0074 10A0 166 | SLT 32 CLEAR ACC AND EXT W1E01650 0075 C0D6 167 | FC14X LD CTR48 CHK IF WE CAN PRESCAN W1E01660 0076 4C20 0075R 168 | BSC L FC14X,Z W1E01670 0078 C071 169 | LD STRTC IF PREVIOUS LINE WAS NUM, W1E01680 0079 D0A0 170 | STO NUM *THE INDR WAS TURNED OFF W1E01690 007A 7101 171 | MDX 1 1 BUMP XR1 TO CALL+2 ADDR W1E01700 007B 690A 172 | STX 1 FC16+1 STORE CALL+2 ADDR W1E01710 007C 7101 173 | MDX 1 1 W1E01720 007D 6D00 0167R 174 | STX L1 STRE3+2 STORE CALL+3 ADDR FOR 9/12 W1E01730 007F C0CD 175 | LD PAR1 CHECK FOR FUNCTION CODE W1E01740 0080 188C 176 | SRT 12 GREATER THAN 4 W1E01750 0081 9055 177 | S K1 W1E01760 0082 1802 178 | SRA 2 IF ANY BIT REMAINS, PARAM W1E01770 0083 4C20 000DR 179 | FC14C BSC L ILLGL,Z * WAS OVER 4 W1E01780 0085 9480 0000 180 | FC16 S I *-* SUB WD CNT FROM Z W1E01790 0087 4C10 000DR 181 | BSC L ILLGL,- RESULT SHOULD BE NEG W1E01800 0089 D400 028ER 182 | STO L NEGWD STORE WD COUNT IN NEGATIVE W1E01810 008B D025 183 | STO NEG2 *FORM FOR LATER USE W1E01820 008C 90BD 184 | S NEG60 CHECK RANGE--DISPLAY W1E01830 008D 4C28 000DR 185 | BSC L ILLGL,+Z */6001 IF ERROR W1E01840 008F C480 0086R 186 | FC16B LD I FC16+1 LOAD ADDR IN CALL+2 W1E01850 0091 8045 187 | A K1 POINT TO FIRST DATA CHAR W1E01860 0092 4C00 0236R 188 | BSC L PRSCN GO PRESCAN LINE W1E01870 189 | *************************************************** W1E01880 190 | * RETURN FROM PRESCAN- SET UP CTRS, CLEAR 32- * W1E01890 191 | * 39 , START PRINTER. TURN ON IOCS CTR & EXIT * W1E01900 192 | * BACK TO USER * W1E01910 193 | *************************************************** W1E01920 0094 08B3 194 | FC16C XIO SENSE CK IF WE CAN START PRINT W1E01930 0095 1006 195 | SLA 6 W1E01940 0096 4C02 0053R 196 | BSC L EOF,C TO E.O.FORMS IF C ON W1E01950 0098 4C28 0094R 197 | BSC L FC16C,+Z NO PRNTER STILL BUSY W1E01960 009A C06D 198 | FC16D LD SPSK CHK IF SKIP OP INCOMPLETE W1E01970 009B 4C10 00A0R 199 | BSC L FC16E,- NOT BUSY OK TO PROCESS W1E01980 009D C04B 200 | LD AFTIN W1E01990 009E 4C20 009AR 201 | BSC L FC16D,Z WAIT FOR SKIP COMPLETE W1E02000 00A0 C0AC 202 | FC16E LD PAR1 SAVE CTRL PARAM FOR LATER W1E02010 00A1 D0A6 203 | STO SENSE CHK IF SPACE W1E02020 00A2 C8A3 204 | FC17 LDD K48 SET COUNTERS W1E02030 00A3 D0A8 205 | STO CTR48 * FOR A TOTAL OF 66 W1E02040 00A4 D833 206 | FC18 STD CTR16 * PRINT CYCLES W1E02050 00A5 4400 0174R 207 | BSI L CLEAR CLEAR 32-39 W1E02060 00A7 7401 0027 208 | MDX L $SCAN+7,1 INSERT SCAN COMPLETE BIT W1E02070 00A9 089A 209 | XIO STRTP START PRINTER W1E02080 00AA 6580 000FR 210 | LDX I1 ILLGL+2 RESTORE XR1 TO RETURN W1E02090 00AC 7102 211 | MDX 1 2 *TO USER W1E02100 00AD 7401 0032 212 | CNTUP MDX L $IOCT,1 INCR IOCS COUNTER W1E02110 00AF 70B0 213 | MDX STXIT-2 TO USER W1E02120 00B0 70AF 214 | MDX STXIT-2 TO USER W1E02130 00B1 0000 215 | NEG2 DC HOLDS WD CT IN NEG. FORM W1E02140 216 | *************************************************** W1E02150 217 | * PROCESS CONTROL FUNCTIONS OF SPACE AND SKIP * W1E02160 218 | * WAIT FOR ANY PREVIOUS PRINTING,SPACING OR * W1E02170 219 | * SKIPPING TO END. DETERMINE IF IMMEDIATE OR * W1E02180 220 | * AFTER PRNT SPACE OR SKIP, AND CK FOR VALID * W1E02190 221 | * CONTROL FUNCTION. .SPSK. INDICATES OP AND * W1E02200 222 | * .AFTIN. INDICATES IMMED. OR AFTER OP. IF A * W1E02210 223 | * SPACE OR SKIP IMMEDIATE, EXECUTE I/O ELSE * W1E02220 224 | * WAIT FOR PRINT TO FINISH * W1E02230 225 | *************************************************** W1E02240 00B2 C025 226 | FC20 LD CTR16 CHK IF RESTORE CYCLES W1E02250 00B3 4830 227 | BSC Z- *ARE COMPLETE W1E02260 00B4 70FD 228 | MDX FC20 16-CTR NOT Z, WAIT W1E02270 00B5 0892 229 | FC20A XIO SENSE CHECK IF EXECUTING W1E02280 00B6 180C 230 | SRA 12 * ANY CARRIAGE OP W1E02290 00B7 4C20 00B5R 231 | BSC L FC20A,Z LOOP IF YES W1E02300 00B9 C08D 232 | FC22 LD K12 SET LIMITING COUNTER W1E02310 00BA D075 233 | STO STOPC W1E02320 00BB 1810 234 | SRA 16 CLEAR ACC W1E02330 00BC 1084 235 | SLT 4 BRING 2ND HEX DIG FROM EXT W1E02340 00BD D02B 236 | STO AFTIN SET TO Z FOR ON W1E02350 00BE 4C20 00C3R 237 | BSC L FC25,Z IS IT Z W1E02360 00C0 1084 238 | SLT 4 TRY 3RD HEX DIGIT W1E02370 00C1 4C18 000DR 239 | BSC L ILLGL,+- IS IT Z ALSO W1E02380 00C3 9083 240 | FC25 S K12 NO W1E02390 00C4 4C30 00DDR 241 | BSC L FC44,-Z IS THIS A SKIP W1E02400 00C6 6200 242 | LDX 2 0 YES W1E02410 00C7 4C10 00DAR 243 | BSC L FC39,- IS IT A SKIP TO CH 12 W1E02420 00C9 801E 244 | A K3 NO W1E02430 00CA 6201 245 | LDX 2 1 SET XR1 FOR SHIFT & COUNT W1E02440 00CB 4C18 00DAR 246 | BSC L FC39,+- TRY FOR CH 9 W1E02450 00CD 801A 247 | A K3 NO W1E02460 00CE 7201 248 | MDX 2 1 W1E02470 00CF 4C18 00DAR 249 | FC38 BSC L FC39,+- TEST FOR CH 6 W1E02480 00D1 8005 250 | A K1 NO, LOOP & TRY FOR 5,4,3, W1E02490 00D2 7201 251 | MDX 2 1 2,1 W1E02500 00D3 74FF 0130R 252 | MDX L STOPC,-1 CTR TO LIMIT LOOPS W1E02510 00D5 70F9 253 | MDX FC38 W1E02520 00D6 70AC 254 | MDX FC14C TO ILLGL VIA STEP W1E02530 00D7 0001 255 | K1 DC 1 * W1E02540 00D8 256 | BSS E 0 W1E02550 00D8 0000 257 | CTR16 DC *-* CENTRAL LOCN REQUIRED * W1E02560 00D9 0000 258 | CTR2 DC *-* MUST FOLLOW CTR16 & ODD * W1E02570 00DA C0FC 259 | FC39 LD K1 SET UP BIT FOR SKIP MASK W1E02580 00DB 1240 260 | SLCA 2 W1E02590 00DC E850 261 | OR SIGNB SET SIGN BIT ON W1E02600 00DD D02A 262 | FC44 STO SPSK LOAD INFO INTO MASK W1E02610 00DE C00A 263 | LD AFTIN SHOULD EXECUTION WAIT W1E02620 00DF 4C18 0060R 264 | BSC L STXIT-2,+- BRANCH IF YES, ELSE W1E02630 00E1 C026 265 | LD SPSK *DETERMINE IF SKIP OR SPAC W1E02640 00E2 4C10 00E6R 266 | BSC L SPACE,- IS IT A SKIP W1E02650 00E4 0805 267 | XIO STRTC YES W1E02660 00E5 70C7 268 | MDX CNTUP BUMP LOC 50, RTRN TO USER W1E02670 269 | * W1E02680 270 | * W1E02700 271 | * SPACE PROCESSING W1E02710 00E6 0847 272 | SPACE XIO CARSP START SPACES W1E02720 00E7 70C5 273 | MDX CNTUP RETURN TO USER W1E02730 274 | * W1E02740 275 | * END CALL PROCESSING W1E02750 276 | * W1E02760 00E8 0003 277 | K3 DC 3 CONSTANT 3 W1E02765 00E9 0000 278 | AFTIN DC *-* Z=ON, PLUS=OFF * W1E02770 00EA 279 | BSS E 0 W1E02780 00EA 0000 280 | STRTC DC *-* WORK AREA FOR FC14A * W1E02810 00EB 3404 281 | DC /3404 MUST BE ODD * W1E02820 282 | *************************************************** W1E02840 283 | * 1132 INTERRUPT PROCESSING ROUTINE. SAVE XR1 * W1E02850 284 | * AND 2 GET DSW CHECK FOR SKIP COMPLETE OP AND* W1E02860 285 | * IF YES DETERMINE IF WE HAVE REACHED DESIRED * W1E02870 286 | * CHANNEL. IF YES STOP CARRIAGE. IN EITHER * W1E02880 287 | * CASEGO CHECK FOR PRINTER EMMITTER INTERRUPT * W1E02890 288 | *************************************************** W1E02900 00EC 6A38 289 | FC50 STX 2 OUT+1 SAVE XR2 W1E02910 00ED 6939 290 | STX 1 XR1+1 W1E02920 00EE 0843 291 | XIO SENSR-1 SENSE AND RESET W1E02930 00EF D07F 292 | STO DSW HOLD DSW W1E02940 00F0 E0E6 293 | AND K1 MASK OUT CH 12 BIT 2-4 W1E02942 00F1 EC00 007F 294 | OR L $1132 OR WITH CH 12 IND 2-4 W1E02944 00F3 D400 007F 295 | STO L $1132 SET 1132 CH 12 IND 2-4 W1E02946 00F5 C079 296 | LD DSW LOAD THE DSW AGAIN 2-4 W1E02948 00F6 1001 297 | SLA 1 TEST BIT 1 W1E02950 00F7 4C10 0109R 298 | BSC L FC56,- IS A SKIP DONE W1E02960 00F9 1007 299 | SLA 7 CHOP OFF LEFT 8 W1E02970 00FA 1808 300 | SRA 8 RIGHT JUSTIFY W1E02980 00FB E831 301 | OR SIGNB SET UP DSW FOR COMPARE W1E02990 00FC F00B 302 | EOR SPSK W1E03000 00FD 4820 303 | BSC Z MATCH W1E03010 00FE 7013 304 | MDX FC60 NO W1E03020 00FF D070 305 | STO PASS CLEAR PASS W1E03030 0100 D007 306 | STO SPSK CLEAR MASK W1E03040 0101 D400 007F 307 | STO L $1132 RESET 1132 CH 12 IND 2-4 W1E03045 0103 082C 308 | XIO STOPC YES W1E03050 0104 74FF 0032 309 | FC54 MDX L $IOCT,-1 DECR LOC 50 W1E03060 0106 1000 310 | NOP MAY SKIP W1E03070 0107 700A 311 | MDX FC60 W1E03080 312 | * W1E03090 0108 0000 313 | SPSK DC *-* W1E03095 314 | *************************************************** W1E03100 315 | * SPACE COMPLETE INTERRUPT. CHECK IF ANY * W1E03110 316 | * MORE SPACES REQ!D. IF YES EXECUTE I/O SPACE * W1E03120 317 | * THEN GO CHECK PRINTER EMITTER INTERRUPT. * W1E03130 318 | *************************************************** W1E03140 0109 1001 319 | FC56 SLA 1 CHK DSW BIT 2 W1E03150 010A 4810 320 | BSC - IS CARRIAGE SPACE DONE W1E03160 010B 7006 321 | MDX FC60 NO W1E03170 010C C0FB 322 | LD SPSK W1E03180 010D 90C9 323 | S K1 DECR SPACE CNT W1E03190 010E D0F9 324 | STO SPSK STORE BACK W1E03200 010F 4C08 0104R 325 | BSC L FC54,+ FINISHED IF Z, W1E03210 0111 081C 326 | XIO CARSP * ELSE KEEP SPACING W1E03220 327 | *************************************************** W1E03230 328 | * CHECK IF PRINTER EMITTER INT. IF NO RETURN * W1E03240 329 | * TO USER VIA ILS EXIT. IF YES CHECK IF WE ARE* W1E03250 330 | * IN A RE-SCAN WAIT LOOP. IF NO - CHECK IF * W1E03260 331 | * LAST PRINT SCAN WAS COMPLETED- RESTART IF NO* W1E03270 332 | * IF PRNT INTERPT, CK IF ALL 48 SCANS COMPLETE* W1E03280 333 | * IF NO- GO SCAN FOR NXT CHAR. IF YES CK IF * W1E03290 334 | * RESTORE CYCLES COMPLETE. IF YES GO TO FC81 * W1E03300 335 | * CK IF LAST 2 CYCLES DONE, IF YES STOP PRNTR * W1E03310 336 | * AND RETURN TO USER * W1E03320 337 | *************************************************** W1E03330 0112 C05C 338 | FC60 LD DSW SAVE CHANNEL INDICATOR W1E03340 0113 E85C 339 | OR PASS FOR LATER CHECK OF SKIP W1E03350 0114 D05B 340 | STO PASS TO CHANNEL ONE W1E03360 0115 C059 341 | LD DSW W1E03370 0116 4C10 0124R 342 | BSC L OUT,- IS 1132 BIT ON W1E03380 0118 C064 343 | LD CTR46 CHECK IF RESCAN W1E03390 0119 4C20 012AR 344 | BSC L FC63,Z LOOP- BRANCH IF YES W1E03400 011B C053 345 | LD DSW CHECK IF LAST W1E03410 011C 1004 346 | SLA 4 SCAN NOT COMPLETED W1E03420 011D 4C10 0134R 347 | BSC L FC70,- BRANCH IF COMPLETE W1E03430 011F C012 348 | LD K46 NO- SET WAIT LOOP W1E03440 0120 D05C 349 | STO CTR46 AND THEN RESUME W1E03450 0121 4052 350 | BSI CLEAR SCAN FROM LAST GOOD SCAN W1E03460 0122 7401 0027 351 | MDX L $SCAN+7,1 W1E03470 0124 6600 0000 352 | OUT LDX L2 *-* RESTORE XR2 W1E03480 0126 6500 0000 353 | XR1 LDX L1 *-* RESTORE XR1 W1E03490 0128 4C80 0004R 354 | BSC I INT1 TO USER VIA ILS01 W1E03500 355 | * W1E03510 012A 90AC 356 | FC63 S K1 REDUCE RESCAN COUNTER W1E03520 012B D051 357 | STO CTR46 *BY ONE W1E03530 012C 70F7 358 | MDX OUT W1E03540 012D 8000 359 | SIGNB DC /8000 W1E03545 012E 360 | BSS E 0 W1E03550 012E 8080 361 | CARSP DC /8080 STORAGE FOR CH 1 MASK * W1E03560 012F 3401 362 | DC /3401 * W1E03570 0130 0000 363 | STOPC DC *-* LEGALITY CK ON CTRL PARAM* W1E03580 0131 3402 364 | DC /3402 MUST BE ODD * W1E03590 0132 002E 365 | K46 DC 46 CONSTANT 46 W1E03592 0133 3701 366 | SENSR DC /3701 SENSE AND RESET W1E03594 367 | * W1E03610 0134 C400 004CR 368 | FC70 LD L CTR48 W1E03620 0136 4C20 001BR 369 | BSC L EMIT,Z IS FORMAL PART FINISHED W1E03630 0138 403B 370 | BSI CLEAR DONE- CLEAR 32-39 W1E03640 0139 7401 0027 371 | MDX L $SCAN+7,1 INSERT SCAN COMPLETE BIT W1E03650 013B C09C 372 | LD CTR16 CHK RESTORE COUNTER W1E03660 013C 4C20 0147R 373 | BSC L FC81,Z IS 16-CTR Z W1E03670 013E D031 374 | STO PASS CLEAR PASS W1E03680 013F 74FA 00D9R 375 | MDX L CTR2,-6 YES, DECR 2-CTR W1E03690 0141 70E2 376 | MDX OUT TO USER IF NOT Z YET W1E03700 0142 082F 377 | XIO STOPP W1E03710 0143 74FF 0032 378 | MDX L $IOCT,-1 DECR LOC 50 W1E03720 0145 70DE 379 | MDX OUT TO USER W1E03730 0146 70DD 380 | MDX OUT W1E03740 381 | * W1E03750 382 | *************************************************** W1E03760 383 | * RESTORE CYCLES ARE COMPLETED CK IF ANY SKIP * W1E03770 384 | * OR SPACE AFTER OP REQ!D. IF YES START THE * W1E03780 385 | * APPROPRIATE OPERATION. IF NO CK ORIGINAL * W1E03790 386 | * FUNCTION PARAM TO SEE IF SPACE OR SUPPRESS * W1E03800 387 | * SPACE TO BE INITIATED. CK IF CHANNEL 9 OR * W1E03810 388 | * 12 WAS PASSED AND IF YES GO TO USERS ERROR * W1E03820 389 | * ROUTINE WITH INDICATION. UPON RETURN SKIP TO* W1E03830 390 | * CHANNEL 1 IF REQUESTED * W1E03840 391 | *************************************************** W1E03850 0147 74FD 00D8R 392 | FC81 MDX L CTR16,-3 W1E03860 0149 70DA 393 | MDX OUT W1E03870 014A C0BD 394 | LD SPSK YES W1E03880 014B 4C20 0153R 395 | BSC L FC91,Z IS IT A SPACE OR SKIP W1E03890 014D C400 0048R 396 | FC82 LD L SENSE NO, FETCH PUT/WRITE PARAM W1E03900 014F 100B 397 | SLA 11 TRIM EACH END W1E03910 0150 180F 398 | SRA 15 W1E03920 0151 F085 399 | EOR K1 REVERSE 01 TO 00 OR 00 -01 W1E03930 0152 D0B5 400 | STO SPSK SET SPACE OR INHIBIT SPACE W1E03940 401 | * W1E03950 0153 6895 402 | FC91 STX 0 AFTIN SET INDR OFF(+ OR -) W1E03960 0154 C01B 403 | LD PASS YES W1E03970 0155 4C04 0163R 404 | BSC L STRE4,E IF ODD, CH 12 WAS PASSED W1E03980 0157 1801 405 | SRA 1 W1E03990 0158 4C04 0165R 406 | BSC L STRE3,E IF ODD, CH 9 WAS PASSED W1E04000 015A C0AD 407 | FC84 LD SPSK NO 9/12 PASSED START AFTER W1E04010 015B 4818 408 | BSC +- *SPACE/SKIP IF PRESENT W1E04020 015C 70C7 409 | MDX OUT TO USER W1E04030 015D 4C28 016CR 410 | BSC L FC86,+Z SPACE CALLED FOR W1E04040 015F 08CE 411 | XIO CARSP YES W1E04050 0160 7401 0032 412 | UP7 MDX L $IOCT,1 INCR IOCS COUNTER W1E04060 413 | * NOP REMOVED, SINCE SKIP IS NOT EXPECTED 2-4 W1E04070 0162 70C1 414 | MDX OUT TO USER W1E04080 415 | * W1E04090 0163 C00E 416 | STRE4 LD STOPP LD ACC W/ A FOUR W1E04100 0164 7001 417 | MDX STRE3+1 W1E04110 0165 C082 418 | STRE3 LD K3 W1E04120 0166 4480 0000 419 | BSI I *-* TO USERS ERROR SUBR W1E04130 0168 4C18 015AR 420 | FC91A BSC L FC84,+- TAKE NO ACTION IF CLEARED, W1E04140 016A C0C3 421 | LD CARSP * ELSE SET UP SKIP TO CH 1 W1E04150 016B D09C 422 | STO SPSK W1E04160 016C 0C00 00EAR 423 | FC86 XIO L STRTC SKIP WAS CALLED FOR W1E04170 016E 70F1 424 | MDX UP7 INCR $IOCT, GO TO USER W1E04180 425 | * END OF INTERRUPT PROCESSING W1E04190 016F 0000 426 | DSW DC *-* * W1E04200 0170 0000 427 | PASS DC 0 W1E04205 0172 428 | BSS E 0 W1E04210 0172 0004 429 | STOPP DC 4 CON FOR USERS ERROR W1E04220 0173 3440 430 | DC /3440 *EXIT * W1E04230 431 | *************************************************** W1E04280 432 | * ROUTINE TO CLEAR LOCATIONS 32-39 TO ZEROES * W1E04290 433 | *************************************************** W1E04300 0174 0000 434 | CLEAR DC *-* W1E04310 0175 6200 435 | LDX 2 0 CLE AR LOCATIONS W1E04320 0176 10A0 436 | SLT 32 32 THROUGH W1E04330 0177 DA20 437 | STD 2 $SCAN 39 TO W1E04340 0178 DA22 438 | STD 2 $SCAN+2 ZEROES W1E04350 0179 DA24 439 | STD 2 $SCAN+4 W1E04360 017A DA26 440 | STD 2 $SCAN+6 W1E04370 017B 4C80 0174R 441 | BSC I CLEAR RETURN TO CALLER W1E04380 017D 0000 442 | CTR46 DC *-* W1E04385 017E 443 | TABL BSS E 64 W1E04390 01BE 444 | BUFR BSS 120 INTERNAL PRINT BUFFER W1E04400 445 | *************************************************** W1E04410 446 | * START OF PRESCAN- CLEAR INTERNAL PRINT BUFFR* W1E04420 447 | * AND CHARACTER TABLE TO ZEROES * W1E04430 448 | *************************************************** W1E04440 0236 D05A 449 | PRSCN STO FROM+1 SET TO SCAN PRINT LINE W1E04450 0237 D04C 450 | STO SECND *OF USER W1E04460 451 | * CLEAR BUFFER,TABLE & COUNTERS W1E04470 0238 6600 00B8 452 | LDX L2 184 W1E04480 023A 10A0 453 | SLT 32 ZERO OUT TABLE AND W1E04490 023B DE00 017CR 454 | LOOP1 STD L2 TABL-2 *BUFFER, SAVE XR3 W1E04500 023D 72FE 455 | MDX 2 -2 *AND CLEAR 'CTRSF' W1E04510 023E 70FC 456 | MDX LOOP1 W1E04520 023F D045 457 | STO CTRSF W1E04540 458 | *************************************************** W1E04550 459 | * LOOK AT EACH CHAR IN USERS PRNT BUFFR AND * W1E04560 460 | * BUILD UP THE CHARACTER TABLE TO INDICATE FOR* W1E04570 461 | * EACH OF THE 48 PRINTABLE CHARACTERS THE NMBR* W1E04580 462 | * OF MASK WORDS REQUIRED AND THEIR RELATIVE * W1E04590 463 | * LOCATIONS IN 32-39 IN THE RIGHT HALF OF EACH* W1E04600 464 | * TABLE ENTRY * W1E04610 465 | * XR2 IS SHIFT COUNT * W1E04620 466 | *************************************************** W1E04630 0240 6110 467 | LOOP2 LDX 1 16 W1E04640 0241 404D 468 | LOOP3 BSI GET GET CHARACTER TABLE ADDR W1E04650 0242 C480 028BR 469 | LD I TAENT GET CHAR TABLE ENTRY 2-2 W1E04660 0244 1A80 470 | SRT 2 0 CHECK RELATIVE WORD W1E04670 0245 4C04 024CR 471 | BSC L CK,E ANY OTHER CHARS IN THIS W1E04680 0247 E83F 472 | OR KN1 *GROUP OF 16, NO, SET W1E04690 0248 1280 473 | SLT 2 0 *INDICATOR +, ADD 1 TO W1E04700 0249 803C 474 | A K0100 *CNT OF MASK WDS REQUIRED W1E04710 024A D480 028BR 475 | STO I TAENT *FOR CHAR-STORE BACK 2-2 W1E04720 024C C041 476 | CK LD NEGWD CHECK IF SCAN DONE W1E04730 024D 4C18 0253R 477 | BSC L LOOP4-1,+- EXIT IF DONE W1E04740 024F 71FF 478 | MDX 1 -1 ADJUST COUNTERS W1E04750 0250 70F0 479 | MDX LOOP3 *TO GO THRU W1E04760 0251 7201 480 | MDX 2 1 *LOOP AGAIN W1E04770 0252 70ED 481 | MDX LOOP2 W1E04780 482 | *************************************************** W1E04790 483 | * AFTER SCAN OF USERS PRINT BUFFER, SCAN THE * W1E04800 484 | * CONSTRUCTED TABLE AND DETERMINE THE STARTING* W1E04810 485 | * RELATIVE LOCATION FOR THE MASK WORDS TO BE * W1E04820 486 | * STORED IN THE INTERNAL PRINT BUFFER * W1E04830 487 | *************************************************** W1E04840 0253 6240 488 | LDX 2 64 W1E04850 0254 C600 017DR 489 | LOOP4 LD L2 TABL-1 GET TABLE ENTRY W1E04860 0256 1888 490 | SRT 8 W1E04870 0257 D031 491 | STO TEMP W1E04880 0258 802C 492 | A CTRSF UPDATE RELATIVE ADDR W1E04890 0259 D02B 493 | STO CTRSF *IN BFR FOR THIS W1E04900 025A 902E 494 | S TEMP *CHARACTER W1E04910 025B 1088 495 | SLT 8 W1E04920 025C D600 017DR 496 | STO L2 TABL-1 STORE BACK W1E04930 025E 72FF 497 | MDX 2 -1 W1E04940 025F 70F4 498 | MDX LOOP4 REPEAT LOOP W1E04950 499 | *************************************************** W1E04960 500 | * SCAN THE USERS BUFFER AGAIN TO NOW CONSTRUCT* W1E04970 501 | * THE ACTUAL MASK WORDS THAT ARE REQUIRED FOR * W1E04980 502 | * INSERTING INTO LOCATIONS 32- 39 AT * W1E04990 503 | * EACH CHARACTER INTERRUPT CYCLE * W1E05000 504 | *************************************************** W1E05010 0260 C400 00B1R 505 | LD L NEG2 SET TO SCAN PRINT LINE W1E05020 0262 D02B 506 | STO NEGWD TO CONSTRUCT MASK WORDS W1E05030 0263 C020 507 | LD SECND *IN BUFFER W1E05040 0264 D02C 508 | STO FROM+1 W1E05050 0265 6110 509 | LOOP6 LDX 1 16 W1E05060 0266 4028 510 | LOOP5 BSI GET GET CHARACTER TBL ADDRESS W1E05070 0267 C480 028BR 511 | LD I TAENT GET CHAR TABLE ENTRY 2-2 W1E05080 0269 1888 512 | SRT 8 RELATIVE BUFFER ADDR W1E05090 026A 8021 513 | A BADDR GET ACTUAL BUFFER ADDR 2-2 W1E05100 026B D021 514 | STO BUENT *AND STORE IT 2-2 W1E05110 026C 901F 515 | S BADDR 2-2 W1E05120 026D 1888 516 | SRT 8 ISOLATE PART OF ENTRY THAT W1E05130 026E 1AC0 517 | RTE 2 0 *HAS RLTV MASK WDS REQD W1E05140 026F 4C10 0273R 518 | LOOP7 BSC L *+2,- LOOP TO FIND RLTV MASK 2-2 W1E05150 0271 7401 028DR 519 | MDX L BUENT,1 *WD IN BUFFER WHICH 2-2 W1E05160 0273 1001 520 | SLA 1 *CORRESPONDS TO THIS CHAR W1E05170 0274 4C20 026FR 521 | BSC L LOOP7,Z *IN THIS PRINT POSITION W1E05180 0276 C810 522 | LDD KN1 *OR IN A BIT INTO THE W1E05190 0277 1881 523 | SRT 1 *APPROPRIATE MASK WORD W1E05200 0278 1180 524 | SLT 1 0 *AND STORE BACK IN THE W1E05210 0279 EC80 028DR 525 | OR I BUENT *TO PROPER SLOT IN THE 2-2 W1E05220 027B D480 028DR 526 | STO I BUENT *BUFFER 2-2 W1E05230 027D C010 527 | LD NEGWD ARE WE DONE W1E05240 027E 4C18 0094R 528 | BSC L FC16C,+- YES GO CHK START PRINT W1E05260 0280 71FF 529 | MDX 1 -1 NO UP COUNTERS W1E05270 0281 70E4 530 | MDX LOOP5 *FOR NEXT W1E05280 0282 7201 531 | MDX 2 1 *CHARACTER SCAN W1E05290 0283 70E1 532 | MDX LOOP6 W1E05300 0284 533 | BSS E 0 W1E05310 0284 0000 534 | SECND DC *-* W1E05320 0285 0000 535 | CTRSF DC *-* W1E05330 0286 0100 536 | K0100 DC /0100 W1E05340 0287 0001 537 | KN1 DC 1 M MOST HAVE ODD ADDR W1E05350 0288 0000 538 | LFTRT DC *-* W1E05360 0289 0000 539 | TEMP DC *-* W1E05370 028A 017ER 540 | TADDR DC TABL 2-2 W1E05374 028B 0000 541 | TAENT DC *-* 2-2 W1E05375 028C 01BER 542 | BADDR DC BUFR 2-2 W1E05376 028D 0000 543 | BUENT DC *-* 2-2 W1E05377 028E 0000 544 | NEGWD DC *-* SOURCE NEG WD CNT W1E05378 545 | *************************************************** W1E05380 546 | * SUBROUTINE TO CONVERT A PACKED EBC CHARACTER* W1E05390 547 | * INTO A TABLE ADDRESS OF 0-63 PLUS THE ADDR * W1E05400 548 | * OF THE BEGINNING OF THE TABLE * W1E05410 549 | *************************************************** W1E05420 028F 0000 550 | GET DC *-* W1E05430 0290 C400 0000 551 | FROM LD L *-* GET WORD WITH 2 EBC CHARS W1E05440 0292 7400 0288R 552 | MDX L LFTRT,0 CHK LEFT OR RIGHT W1E05450 0294 1008 553 | SLA 8 *CHARACTER DESIRED W1E05460 0295 1002 554 | SLA 2 FOLD INTO 6 BITS W1E05470 0296 180A 555 | SRA 10 *AND CREATE TABLE ENTRY W1E05480 0297 80F2 556 | A TADDR *ADDRESS 2-2 W1E05490 0298 D0F2 557 | STO TAENT 2-2 W1E05500 0299 C0EE 558 | LD LFTRT ADJUST USER BUFFER ADDR W1E05520 029A 80F6 559 | A FROM+1 *BY ZERO OR ONE FOR NEXT W1E05530 029B D0F5 560 | STO FROM+1 *CHARACTER FETCH W1E05540 029C C0F1 561 | LD NEGWD REDUCE WORD COUNT W1E05550 029D 80EA 562 | A LFTRT *BY ZERO OR ONE W1E05560 029E D0EF 563 | STO NEGWD *AND STORE BACK W1E05570 029F C0E8 564 | LD LFTRT REVERSE INTERNAL LEFT- W1E05580 02A0 F0E6 565 | EOR KN1 *RIGHT INDICATOR W1E05590 02A1 D0E6 566 | STO LFTRT *FOR NEXT CHARACTER W1E05600 02A2 4C80 028FR 567 | BSC I GET RETURN TO CALLING PROGRAM W1E05610 0020 568 | $SCAN EQU 32 PRINT SCAN W1E05620 02A4 569 | END W1E05630 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $1132 007F 31 294 295 307 $IOCT 0032 30 212 309 378 412 $PRET 0028 29 56 57 $SCAN 0020 568 103 208 351 371 437 438 439 440 AFTIN 00E9R 278 200 236 263 402 AQ 0008R 41 131 144 BADDR 028CR 542 513 515 BIN1 0019R 65 108 160 BIN2 004BR 119 162 BUENT 028DR 543 514 519 525 526 BUFR 01BER 444 98 542 CARSP 012ER 361 272 326 411 421 CK 024CR 476 471 CLEAR 0174R 434 92 207 350 370 441 CNTUP 00ADR 212 268 273 CTR16 00D8R 257 206 226 372 392 CTR2 00D9R 258 375 CTR46 017DR 442 343 349 357 CTR48 004CR 120 82 107 109 167 205 368 CTRSF 0285R 535 457 492 493 DSW 016FR 426 292 296 338 341 345 EMIT 001BR 78 369 EOF 0053R 132 196 EXIT 0068R 149 145 FC10 004FR 128 36 FC13 006AR 157 138 FC14C 0083R 179 254 FC14X 0075R 167 168 FC16 0085R 180 172 186 FC16B 008FR 186 FC16C 0094R 194 197 528 FC16D 009AR 198 201 FC16E 00A0R 202 199 FC17 00A2R 204 FC18 00A4R 206 FC20 00B2R 226 164 228 FC20A 00B5R 229 231 FC22 00B9R 232 FC25 00C3R 240 237 FC38 00CFR 249 253 FC39 00DAR 259 243 246 249 FC44 00DDR 262 241 FC50 00ECR 289 38 FC54 0104R 309 325 FC56 0109R 319 298 FC58 0063R 146 34 129 130 FC60 0112R 338 304 311 321 FC63 012AR 356 344 FC70 0134R 368 347 FC74 0023R 85 FC75 0026R 87 80 FC77 002DR 93 91 FC81 0147R 392 373 FC82 014DR 396 FC84 015AR 407 420 FC86 016CR 423 410 FC91 0153R 402 395 FC91A 0168R 420 FROM 0290R 551 449 508 559 560 GET 028FR 550 468 510 567 H6001 000AR 43 53 ILGL2 000BR 49 134 ILLGL 000DR 53 50 128 135 161 179 181 185 210 239 INT1 0004R 37 354 K0100 0286R 536 474 K1 00D7R 255 177 187 250 259 293 323 356 399 K12 0047R 115 232 240 K13 0018R 64 81 K3 00E8R 277 244 247 418 K46 0132R 365 348 K48 0046R 114 204 KN1 0287R 537 472 522 565 KNUM 0015R 60 84 KTBL 004ER 122 90 LFTRT 0288R 538 552 558 562 564 566 LOOP 0037R 100 106 LOOP1 023BR 454 456 LOOP2 0240R 467 481 LOOP3 0241R 468 479 LOOP4 0254R 489 477 498 LOOP5 0266R 510 530 LOOP6 0265R 509 532 LOOP7 026FR 518 521 NEG2 00B1R 215 183 505 NEG60 004AR 118 184 NEGWD 028ER 544 182 476 506 527 561 563 NUM 001AR 66 79 86 170 OUT 0124R 352 85 110 289 342 358 376 379 380 393 409 414 PAR1 004DR 121 158 175 202 PASS 0170R 427 305 339 340 374 403 PRNT2 0000R 34 PRSCN 0236R 449 188 READE 0016R 62 78 SECND 0284R 534 450 507 SENSE 0048R 116 132 139 194 203 229 396 SENSR 0133R 366 291 SIGNB 012DR 359 261 301 SPACE 00E6R 272 266 SPSK 0108R 313 198 262 265 302 306 322 324 394 400 407 422 STOPC 0130R 363 233 252 308 STOPP 0172R 429 377 416 STRE3 0165R 418 174 406 417 STRE4 0163R 416 404 STRTC 00EAR 280 165 169 267 423 STRTP 0044R 112 49 209 STXIT 0062R 145 58 213 214 264 TABL 017ER 443 122 454 489 496 540 TADDR 028AR 540 556 TAENT 028BR 541 469 475 511 557 TEMP 0289R 539 491 494 UP7 0160R 412 424 UPIT 003DR 105 101 WHEEL 0007R 39 62 83 87 XR1 0126R 353 290