ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:09 2020
Source File: \u2ompr1.asm
OMPR1,LIBRARY SUBROUTINE FOR 1231
2 | *************************************************** U2C00020
3 | *STATUS - VERSION 2, MODIFICATION LEVEL 12 * U2C00030
4 | * * U2C00040
5 | *TITLE-OMPR1,LIBRARY SUBROUTINE FOR 1231 OPTICAL * U2C00050
6 | * MARK PAGE READER * U2C00060
7 | * * U2C00070
8 | *FUNCTION/OPERATION- * U2C00080
9 | * THIS IS A SUBROUTINE FOR THE 1130 DISK * U2C00090
10 | *MONITOR SUBROUTINE LIBRARY.THIS SUBROUTINE * U2C00100
11 | *SUPPORTS THE 1231 OPTICAL MARK PAGE READER.IT * U2C00110
12 | *HANDLES THE READING OF 8 1/2 X 11 PAPER DOCUMENTS* U2C00120
13 | *BY THE 1231. FUNCTIONS PERFORMED ARE-TEST FOR * U2C00130
14 | *ROUTINE BUSY,READ,FEED,STACKER SELECT AND * U2C00140
15 | *DISCONNECT.IN GENERAL THIS SUBR.CONSISTS OF * U2C00150
16 | *TWO SECTIONS- A CALL PORTION AND AN INTERRUPT * U2C00160
17 | *PORTION. IN THE CALL PORTION THE FUNCTION IS * U2C00170
18 | *ANALYZED AND THE APPROPRIATE OPERATION(S) * U2C00180
19 | *INITIATED. IN THE INTERRUPT PORTION THE VARIOUS * U2C00190
20 | *INTERRUPTS ARE ANALYZED AND SERVICED. * U2C00200
21 | * * U2C00210
22 | *ENTRY POINTS- * U2C00220
23 | * * U2C00230
24 | * 1.OMPR1,THIS IS ENTRY FOR CALL PORTION, * U2C00240
25 | * CALLING SEQUENCE IS THE STANDARD 1130 SUBR* U2C00250
26 | * LIBRARY LIBF STATEMENT.FOR A READ FUNCTION* U2C00260
27 | * IT IS- * U2C00270
28 | * LIBF OMPR1 * U2C00280
29 | * DC /1000 (CONTROL PARAMETER) * U2C00290
30 | * DC AREA (ADDRESS OF I/O AREA) * U2C00300
31 | * DC ERROR (ADDR.OF USERS ERROR ROUTINE)* U2C00310
32 | * * U2C00320
33 | * 2.INT1,THIS IS THE INTERRUPT ENTRANCE FROM * U2C00330
34 | * THE SYSTEM ILS04 ROUTINE * U2C00340
35 | * * U2C00350
36 | *INPUT- NOT APPLICABLE * U2C00360
37 | * * U2C00370
38 | *OUTPUT- THE SUBROUTINE READS WORDS FROM A PAPER * U2C00380
39 | * DOCUMENT AND PLACES AN IMAGE OF EACH SEGMENT* U2C00390
40 | * (OR TWO SEGMENTS)INTO CONTIGUOUS MEMORY * U2C00400
41 | * LOCATIONS STARTING AT THE ADDRESS SPECIFIED * U2C00410
42 | * BY THE USERS I/O AREA PARAMETER * U2C00420
43 | * * U2C00430
44 | *EXTERNAL ROUTINES-NONE * U2C00440
45 | * * U2C00450
46 | *EXITS- NORMAL * U2C00460
47 | * 1.CALL PORTION--MPR59,BACK TO USER PROGRAM * U2C00470
48 | * * U2C00480
49 | * 2.INTERRUPT PORTION-- EXIT,BACK TO ILS SUBR * U2C00490
50 | * * U2C00500
51 | * - ERROR * U2C00510
52 | * 1.CALL PORTION--1.MPR70,2.MPR72.PREOPERATIVE* U2C00520
53 | * ERROR EXITS TO $PRET * U2C00530
54 | * 2.INTRPT PORTION--MPR84,TO USERS ERROR SUBR * U2C00540
55 | * $PST4,POST-OPERATIVE ERROR TRAP* U2C00550
56 | *TABLES,WORK AREAS-NONE * U2C00560
57 | *ATTRIBUTES-REUSABLE * U2C00570
58 | *NOTES- * U2C00580
59 | *************************************************** U2C00590
60 | LIBR U2C00600
0000 61 | 1130 ISS 10 OMPR1 4 U2C00610
62 | * U2C00620
63 | * LOADER REQUIRED INSTRUCTIONS U2C00630
64 | * U2C00640
0000 6906 65 | OMPR1 STX 1 SAVX1 WORD TO SAVE XR1 U2C00650
0001 6580 0000 66 | LDX I1 0 LOADER STORES TV ADDRESS U2C00660
0003 7006 67 | MDX MPR10 GO START CALL PROCESSING U2C00670
68 | * U2C00680
0004 0000 69 | INT1 DC 0 INTERRUPT ENTRANCE U2C00690
0005 4C00 00D0R 70 | BSC L MPR80 TO INTERRUPT SERVICE SUBR U2C00700
71 | * U2C00710
0007 0000 72 | SAVX1 DC *-* WORD TO SAVE XR1 U2C00720
0008 0000 0000 73 | SAVAQ DEC 0 2 WORDS FOR ACC AND EXT U2C00730
74 | * U2C00740
75 | * HERE STARTS CALL PORTION OF OMPR1 U2C00750
76 | * U2C00760
000A 6E00 009CR 77 | MPR10 STX L2 MPR56+1 SAVE XR2 U2C00770
000C 6600 00BCR 78 | LDX L2 Z SET TRANSFER VECTOR 2-3 U2C00780
000E 2AE1 79 | STS 2 MPR58-Z SAVE STATUS U2C00790
000F D8F8 80 | STD SAVAQ SAVE ACC AND EXTENSION U2C00800
81 | * U2C00810
82 | * CHECK IF IT IS A TEST FUNCTION U2C00820
83 | * U2C00830
0010 C100 84 | MPR12 LD 1 0 LOAD CONTROL PARAMETER U2C00840
0011 4C18 0020R 85 | BSC L MPR15,+- BR IF TEST FUNCTION U2C00850
86 | * U2C00860
0013 92F2 87 | S 2 D1-Z CHECK IF IT IS A TIMING U2C00870
0014 4C20 0024R 88 | BSC L MPR20,Z *MARK TEST FUNC, NO, GO U2C00880
89 | * U2C00890
90 | * TIMING MARK TEST FUNCTION U2C00900
91 | * U2C00910
0016 7400 00B4R 92 | MDX L BUSY,0 IS ROUTINE BUSY 2-6 U2C00920
0018 7003 93 | MDX PLUS2 YES - EXIT TO LIBF+2 2-6 U2C00930
0019 0AF8 94 | XIO 2 SENSE-Z SENSE DSW 2-3 U2C00940
001A 1008 95 | SLA 8 IS TIMING MRK CHCK BSY 2-3 U2C00950
001B 4828 96 | BSC +Z NO,EXIT TO LIBF+3 U2C00960
97 | * U2C00970
001C 71FF 98 | PLUS2 MDX 1 -1 YES,EXIT TO LIBF+2 U2C00980
001D 71FF 99 | PLUS3 MDX 1 -1 SET UP FOR LIBF+3 U2C00990
001E 4C00 0095R 100 | BSC L MPR50 WRAP-UP PRIOR TO EXIT U2C01000
101 | * U2C01010
102 | * TEST FUNCTION U2C01020
103 | * U2C01030
0020 7400 00B4R 104 | MPR15 MDX L BUSY,0 IS ROUTINE BUSY U2C01040
0022 70F9 105 | MDX PLUS2 YES,LIBF+2 U2C01050
0023 70F9 106 | MDX PLUS3 NO,LIBF+3 U2C01060
107 | * U2C01070
108 | * DETERMINE IF FUNCTION IS LEGAL U2C01080
109 | * U2C01090
0024 C100 110 | MPR20 LD 1 0 LOAD CONTROL PARAMETER U2C01100
0025 188C 111 | SRT 12 RT-JUSTIFY FUNCTION CODE U2C01110
0026 4C28 00C7R 112 | BSC L MPR70,+Z BRANCH IF DIGIT IS 8-F U2C01120
0028 92FA 113 | S 2 D2-Z ERROR IF FUNCTION U2C01130
0029 4C18 00C7R 114 | BSC L MPR70,+- *CODE IS 2 U2C01140
002B 92F2 115 | S 2 D1-Z U2C01150
002C D2F6 116 | STO 2 MPR62-Z SAVE FUNCTION U2C01160
002D 4C08 0044R 117 | BSC L MPR30,+ BRANCH IF FEED OR READ U2C01170
002F 92F2 118 | S 2 D1-Z CHK IF FUNC IS DISCONNECT U2C01180
0030 4C20 0068R 119 | BSC L MPR35,Z NO,GO CHK STKR SEL FUNC U2C01190
0032 4001 120 | BSI MPR25 YES,DISCONNECT 2-3 U2C01200
0033 70E8 121 | MDX PLUS2 EXIT TO LIBF+2 U2C01210
122 | * U2C01220
123 | * DISCONNECT SUBROUTINE U2C01230
124 | * U2C01240
0034 0000 125 | MPR25 DC *-* ENTRY 2-3 U2C01250
0035 42E4 126 | BSI 2 MPR48-Z LOOP ON FEED BUSY 2-6 U2C01260
0036 087B 127 | XIO DSCNT DISCONNECT 2-6 U2C01270
0037 C209 128 | LD 2 IOCT-Z IS IOCT SWITCH SET 2-6 U2C01280
0038 4C18 003ER 129 | BSC L MPR29,+- BRANCH IF NO 2-6 U2C01290
003A 74FF 0032 130 | MDX L $IOCT,-1 DECREMENT $IOCT 2-6 U2C01300
003C 1000 131 | NOP 2-6 U2C01310
003D 1010 132 | SLA 16 CLEAR 2-6 U2C01320
003E D2F8 133 | MPR29 STO 2 BUSY-Z *BUSY INDICATOR 2-6 U2C01330
003F D206 134 | STO 2 MPR67-Z *INTERRUPT SWITCH 2-6 U2C01340
0040 D207 135 | STO 2 MPR68-Z *FEED INDICATOR 2-6 U2C01350
0041 D209 136 | STO 2 IOCT-Z *IOCT SWITCH 2-6 U2C01360
0042 4C80 0034R 137 | BSC I MPR25 RETURN 2-3 U2C01370
138 | * U2C01380
139 | * READ OR FEED FUNCTION U2C01390
140 | * U2C01400
0044 4810 141 | MPR30 BSC - SKIP IF READ FUNCTION U2C01410
0045 7033 142 | MDX MPR40 GO HANDLE FEED FUNCTION U2C01420
143 | * U2C01430
144 | *CHECK IF A FEED HAS ALREADY BEEN PERFORMED FOR U2C01440
145 | *THIS DOCUMENT,SIGNIFIED BY MPR68=1,IF MPR68=0,IT U2C01450
146 | *MEANS A FEED HAS NOT YET BEEN INITIATED FOR THIS U2C01460
147 | *READ FUNCTION. U2C01470
148 | * U2C01480
0046 7400 00C3R 149 | MDX L MPR68,0 IS FEED IND. SET U2C01490
0048 7007 150 | MDX MPR31 YES - BRANCH U2C01500
0049 7400 00B4R 151 | MDX L BUSY,0 NO - LOOP ON U2C01510
004B 70FD 152 | MDX *-3 ROUTINE BUSY U2C01520
004C C101 153 | LD 1 +1 STORE ADDR.OF I/O U2C01530
004D D062 154 | STO READ AREA IN READ IOCC U2C01540
004E D05D 155 | STO MPR60 SAVE I/O AREA ADDR U2C01550
004F 7030 156 | MDX MPR42 GO CHECK DEVICE READY U2C01560
157 | * U2C01570
0050 C067 158 | MPR31 LD MPR64 LOOP TILL THE FIRST CHAR. U2C01580
0051 4C18 0050R 159 | BSC L *-3,+- INTRPT IS RECEIVED 2-3 U2C01590
0053 1810 160 | SRA 16 CLEAR FEED U2C01600
0054 D06E 161 | STO MPR68 INDICATOR U2C01610
0055 C06C 162 | LD MPR67 EXIT IF AN ERROR 2-8 U2C01620
0056 4C18 0095R 163 | BSC L MPR50,+- *HAS OCCURRED 2-8 U2C01630
164 | * U2C01640
0058 C068 165 | LD MPR66 IS THIS A MASTER MARK U2C01650
0059 4C20 005ER 166 | BSC L MPR32,Z DOCUMENT,YES,GOTO MPR32 U2C01660
005B C101 167 | LD 1 +1 NO,STORE USERS I/O AREA U2C01670
005C D053 168 | STO READ IN READ IOCC. U2C01680
005D D04E 169 | STO MPR60 SAVE I/O AREA ADDR. 2-3 U2C01690
005E 6866 170 | MPR32 STX IOCT SET IOCT SWITCH 2-10 U2C01693
005F 7401 0032 171 | MDX L $IOCT,1 INCREMENT $IOCT 2-10 U2C01696
0061 084E 172 | XIO READ READ THE FIRST CHARACTER U2C01700
0062 C04D 173 | LD READ UPDATE I/O ADDRESS U2C01710
0063 804A 174 | A D1 FOR NEXT U2C01720
0064 D04B 175 | STO READ CHARACTER U2C01730
0065 7029 176 | MDX MPR44 GO CHK FOR STACKER SELECT U2C01760
177 | * U2C01770
178 | *USER HAS GIVEN 2 FEEDS WITHOUT AN INTERVENING U2C01780
179 | *READ FUNCTION--RUN OUT THE U2C01790
180 | *CURRENT DOCUMENT,DO AN I/O DISCONNECT U2C01800
181 | * U2C01810
0066 40CD 182 | MPR33 BSI MPR25 DISCONNECT 2-3 U2C01820
0067 7017 183 | MDX MPR41 BRANCH TO START FEED 2-6 U2C01830
184 | * U2C01840
185 | * CHECK IF STACKER SELECT FUNCTION U2C01850
186 | * U2C01860
0068 9045 187 | MPR35 S D1 IS FUNC STK SEL U2C01870
0069 4C20 00C7R 188 | BSC L MPR70,Z ILLEGAL FUNC. U2C01880
006B 4001 189 | BSI MPR36 YES - STK SEL 2-3 U2C01890
006C 70AF 190 | MDX PLUS2 EXIT U2C01900
191 | * U2C01910
192 | * STACKER SELECT SUBROUTINE U2C01920
193 | * U2C01930
006D 0000 194 | MPR36 DC *-* ENTRY 2-3 U2C01940
006E C208 195 | LD 2 MPR69-Z IS DOC ALREADY SEL 2-3 U2C01950
006F 4C20 0077R 196 | BSC L MPR39,Z YES - RETURN 2-3 U2C01960
0071 42E4 197 | BSI 2 MPR48-Z LOOP ON FEED BUSY 2-3 U2C01970
0072 0AF8 198 | XIO 2 SENSE-Z SENSE DSW 2-3 U2C01980
0073 1005 199 | SLA 5 IS IT OK TO SEL 2-3 U2C01990
0074 4828 200 | BSC +Z NO - SKIP 2-3 U2C02000
0075 0AFA 201 | XIO 2 STKSL-Z YES - STK SEL 2-3 U2C02010
0076 684D 202 | STX MPR69 SET SELECT SWITCH 2-3 U2C02020
0077 4C80 006DR 203 | MPR39 BSC I MPR36 RETURN 2-3 U2C02030
204 | * U2C02040
205 | * FEED FUNCTION U2C02050
206 | * U2C02060
207 | *************************************************** U2C02070
208 | *CHECK IF FEED FLAG IS ALREADY SET,IF SO,IT MEANS * U2C02080
209 | *WE HAVE 2 FEED CALLS WITHOUT AN INTERVENING READ.* U2C02090
210 | *IN A CASE LIKE THIS,WE RUN-OUT THE FIRST DOCUMENT* U2C02100
211 | *BY MEANS OF AN I/O DISCONNECT * U2C02110
212 | *************************************************** U2C02120
0079 C049 213 | MPR40 LD MPR68 IF FEED IND IS ON - GO U2C02130
007A 4C20 0066R 214 | BSC L MPR33,Z *DISCONNECT CURRENT DOC U2C02140
215 | * U2C02150
007C 7400 00B4R 216 | MDX L BUSY,0 LOOP ON PROGRAM BUSY U2C02160
007E 70FD 217 | MDX *-3 *INDICATOR U2C02170
218 | * U2C02180
007F 6843 219 | MPR41 STX MPR68 SET FEED INDICATOR U2C02190
0080 C031 220 | MPR42 LD MPR62 IS FUNCTION FEED(MPR62=0) U2C02200
0081 D036 221 | STO MPR64 RESET FIRST-CHAR-INTRPT SW U2C02210
0082 0AF8 222 | MPR43 XIO 2 SENSE-Z SENSE DSW AND EXIT TO 2-7 U2C02220
0083 4C04 00CCR 223 | BSC L MPR72,E *$PRET IF NOT READY 2-7 U2C02230
0085 682E 224 | STX BUSY SET BUSY INDICATOR 2-7 U2C02240
0086 683E 225 | STX IOCT SET IOCT SWITCH 2-7 U2C02250
0087 7401 0032 226 | MDX L $IOCT,1 INCREMENT IOCS COUNTER 2-7 U2C02260
0089 0824 227 | XIO CNTRL INITIATE A FEED U2C02270
008A 1810 228 | SRA 16 2-3 U2C02280
008B D208 229 | STO 2 MPR69-Z CLEAR SELECT SW. 2-3 U2C02290
008C C025 230 | LD MPR62 IS FUNCTION FEED U2C02300
008D 4C18 001CR 231 | BSC L PLUS2,+- YES - SET UP FOR LIBF+2 U2C02310
008F C102 232 | MPR44 LD 1 +2 STORE ERROR PARAMETER IN U2C02320
0090 D23C 233 | STO 2 MPR84+2-Z ERROR EXIT INSTRUCTION U2C02330
0091 1810 234 | SRA 16 CLEAR ACC U2C02340
0092 1084 235 | SLT 4 MOVE IN STACKER SEL DIGIT U2C02350
0093 4820 236 | BSC Z SKIP IF NO SEL REQ. 2-3 U2C02360
0094 40D8 237 | BSI MPR36 SEL DOCUMENT 2-3 U2C02370
238 | * U2C02380
239 | * RESET REGISTERS PRIOR TO EXIT U2C02390
240 | * U2C02400
0095 7103 241 | MPR50 MDX 1 +3 XR1 CONTAINS RETURN ADDR U2C02410
0096 CC00 0008R 242 | LDD L SAVAQ RESTORE ACC AND EXT U2C02420
0098 6906 243 | STX 1 MPR59+1 STORE RETURN ADDRESS U2C02430
0099 6580 0007R 244 | LDX I1 SAVX1 RESTORE XR1 U2C02440
009B 6600 0000 245 | MPR56 LDX L2 *-* RESTORE XR2 U2C02450
009D 2000 246 | MPR58 LDS 0 RESTORE OVERFLOW AND CARRY U2C02460
009E 4C00 0000 247 | MPR59 BSC L *-* RETURN TO MAINLINE U2C02470
248 | * U2C02480
249 | * LOOP ON FEED BUSY SUBROUTINE U2C02490
250 | * U2C02500
00A0 0000 251 | MPR48 DC *-* ENTRY 2-3 U2C02510
00A1 C019 252 | LD MPR65 HAS JAM OCURRED 2-3 U2C02520
00A2 4C20 00A8R 253 | BSC L MPR49,Z YES - RETURN 2-3 U2C02530
00A4 080F 254 | XIO SENSE SENSE DSW 2-3 U2C02540
00A5 1006 255 | SLA 6 IS FEED BUSY 2-3 U2C02550
00A6 4C28 00A1R 256 | BSC L MPR48+1,+Z YES - LOOP 2-3 U2C02560
00A8 1810 257 | MPR49 SRA 16 2-3 U2C02570
00A9 D2FF 258 | STO 2 MPR65-Z RESTORE JAMSWITCH 2-3 U2C02580
00AA 4C80 00A0R 259 | BSC I MPR48 RETURN 2-3 U2C02590
260 | * U2C02600
261 | * CONSTANTS AND WORK AREAS U2C02610
262 | * U2C02620
00AC 0000 263 | MPR60 DC *-* WD TO SAVE I/O AREA ADDR U2C02630
00AE 264 | BSS E 0 U2C02640
00AE 0001 265 | CNTRL DC 1 CONSTANT ONE U2C02650
00AF 4404 266 | DC /4404 START FEED IOCC U2C02660
00B0 0000 267 | READ DC *-* I/O AREA ADDRESS U2C02670
00B1 4200 268 | DC /4200 READ IOCC U2C02680
00B2 0000 269 | DSCNT DC 0 SAVE FUNCTION CODE HERE U2C02690
00B3 4402 270 | DC /4402 DISCONNECT IOCC U2C02700
00B4 0000 271 | SENSE DC 0 BUSY INDICATOR U2C02710
00B5 4700 272 | DC /4700 SENSE WITHOUT RESET IOCC U2C02720
00B6 0002 273 | STKSL DC 2 CONSTANT TWO U2C02730
00B7 4480 274 | DC /4480 STACKER SELECT IOCC U2C02740
00B8 0000 275 | SENSR DC 0 FIRST-CHAR-INTRPT IND U2C02750
00B9 4701 276 | DC /4701 SENSE WITH RESET IOCC U2C02760
00B4R 277 | BUSY EQU SENSE BUSY INDICATOR U2C02770
00B2R 278 | MPR62 EQU DSCNT FUNCTION CODE U2C02780
00BA 0000 279 | MPR63 DC *-* TEMP STORAGE FOR DSW 2-6 U2C02790
00B8R 280 | MPR64 EQU SENSR FIRST-CHAR-INTRPT IND U2C02800
00BB 0000 281 | MPR65 DC *-* JAM SWITCH 2-3 U2C02810
00BCR 282 | Z EQU * TV VALUE 2-3 U2C02820
00BC A000 283 | HA000 DC /A000 NOT READY ERROR CODE U2C02830
00BD A001 284 | HA001 DC /A001 BAD CALL ERROR CODE U2C02840
00BE A002 285 | HA002 DC /A002 FEED CHECK ERR CODE 2-3 U2C02850
00BF A003 286 | HA003 DC /A003 FEED CHECK ERR CODE 2-3 U2C02860
00C0 0069 287 | H0069 DC /0069 MASK FOR DSW U2C02870
00C1 0000 288 | MPR66 DC 0 MASTER MARK INDICATOR U2C02880
00C2 0000 289 | MPR67 DC *-* INTERRUPT SWITCH 2-3 U2C02890
00C3 0000 290 | MPR68 DC 0 FEED FUNCTION INDICATOR U2C02900
00C4 0000 291 | MPR69 DC *-* STACKER SELECT SWITCH 2-3 U2C02910
00C5 0000 292 | IOCT DC *-* IOCT SWITCH 2-6 U2C02920
0028 293 | $PRET EQU /28 PRE-OPER ERROR TRAP 2-3 U2C02930
0032 294 | $IOCT EQU /32 IOCS COUNTER 2-3 U2C02940
008D 295 | $PST4 EQU /8D LVL 4 POST-OPER ERROR TRAP U2C02950
00AER 296 | D1 EQU CNTRL CONSTANT ONE U2C02960
00B6R 297 | D2 EQU STKSL CONSTANT TWO U2C02970
00C6 0003 298 | D3 DC 3 CONSTANT THREE U2C02980
299 | * U2C02990
300 | * EXIT TO $PRET IF BAD CALL U2C03000
301 | * U2C03010
00C7 C0F5 302 | MPR70 LD HA001 LOAD ILLEGAL CALL CODE 2-3 U2C03020
00C8 4400 0028 303 | BSI L $PRET EXIT TO $PRET 2-3 U2C03030
00CA 4C00 0010R 304 | BSC L MPR12 RETRY MPR12 2-3 U2C03040
305 | * U2C03050
306 | * U2C03060
307 | * EXIT TO $PRET WITH AN ERROR CODE U2C03070
308 | * FOR NOT READY DEVICE U2C03080
309 | * U2C03090
00CC C200 310 | MPR72 LD 2 HA000-Z LD NOT READY ERR CODE 2-3 U2C03100
00CD 4400 0028 311 | BSI L $PRET EXIT TO $PRET 2-3 U2C03110
00CF 70B2 312 | MDX MPR43 RETRY SENSE 2-3 U2C03120
313 | * U2C03130
314 | * U2C03140
315 | * INTERRUPT HANDLING PART OF OMPR1 U2C03150
316 | * U2C03160
317 | * INTERUPTS ARE CAUSED FOR FOUR REASONS U2C03170
318 | * 1. DATA TRANSFER...... U2C03180
319 | * 2. OP COMPLETE....... U2C03190
320 | * 3. TIMING MARK ERROR..... U2C03200
321 | * 4. JAM STOP..... U2C03210
322 | * U2C03220
00D0 08E3 323 | MPR80 XIO SENSE SENSE THE DSW 2-6 U2C03230
00D1 D0E8 324 | STO MPR63 SAVE TEMPORARY 2-6 U2C03240
00D2 08E5 325 | XIO SENSR RESET DSW INDICATORS 2-6 U2C03250
00D3 C0E6 326 | LD MPR63 LOAD THE DSW 2-6 U2C03260
00D4 1885 327 | SRT 5 IS IT FEED CHECK 2-3 U2C03270
00D5 4C04 00FBR 328 | BSC L MPR85,E YES - BRANCH 2-3 U2C03280
00D7 4C10 0110R 329 | BSC L MPR90,- BRANCH IF OP COMPLETE U2C03290
00D9 68E8 330 | STX MPR67 SET INTERRUPT SWITCH 2-3 U2C03300
00DA 1008 331 | SLA 8 IS IT MASTER MARK U2C03310
00DB 4C10 00E0R 332 | BSC L MPR81,- BRANCH IF NO U2C03320
00DD C0E3 333 | LD MPR66 SEE IF MASTER MARK SWITCH U2C03330
00DE 4C18 00EER 334 | BSC L MPR83,+- IS SET. NO,GOTO MARK U2C03340
335 | * U2C03350
336 | *CHECK TO SEE IF THIS IS THE FIRST CHARACTER U2C03360
337 | *INTERRUPT IN RESPONSE TO A FEED FUNCTION,THIS IS U2C03370
338 | *DETECTED BY SEEING IF THE 1ST CHAR INTRP INDICATOR U2C03380
339 | *MPR64 IS ZERO. IF MPR64 IS ZERO AND WE HAVE U2C03390
340 | *RECEIVED A CHARACTER INTERRUPT,THIS CAN ONLY MEAN U2C03400
341 | *THAT THE INTERRUPT CAME IN RESPONSE TO A FEED U2C03410
342 | *FUNCTION U2C03420
343 | * U2C03430
00E0 C0D7 344 | MPR81 LD MPR64 LOAD INDICATOR U2C03440
00E1 4C20 00E9R 345 | BSC L MPR82,Z IS MPR64 ZERO, NO GO READ U2C03450
00E3 D0E1 346 | STO IOCT RESET IOCT SWITCH 2-6 U2C03460
00E4 68D3 347 | STX MPR64 YES,MAKE MPR64 NONZERO AND U2C03470
00E5 74FF 0032 348 | MDX L $IOCT,-1 DECREMENT $IOCT 2-6 U2C03480
00E7 1000 349 | NOP 2-6 U2C03490
00E8 7056 350 | MDX EXIT RETURN WITHOUT READING U2C03500
351 | * U2C03510
00E9 08C6 352 | MPR82 XIO READ READ A CHARACTER U2C03520
00EA C0C5 353 | LD READ UPDATE I/O AREA ADDRESS U2C03530
00EB 80C2 354 | A D1 FOR NEXT U2C03540
00EC D0C3 355 | STO READ CHARACTER U2C03550
00ED 7051 356 | MDX EXIT RETURN U2C03560
357 | * U2C03570
00EE C0BF 358 | MPR83 LD D1 LOAD MASTER MARK CODE U2C03580
00EF 4006 359 | BSI MPR84 TO USERS ERROR ROUTINE U2C03590
00F0 4C18 00E0R 360 | BSC L MPR81,+- IF A=0,GOTO FIRST,IF NOT U2C03600
00F2 D0BD 361 | STO READ USER HAS PUT NEW I/O AREA U2C03610
00F3 D0B8 362 | STO MPR60 IN ACC - STORE IT 2-3 U2C03620
00F4 68CC 363 | STX MPR66 U2C03630
00F5 70EA 364 | MDX MPR81 SET MASTER MARK U2C03640
365 | * AND GO CHECK 1ST.CHAR.INTR U2C03650
366 | * U2C03660
367 | * EXIT TO USERS ERROR PARAMETER U2C03670
368 | * U2C03680
00F6 1000 369 | MPR84 NOP ENTRY U2C03690
00F7 4400 0000 370 | BSI L *-* EXIT TO USER U2C03700
00F9 4C80 00F6R 371 | BSC I MPR84 RETURN U2C03710
372 | * U2C03720
00FB 68BC 373 | MPR85 STX MPR64 SET FIRST-CHAR SWITCH 2-6 U2C03730
00FC C0B7 374 | LD BUSY IS PROGRAM BUSY 2-3 U2C03740
00FD 4C18 0108R 375 | BSC L MPR86,+- BRANCH IF NO 2-3 U2C03750
376 | * 2 INSTRUCTIONS REMOVED 212 U2C03760
00FF 08B2 377 | XIO DSCNT DISCONNECT 2-3 U2C03780
0100 C0BE 378 | LD HA003 EXIT TO POSTOPERATIVE 2-3 U2C03790
0101 4400 008D 379 | BSI L $PST4 ERROR TRAP 2-3 U2C03800
0103 08B0 380 | XIO SENSE IS DEVICE READY 2-3 U2C03810
0104 4C04 0100R 381 | BSC L *-6,E BRANCH BACK IF NO 2-3 U2C03820
0106 08AB 382 | XIO DSCNT DISCONNECT 212 U2C03825
0107 7023 383 | MDX MPR93 BRANCH TO INITIATE FEED2-3 U2C03830
384 | * U2C03840
0108 C0B5 385 | MPR86 LD HA002 EXIT TO POSTOPERATIVE 2-3 U2C03850
0109 4400 008D 386 | BSI L $PST4 ERROR TRAP 2-3 U2C03860
010B 08A8 387 | XIO SENSE IS DEVICE READY 2-3 U2C03870
010C 4C04 0108R 388 | BSC L *-6,E BRANCH BACK IF NO 2-3 U2C03880
010E 68AC 389 | STX MPR65 SET JAMSWITCH 2-3 U2C03890
010F 702F 390 | MDX EXIT EXIT 2-3 U2C03900
391 | * U2C03910
392 | *OP COMPLETE INTERRUPT PROCESSING U2C03920
393 | * U2C03930
0110 68A7 394 | MPR90 STX MPR64 SET FIRST-CHAR SWITCH 2-6 U2C03940
0111 1883 395 | SRT 3 RIGHT-JUSTIFY DOC.SELECTED U2C03950
0112 E0AD 396 | AND H0069 BIT,IS BIT PRESENT U2C03960
0113 4C04 014AR 397 | BSC L MPR98,E YES,GO HANDLE DOC.SELECTED U2C03970
0115 1883 398 | SRT 3 NO,CHK OP COMPLETE U2C03980
0116 4804 399 | BSC E SKIP IF NOT OP COMPLETE U2C03990
0117 7001 400 | MDX *+1 OP COMPLETE INTRP,SKIP U2C04000
0118 7026 401 | MDX EXIT NOT OP COMPLETE,EXIT U2C04010
0119 1881 402 | SRT 1 MOVE OUT OP COMPLETE BIT U2C04020
011A 4C08 0133R 403 | BSC L MPR94,+ BRANCH IF NO MORE BIT U2C04030
404 | * U2C04040
405 | * READ OR TIMING MARK ERROR U2C04050
406 | * U2C04060
011C 6897 407 | STX BUSY SET BUSY INDICATOR 2-6 U2C04070
011D C0A7 408 | LD IOCT IF IOCT SWITCH IS 2-6 U2C04080
011E 4C20 0123R 409 | BSC L MPR91,Z *ZERO - SET IT 2-6 U2C04090
0120 68A4 410 | STX IOCT *NON-ZERO AND 2-6 U2C04100
0121 7401 0032 411 | MDX L $IOCT,1 INCR $IOCT 2-3 U2C04110
0123 C092 412 | MPR91 LD D2 TIMING MARK ERROR,LOAD U2C04120
0124 40D1 413 | MPR92 BSI MPR84 ERROR CODE AND EXIT TO USER U2C04130
0125 4C18 0136R 414 | BSC L MPR95,+- IF RETURN WITH A=0,GOTO CLR U2C04140
0127 088C 415 | MPR99 XIO SENSE ROUTINE BUSY INDR.,IF A IS U2C04150
0128 4C04 0141R 416 | BSC L MPR96,E NONZERO,CHK.DEV.READY U2C04160
012A 0887 417 | XIO DSCNT DISCONNECT LAST DOCUMNT 2-6 U2C04170
012B C400 00ACR 418 | MPR93 LD L MPR60 RESTORE I/O U2C04180
012D D082 419 | STO READ AREA ADDRESS U2C04190
012E 1810 420 | SRA 16 2-3 U2C04200
012F D094 421 | STO MPR69 RESET STK SEL SW. 2-3 U2C04210
0130 0C00 00AER 422 | XIO L CNTRL INITIATE FEED U2C04220
0132 700C 423 | MDX EXIT BACK TO ILS U2C04230
424 | * U2C04240
0133 1086 425 | MPR94 SLT 6 CHECK FOR HOPPER EMPTY U2C04250
0134 4C04 0146R 426 | BSC L MPR97,E YES GOTO HOPPR,NO MEANS END U2C04260
0136 1810 427 | MPR95 SRA 16 OF TRANSMISSION,CLEAR U2C04270
0137 D400 00B4R 428 | STO L BUSY ROUTINE BUSY INDICATOR AND U2C04280
0139 D087 429 | STO MPR66 MASTER MARK FLAG U2C04290
013A D087 430 | STO MPR67 RESET INTERRUPT SWITCH 2-3 U2C04300
013B D089 431 | STO IOCT RESET IOCT SWITCH 2-6 U2C04310
013C 74FF 0032 432 | MDX L $IOCT,-1 DECREMENT IOCS COUNTER 2-3 U2C04320
013E 1000 433 | NOP U2C04330
013F 4C80 0004R 434 | EXIT BSC I INT1 RETURN TO ILS. U2C04340
435 | * U2C04350
436 | * EXIT TO $PST4 IF NOT READY U2C04360
437 | * U2C04370
0141 C400 00BCR 438 | MPR96 LD L HA000 TO POST-OPER ERROR TRAP U2C04380
0143 4400 008D 439 | BSI L $PST4 WITH OMPR ERROR CODE U2C04390
0145 70E1 440 | MDX MPR99 RETRY U2C04400
441 | * U2C04410
442 | *HOPPER EMPTY,LOAD APPROPRIATE CODE AND EXIT TO U2C04420
443 | *USERS ERROR ROUTINE U2C04430
444 | * U2C04440
0146 C400 00C6R 445 | MPR97 LD L D3 HOPPER EMPTY ERROR CODE U2C04450
0148 40AD 446 | BSI MPR84 EXIT TO USER U2C04460
0149 70EC 447 | MDX MPR95 UPON REENTRY GO CLEAR BUSY U2C04470
448 | * U2C04480
449 | * DOCUMENT SELECTED,LOAD APPROPRIATE ERROR CODE AND U2C04490
450 | *EXIT TO USERS ERROR PARAMETER U2C04500
451 | * U2C04510
014A 1081 452 | MPR98 SLT 1 LOAD 4 OR 5 2-6 U2C04520
014B C400 00B6R 453 | LD L D2 *RESPECTIVELY 2-6 U2C04530
014D 1081 454 | SLT 1 *AND EXIT TO 2-6 U2C04540
014E 70D5 455 | MDX MPR92 *USER ERROR ROUTINE 2-6 U2C04550
456 | * U2C04560
014F 457 | END U2C04570
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
$IOCT 0032 294 130 171 226 348 411 432
$PRET 0028 293 303 311
$PST4 008D 295 379 386 439
BUSY 00B4R 277 92 104 133 151 216 224 374 407 428
CNTRL 00AER 265 227 296 422
D1 00AER 296 87 115 118 174 187 354 358
D2 00B6R 297 113 412 453
D3 00C6R 298 445
DSCNT 00B2R 269 127 278 377 382 417
EXIT 013FR 434 350 356 390 401 423
H0069 00C0R 287 396
HA000 00BCR 283 310 438
HA001 00BDR 284 302
HA002 00BER 285 385
HA003 00BFR 286 378
INT1 0004R 69 434
IOCT 00C5R 292 128 136 170 225 346 408 410 431
MPR10 000AR 77 67
MPR12 0010R 84 304
MPR15 0020R 104 85
MPR20 0024R 110 88
MPR25 0034R 125 120 137 182
MPR29 003ER 133 129
MPR30 0044R 141 117
MPR31 0050R 158 150
MPR32 005ER 170 166
MPR33 0066R 182 214
MPR35 0068R 187 119
MPR36 006DR 194 189 203 237
MPR39 0077R 203 196
MPR40 0079R 213 142
MPR41 007FR 219 183
MPR42 0080R 220 156
MPR43 0082R 222 312
MPR44 008FR 232 176
MPR48 00A0R 251 126 197 256 259
MPR49 00A8R 257 253
MPR50 0095R 241 100 163
MPR56 009BR 245 77
MPR58 009DR 246 79
MPR59 009ER 247 243
MPR60 00ACR 263 155 169 362 418
MPR62 00B2R 278 116 220 230
MPR63 00BAR 279 324 326
MPR64 00B8R 280 158 221 344 347 373 394
MPR65 00BBR 281 252 258 389
MPR66 00C1R 288 165 333 363 429
MPR67 00C2R 289 134 162 330 430
MPR68 00C3R 290 135 149 161 213 219
MPR69 00C4R 291 195 202 229 421
MPR70 00C7R 302 112 114 188
MPR72 00CCR 310 223
MPR80 00D0R 323 70
MPR81 00E0R 344 332 360 364
MPR82 00E9R 352 345
MPR83 00EER 358 334
MPR84 00F6R 369 233 359 371 413 446
MPR85 00FBR 373 328
MPR86 0108R 385 375
MPR90 0110R 394 329
MPR91 0123R 412 409
MPR92 0124R 413 455
MPR93 012BR 418 383
MPR94 0133R 425 403
MPR95 0136R 427 414 447
MPR96 0141R 438 416
MPR97 0146R 445 426
MPR98 014AR 452 397
MPR99 0127R 415 440
OMPR1 0000R 65
PLUS2 001CR 98 93 105 121 190 231
PLUS3 001DR 99 106
READ 00B0R 267 154 168 172 173 175 352 353 355 361 419
SAVAQ 0008R 73 80 242
SAVX1 0007R 72 65 244
SENSE 00B4R 271 94 198 222 254 277 323 380 387 415
SENSR 00B8R 275 280 325
STKSL 00B6R 273 201 297
Z 00BCR 282 78 79 87 94 113 115 116 118 126 128 133 134
135 136 195 197 198 201 222 229 233 258 310