* SYSTEMS I/O ERROR HANDLING ROUTINE                    HEADER  C:IOER  0001.000
*                                                                       0002.000
*                                                                       0003.000
*                                   I-O ERROR HANDLING ROUTINE          0004.000
         M.PGM     C:IOER,MPX-32,3.6.1,00                               0005.000
         DEF       C:IOER                                               0006.000
         EXT       CR.JMPER                                             0007.000
         EXT       SORTERR                                              0008.000
ERRORETN EQU       -6W                                                  0009.000
STATFLD  EQU       -2W                                                  0010.000
INVALKEY EQU       -1W            INVALID KEY/AT-END ERROR RETURN       0011.000
RTNADDR0 EQU       18W                                                  0012.000
*                                                                       0013.000
*                                                                       0014.000
* FILE INFORMATION TABLE ERROR HANDLING                                 0015.000
*                                                                       0016.000
*                                                                       0017.000
C:IOER   EQU       $                                                    0018.000
         TRR       7,5                                                  0019.000
         LW        3,STATFLD,1                                          0020.000
         BZ        ERR010         NO STATUS FIELD, GO CHECK ERROR JET   0021.000
         LW        3,1W,3         GET STATUS FIELD ADDRESS FROM DD      0022.000
         STB       7,1B,3         STORE STATUS                          0023.000
         SRL       7,8                                                  0024.000
         STB       7,0,3                                                0025.000
ERR010   EQU       $                                                    0026.000
         TRR       5,7            RELOAD ERROR STATUS                   0027.000
         SRL       7,8            EXAMINE ONLY FIRST BYTE               0028.000
         CI        7,G'2'         CHECK STANDARD ERROR                  0029.000
         BGT       ERR012         IF SO, USE STANDARD ERROR EXIT        0030.000
         LW        2,INVALKEY,1   LOAD INVALID KEY/AT-END RETURN ADDRESS0031.000
         BZ        ERR012         NON-EXISTANT, DONT EXIT THAT WAY      0032.000
         TRSW      2              GO TO INVALID KEY/AT-END EXIT         0033.000
ERR012   EQU       $                                                    0034.000
         LW        3,ERRORETN,1                                         0035.000
         LW        2,ERRORETN+1W,1                                      0036.000
         BNZ       ERR015                                               0037.000
         CI        3,0                                                  0038.000
         BEQ       ERR020                                               0039.000
ERR015   EQU       $                                                    0040.000
         LW        0,RTNADDR0,1                                         0041.000
         TRR       3,1                                                  0042.000
         BU        CR.JMPER                                             0043.000
ERR020   EQU       $                                                    0044.000
         LW        3,STATFLD,1     IF STATUS FIELD PRESENT GO RETURN    0045.000
         BNZ       *RTNADDR0,1                                          0046.000
         ANMW      5,=X'0000FFFF'                                       0047.000
         ORMW      5,=X'43420000'  DISPLAY'CBXX'                        0048.000
         BL        SORTERR                                              0049.000
         END                                                            0050.000
