U2OMPR1

Table Of Contents
  • [00004] OMPR1,LIBRARY SUBROUTINE FOR 1231
u2ompr1.lst
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