*         CTEXT  CTP$DFT I4C FAULT SYMPTOM CODES.
          QUAL   IOUFLT0
          COMMENT IOUFLT0 - IOU FAULT SYMPTOM CODE DECK *REL. LEVEL 780*
          COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992
BITS      TITLE  IOU FAULT SYMPTOM CODE COMMON DECK
**        BITS - FAULT STATUS 1 TABLE MACRO
*
          PURGMAC  BITS
BITS      MACRO  BIT1,BIT2
+         VFD    16/BIT1,16/BIT2
BITS      ENDM
EQUATES   TITLE  IOUFLT0 COMMON DECK EQUATES
*         EQUATES FOR FAULT SYMPTOM CODES THAT DO NOT REQUIRE THE USE
*         OF THE BARREL CODE (A, B, C, D, E, OR F).

CODE05    EQU    2R05        EQUATE FOR FAULT SYMPTOM CODE 05
CODE10    EQU    2R10        EQUATE FOR FAULT SYMPTOM CODE 10
CODE11    EQU    2R11        EQUATE FOR FAULT SYMPTOM CODE 11
CODE12    EQU    2R12        EQUATE FOR FAULT SYMPTOM CODE 12
CODE17    EQU    2R17        EQUATE FOR FAULT SYMPTOM CODE 17
CODE18    EQU    2R18        EQUATE FOR FAULT SYMPTOM CODE 18
CODE19    EQU    2R19        EQUATE FOR FAULT SYMPTOM CODE 19
CODE20    EQU    2R20        EQUATE FOR FAULT SYMPTOM CODE 20
CODE21    EQU    2R21        EQUATE FOR FAULT SYMPTOM CODE 21
CODE24    EQU    2R24        EQUATE FOR FAULT SYMPTOM CODE 24
CODE26    EQU    2R26        EQUATE FOR FAULT SYMPTOM CODE 26
CODE27    EQU    2R27        EQUATE FOR FAULT SYMPTOM CODE 27
CODE29    EQU    2R29        EQUATE FOR FAULT SYMPTOM CODE 29
CODE31    EQU    2R31        EQUATE FOR FAULT SYMPTOM CODE 31
CODE33    EQU    2R33        EQUATE FOR FAULT SYMPTOM CODE 33
CODE37    EQU    2R37        EQUATE FOR FAULT SYMPTOM CODE 37
CODE38    EQU    2R38        EQUATE FOR FAULT SYMPTOM CODE 38
CODE39    EQU    2R39        EQUATE FOR FAULT SYMPTOM CODE 39
CODE40    EQU    2R40        EQUATE FOR FAULT SYMPTOM CODE 40
CODE41    EQU    2R41        EQUATE FOR FAULT SYMPTOM CODE 41
CODE42    EQU    2R42        EQUATE FOR FAULT SYMPTOM CODE 42
CODE43    EQU    2R43        EQUATE FOR FAULT SYMPTOM CODE 43
CODE47    EQU    2R47        EQUATE FOR FAULT SYMPTOM CODE 47
CODE49    EQU    2R49        EQUATE FOR FAULT SYMPTOM CODE 49


*         EQUATES FOR FAULT SYMPTOM CODES THAT END WITH A 0 OR 1
*         FOLLOWING THE BARREL CODE (A,B,C,D,E, OR F) INDICATING THAT
*         BITS 49, AND/OR 50, AND/OR 51 WERE SET OR CLEAR.

CODE22    EQU    2R22        EQUATE FOR FAULT SYMPTOM CODE 22
CODE23    EQU    2R23        EQUATE FOR FAULT SYMPTOM CODE 23
CODE28    EQU    2R28        EQUATE FOR FAULT SYMPTOM CODE 28
CODE30    EQU    2R30        EQUATE FOR FAULT SYMPTOM CODE 30
CODE32    EQU    2R32        EQUATE FOR FAULT SYMPTOM CODE 32
CODE34    EQU    2R34        EQUATE FOR FAULT SYMPTOM CODE 34


*         EQUATES FOR FAULT STATUS BYTE 4 (BITS 32-39).

BT32      EQU    0#8000      FAULT STATUS BIT 32 EQUATE
BT33      EQU    0#4000      FAULT STATUS BIT 33 EQUATE
BT34      EQU    0#2000      FAULT STATUS BIT 34 EQUATE
BT35      EQU    0#1000      FAULT STATUS BIT 35 EQUATE
BT36      EQU    0#0800      FAULT STATUS BIT 36 EQUATE
BT37      EQU    0#0400      FAULT STATUS BIT 37 EQUATE
BT38      EQU    0#0200      FAULT STATUS BIT 38 EQUATE
BT39      EQU    0#0100      FAULT STATUS BIT 39 EQUATE
          EJECT
*         EQUATES FOR FAULT STATUS BYTE 5 (BITS 40-47).

BT40      EQU    0#0080      FAULT STATUS BIT 40 EQUATE
BT41      EQU    0#0040      FAULT STATUS BIT 41 EQUATE
BT42      EQU    0#0020      FAULT STATUS BIT 42 EQUATE
BT43      EQU    0#0010      FAULT STATUS BIT 43 EQUATE
BT44      EQU    0#0008      FAULT STATUS BIT 44 EQUATE
BT45      EQU    0#0004      FAULT STATUS BIT 45 EQUATE
BT46      EQU    0#0002      FAULT STATUS BIT 46 EQUATE
BT47      EQU    0#0001      FAULT STATUS BIT 47 EQUATE


*         EQUATES FOR FAULT STATUS BYTE 6 (BITS 48-55).

BT48      EQU    0#8000      FAULT STATUS BIT 48 EQUATE
BT49      EQU    0#4000      FAULT STATUS BIT 49 EQUATE
BT50      EQU    0#2000      FAULT STATUS BIT 50 EQUATE
BT51      EQU    0#1000      FAULT STATUS BIT 51 EQUATE
BT52      EQU    0#0800      FAULT STATUS BIT 52 EQUATE
BT53      EQU    0#0400      FAULT STATUS BIT 53 EQUATE
BT54      EQU    0#0200      FAULT STATUS BIT 54 EQUATE
BT55      EQU    0#0100      FAULT STATUS BIT 55 EQUATE


*         EQUATES FOR FAULT STATUS BYTE 7 (BITS 56-63).

BT56      EQU    0#0080      FAULT STATUS BIT 56 EQUATE
BT57      EQU    0#0040      FAULT STATUS BIT 57 EQUATE
BT58      EQU    0#0020      FAULT STATUS BIT 58 EQUATE
BT59      EQU    0#0010      FAULT STATUS BIT 59 EQUATE
BT60      EQU    0#0008      FAULT STATUS BIT 60 EQUATE
BT61      EQU    0#0004      FAULT STATUS BIT 61 EQUATE
BT62      EQU    0#0002      FAULT STATUS BIT 62 EQUATE
BT63      EQU    0#0001      FAULT STATUS BIT 63 EQUATE


*         MISCELLANEOUS EQUATES FOR FAULT STATUS 1 AND FAULT STATUS 2.

FS1MSK2   EQU    0#6000      FS1 MASK FOR BITS 49 AND 50
FS1MSK3   EQU    0#7000      FS1 MASK FOR BITS 49, 50 AND 51
FS1MSK4   EQU    0#080F      FS1 MASK FOR BITS 52, 60, 61, 62, AND 63
FS1MSK5   EQU    0#F7F0      FS1 MASK FOR BITS 48-51, 53-59
FS1MSK6   EQU    0#020F      FS1 MASK FOR BITS 54 AND 60-63
FS1MSK7   EQU    0#87FF      FS1 MASK TO CLEAR BITS 49-52
FS1MSK8   EQU    0#0300      FS1 MASK TO CLEAR BITS 54 AND 55
F1CMSK0   EQU    0#DFCF      CIO FS1 MASK FOR BITS 32-47
F1CMSK1   EQU    0#FBFF      CIO FS1 MASK FOR BITS 48-63
F2NMSK0   EQU    0#FFAF      FS2 NIO MASK FOR BITS 32-47
F2NMSK1   EQU    0#FFBF      FS2 NIO MASK FOR BITS 48-63
F2CMSK0   EQU    0#FF03      FS2 CIO MASK FOR BITS 32-47
F2CMSK1   EQU    0           FS2 CIO MASK FOR BITS 48-63

IOUFLT0   TITLE  GENERATE IOU FAULT SYMPTOM CODE
IOUFLT0X  LJM    0           IOU FAULT SYMPTOM CODE GENERATION
IOUFLT0   EQU    *-1         ENTRY POINT

*         SAVE FAULT STATUS BUFFER ADDRESS IN -A- ON ENTRY.

          STDL   T1          SAVE FAULT STATUS BUFFER ADDRESS
          ADN    1D
          STDL   T3

*         INITIALIZE TEMPORARY LOCATIONS.

          LDN    0
          STDL   T2          INITIALIZE TABLE INDEX
          STDL   T4
          STDL   T5
          STDL   T6          INITIALIZE FAULT SYMPTOM CODE LOCATIONS
          STDL   T7

*         MOVE FAULT STATUS 1 AND 2 TO THE TEMPORARY STATUS BUFFER
*         (BOTH NIO AND CIO OF FS1 AND FS2 REGISTERS)

IFC00     LDIL   T3          MOVE FS1N, FS1C, FS2N, FS2C TO BUFFER
          STML   FSBUFR,T4
          AODL   T3          UPDATE SOURCE ADDRESS
          AODL   T4          UPDATE BUFFER INDEX
          SBN    16D         CHECK FOR MOVE COMPLETE
          MJN    IFC00       IF MOVE NOT COMPLETE

*         DETERMINE IF ERROR DATA IS IN THE NIO OR CIO FAULT STATUS 1
*         REGISTER.  IF THE ERROR DATE IS IN THE CIO FAULT STATUS 1
*         REGISTER, MOVE BYTE 7 OF THE NIO FAULT STATUS 1 REGISTER TO
*         BYTE 7 OF THE CIO FAULT STATUS 1 REGISTER AND CLEAR BYTE 7 OF
*         OF THE NIO FAULT STATUS 1 REGISTER.

          LDML   F1NBY6      GET NIO FS1 BYTES 6 AND 7
          LPC    0#FF00      MASK NIO FS1 FOR BITS 48-55
          ADML   F1NBY0      ADD NIO FS1 BYTES 0 AND 1
          ADML   F1NBY2      ADD NIO FS1 BYTES 2 AND 3
          ADML   F1NBY4      ADD NIO FS1 BYTES 4 AND 5
          NJN    IFC01       IF ERROR DATA IS IN THE NIO FS1 REGISTER
          LDML   F1CBY6      GET CIO FS1 BYTES 6 AND 7
          LPC    0#FF00      MASK CIO FS1 FOR BITS 48-55
          STML   F1CBY6      SAVE CIO FS1 BYTES 6 AND 7
          LDML   F1NBY6      GET NIO FS1 BYTES 6 AND 7
          LPC    0#00FF      MASK NIO FS1 FOR BITS 56-63
          RAML   F1CBY6      MOVE NIO BYTE 7 TO CIO BYTE 7
          LDML   F1NBY6      GET NIO FS1 BYTES 6 AND 7
          LPC    0#FF00      MASK NIO FS1 FOR BITS 48-55
          STML   F1NBY6      SAVE NIO FS1 BYTES 6 AND 7

*         CHECK FOR PIP3 TYPE OF CPU.

IFC01     LDIL   T1          GET CPU IDENTIFIER
          LMC    2R3A        CHECK FOR PIP3 CPU
          ZJN    IFC02       IF PIP3 CPU
          LJM    IFC10       GO TO PROCESS FAULT STATUS 2

*         IF PIP3 TYPE OF CPU, CHECK FOR BITS 52, 60, 61, 62 AND 63 SET
*         IN FAULT STATUS 1.  IF BITS 52, 60, 61, 62 AND 63 ARE ALL SET
*         IN FAULT STATUS 1, CLEAR BITS 52, 60, 61, 62 AND 63 IN FAULT
*         STATUS 1.  IF BITS 52, 60, 61, 62 AND 63 NOT SET SET IN FAULT
*         STATUS 1, CHECK FOR BITS 54, 60, 61, 62 AND 63 SET IN FAULT
*         STATUS 1.  IF BITS 54, 60, 61, 62 AND 63 SET IN FAULT STATUS
*         1, FORCE THE FAULT SYMPTOM CODE TO DX4077E.

IFC02     LDML   F1NBY6      GET NIO FS1 BYTES 6 AND 7
          LPC    FS1MSK4     MASK NIO FS1 FOR BITS 52 AND 60-63
          LMC    FS1MSK4     COMPARE FOR BITS 52 AND 60-63 ALL SET
          ZJN    IFC06       IF BITS 52 AND 60-63 ALL SET IN NIO FS1
          LDML   F1NBY6
          LPC    FS1MSK6     MASK FS1 BITS FOR BITS 54 AND 60-63
          LMC    FS1MSK6     COMPARE W/SET BITS 54 AND 60-63
          ZJN    IFC04       IF BITS 54 AND 60-63 NOT ALL SET

          LDML   F1CBY6      GET CIO FS1 BYTES 6 AND 7
          LPC    FS1MSK4     MASK CIO FS1 FOR BITS 52 AND 60-63
          LMC    FS1MSK4     COMPARE FOR BITS 52 AND 60-63 ALL SET
          ZJN    IFC08       IF BITS 52 AND 60-63 ALL SET IN CIO FS1
          LDML   F1CBY6
          LPC    FS1MSK6     MASK FS1 BITS FOR BITS 54 AND 60-63
          LMC    FS1MSK6     COMPARE W/SET BITS 54 AND 60-63
          NJN    IFC07       IF BITS 54 AND 60-63 NOT ALL SET
IFC04     LDC    2RE         GET 2ND PART OF 77E FSC
          LJM    IFC70       GO FORM 77E FSC AND EXIT TO CALLING PROGRAM
          EJECT
*         CLEAR BITS 52, 60, 61, 62 AND 63 IN NIO FAULT STATUS 1.
*         POSSIBLY CLEAR BITS 49-52 IN NIO FAULT STATUS 1.

IFC06     LDML   F1NBY6      GET FS1 BYTES 6 AND 7
          LPC    FS1MSK5     CLEAR BITS 52, 60, 61, 62, AND 63
          STML   F1NBY6      REPLACE FS1 BYTES 6 AND 7
          LPC    FS1MSK8     COMPARE W/BITS 54 AND 55
          ZJN    IFC10       IF NEITHER BIT 54 OR 55 SET
          LDML   F1NBY6
          LPC    FS1MSK7     CLEAR FS1 BITS 49-52
          STML   F1NBY6      REPLACE FS1 BYTES 6 AND 7
IFC07     UJN    IFC10       GO TO PROCESS NIO FAULT STATUS 2

*         CLEAR BITS 52, 60, 61, 62 AND 63 IN CIO FAULT STATUS 1.
*         POSSIBLY CLEAR BITS 49-52 IN CIO FAULT STATUS 1.

IFC08     LDML   F1CBY6      GET FS1 BYTES 6 AND 7
          LPC    FS1MSK5     CLEAR BITS 52, 60, 61, 62, AND 63
          STML   F1CBY6      REPLACE FS1 BYTES 6 AND 7
          LPC    FS1MSK8     COMPARE W/BITS 54 AND 55
          ZJN    IFC10       IF NEITHER BIT 54 OR 55 SET
          LDML   F1CBY6
          LPC    FS1MSK7     CLEAR FS1 BITS 49-52
          STML   F1CBY6      REPLACE FS1 BYTES 6 AND 7
          EJECT
**********************************************************************
*         BEGIN ANALYSIS ON NIO FS2 REGISTER...
*         CLEAR ALL UNUSED BITS IN THE FS2 NIO REGISTER

IFC10     LDML   F2NBY4      GET FS2 NIO BYTES 4 AND 5
          LPC    F2NMSK0     MASK OFF NOT USED AND NOT AVAILABLE BITS
          STML   F2NBY4      SAVE FAULT STATUS WORD
          LDML   F2NBY6      GET FS2 NIO BYTES 6 AND 7
          LPC    F2NMSK1     MASK OFF NOT USED AND NOT AVAILABLE BITS
          STML   F2NBY6      SAVE FAULT STATUS WORD

*         CHECK FS2 NIO BYTES 4 AND 5 FOR CHANNEL FAULT BITS SET

          ADML   F2NBY4      INCLUDE FAULT STATUS BYTES 4 AND 5
          NJN    IFC20       IF FAULT STATUS 2 -NIO- ERROR
          LJM    IFC110      GO CHECK FOR FAULT STATUS 2 -CIO- ERROR

*         DETERMINE THE BIT(S) WHICH ARE SET IN THE FAULT STATUS 2
*         NIO WORD AND GENERATE THE FAULT SYMPTOM CODE.

IFC20     LDC    F2NBY4      INITIALIZE FAULT STATUS BUFFER INDEX
          STDL   T3
IFC30     LDC    0#8000      INITIALIZE FAULT STATUS BIT MASK
IFC40     STDL   T4
          LPIL   T3          CHECK FOR CHANNEL BIT SET IN FS2 -NIO-
          ZJN    IFC50       IF CHANNEL BIT IS NOT SET IN FS2 -NIO-

*         POSSIBLE CHANNEL FAULT BIT HAS BEEN FOUND, CHECK FOR PREVIOUS
*         CHANNEL FAULT BIT DETECTED.

          LDDL   T6          CHECK FOR PREVIOUS CHANNEL FAULT BIT FOUND
          ADDL   T7
          ZJN    IFC46       IF NO PREVIOUS FSC ASSIGNED
          LDDL   T7          GET LAST PAIR OF FSC CHARS
          LMC    2R70
          NJN    IFC44       ERROR EXIT IF NOT 70
          LDC    F2NBY6-1    GET INTERNAL FS2 BYTE 6,7 ADDRESS
          SBDL   T3          COMPARE W/CURRENT FS2 WORD ADDRESS
          PJN    IFC44       ERROR EXIT IF LESS THAN FS2 BYTE 6 ADDRESS
          AODL   T7          ADJUST FSC CODE TO 71
          LDIL   T3          GET BYTES 6 AND 7 OF FS2 - NIO
          LMN    40B         CHECK FOR BIT 58 SET
          ZJN    IFC50       IF BIT 58 IS ONLY BIT SET
          AODL   T7          ADJUST FSC CODE TO 72
          LDIL   T3          GET BYTES 6 AND 7 OF FS2 - NIO
          LMN    20B         CHECK FOR JUST BIT 59 SET
          ZJN    IFC50       BIT 59 IS ONLY SET -- CONTINUE PROCESSING

IFC44     UJN    IFC60       ERROR EXIT -- CANNOT CALC FSC

*         THE POSSIBLE CHANNEL FAULT BIT HAS BEEN FOUND, SAVE THE FAULT
*         SYMPTOM CODE FOR THE CHANNEL FAULT BIT.

IFC46     LDDL   T2          BUILD F2NFSCT TABLE INDEX
          SHN    1D
          STDL   T5
          LDML   F2NFSCT,T5  SET FS2 -NIO- FAULT SYMPTOM CODE
          STDL   T6
          LDML   F2NFSCT+1,T5  SET FS2 -NIO- FAULT SYMPTOM CODE
          STDL   T7
IFC50     AODL   T2          UPDATE FAULT STATUS 2 TABLE INDEX
          SBN    32D         CHECK FOR ALL CHANNEL BITS CHECKED
          PJN    IFC56       IF ALL CHANNEL BITS CHECKED
          LDDL   T4          UPDATE FAULT STATUS BIT MASK
          SHN    -1D
          NJN    IFC54       IF FS2 BYTES 4 AND 5 NOT CHECKED
          AODL   T3          UPDATE FAULT STATUS BUFFER INDEX
          LJM    IFC30       GO TO CHECK NEXT FAULT STATUS WORD

IFC54     LJM    IFC40       GO CONTINUE CHECKING 16-BIT WORD
IFC56     LJM    IFC110      GO CHECK FOR FAULT STATUS 2 -CIO- ERROR

*         MORE THAN ONE ONE BIT HAS BEEN FOUND SET IN FAULT STATUS 2,
*         FORCE THE FAULT SYMPTOM CODE TO DX4077A.

IFC60     LDC    2RA         GENERATE THE FAULT SYMPTOM CODE DX4077A
IFC70     STDL   T7
          LDC    2R77        GENERATE THE CHARACTERS 77
          STDL   T6

*         MOVE THE FAULT SYMPTOM CODE TO THE BUFFER THAT CONTAINED THE
*         FAULT STATUS REGISTERS 1 AND 2 ON ENTRY AND EXIT.

IFC80     LDDL   T6          CHECK FOR NO FAULT SYMPTOM CODE
          ADDL   T7
          NJN    IFC90       IF FAULT SYMPTOM CODE
          LDC    2RD         SET THE FAULT SYMPTOM CODE 77D
          UJN    IFC70

IFC90     LDDL   T6          MOVE FIRST TWO FSC CHARACTERS TO BUFFER
          STIL   T1
          LDDL   T7          MOVE SECOND TWO FSC CHARACTERS TO BUFFER
          NJN    IFC94       IF LAST TWO FSC CHARACTERS ARE AVAILABLE
          LDC    2R          BLANK FILL LAST TWO FSC CHARACTERS
IFC94     STML   1,T1
          LDC    2R          BLANK FILL REMAINDER OF THE BUFFER
          STML   2,T1
          STML   3,T1
          STML   4,T1
          STML   5,T1
          STML   6,T1
          STML   7,T1
          LDDL   T1          SET (A) REGISTER FOR EXIT
          LJM    IOUFLT0X    EXIT

*         GENERATE THE FAULT SYMPTOM CODE DX4077B.

IFC100    LDC    2RB         GENERATE THE FAULT SYMPTOM CODE DX4077B
          LJM    IFC70       GO TO GENERATE THE CHARACTERS 77
          EJECT
*********************************************************************
*         BEGIN ANALYSIS ON CIO FS2 REGISTER...
*         CLEAR ALL UNUSED BITS IN THE FS2 CIO REGISTER

IFC110    LDN    0
          STDL   T2          RESET F2CFSCT TABLE INDEX
          LDML   F2CBY4      GET FS2 CIO BYTES 4 AND 5
          LPC    F2CMSK0     MASK OFF NOT USED AND NOT AVAILABLE BITS
          STML   F2CBY4      SAVE FAULT STATUS WORD
          LDML   F2CBY6      GET FS2 CIO BYTES 6 AND 7
          LPC    F2CMSK1     MASK OFF NOT USED AND NOT AVAILABLE BITS
          STML   F2CBY6      SAVE FAULT STATUS WORD

*         CHECK FS2 CIO BYTES 4 AND 5 FOR CHANNEL FAULT BITS SET

          ADML   F2CBY4      INCLUDE FAULT STATUS BYTES 4 AND 5
          NJN    IFC120      IF FAULT STATUS 2 -CIO- ERROR
          LJM    IFC200      GO CHECK FOR FAULT STATUS 1 -NIO- ERROR

*         DETERMINE THE BIT(S) WHICH ARE SET IN THE FAULT STATUS 2
*         CIO WORD AND GENERATE THE FAULT SYMPTOM CODE.

IFC120    LDC    F2CBY4      INITIALIZE FAULT STATUS BUFFER INDEX
          STDL   T3
IFC130    LDC    0#8000      INITIALIZE FAULT STATUS BIT MASK
IFC140    STDL   T4
          LPIL   T3          CHECK FOR CHANNEL BIT SET IN FS2 -CIO-
          ZJN    IFC150      IF CHANNEL BIT IS NOT SET IN FS2 -CIO-

*         POSSIBLE CHANNEL FAULT BIT HAS BEEN FOUND, CHECK FOR PREVIOUS
*         CHANNEL FAULT BIT DETECTED.

          LDDL   T6          CHECK FOR PREVIOUS CHANNEL FAULT BIT FOUND
          ADDL   T7
          NJN    IFC160      IF PREVIOUS CHANNEL FAULT BIT FOUND

*         THE POSSIBLE CHANNEL FAULT BIT HAS BEEN FOUND, SAVE THE FAULT
*         SYMPTOM CODE FOR THE CHANNEL FAULT BIT.

          LDDL   T2          BUILD F2CFSCT TABLE INDEX
          SHN    1D
          STDL   T5
          LDML   F2CFSCT,T5  SET FS2 -CIO- FAULT SYMPTOM CODE
          STDL   T6
          LDML   F2CFSCT+1,T5  SET FS2 -CIO- FAULT SYMPTOM CODE
          STDL   T7
IFC150    AODL   T2          UPDATE FAULT STATUS 2 TABLE INDEX
          SBN    16D         CHECK FOR ALL CHANNEL BITS CHECKED
          PJN    IFC200      IF ALL CHANNEL BITS CHECKED
          LDDL   T4          UPDATE FAULT STATUS BIT MASK
          SHN    -1D
          NJN    IFC140      IF FS2 BYTES 4 AND 5 NOT CHECKED
          AODL   T3          UPDATE FAULT STATUS BUFFER INDEX
          UJN    IFC130      GO TO CHECK NEXT FAULT STATUS WORD
IFC160    LJM    IFC60       MULTIPLE FS2 ERRORS DETECTED
IFC170    LJM    IFC100      MORE THAN ONE FAILING BARREL...
          EJECT
**************************************************************************
*         BEGIN ANALYSIS ON NIO FS1 REGISTER...
*         CHECK FAULT STATUS 1 FOR ANY BITS SET AND IF NONE ARE SET,
*         GO CHECK CIO FS1 REGISTER.

IFC200    LDML   F1NBY4      CHECK FOR FAULT STATUS 1 ERROR(S)
          ADML   F1NBY6
          NJN    IFC210      IF FAULT STATUS 1 ERROR
          LJM    IFC400      GO ANALYZE CIO FS1 REGISTER CONTENTS

*         DETERMINE THE BARREL IN WHICH THE FAILURE WAS DETECTED, IF
*         MORE THAN ONE BARREL FAILED, REPORT A FAULT SYMPTOM CODE OF
*         DX4077B.

IFC210    LDML   F1NBY0      CHECK FOR BARREL 0 FAILURE
          SHN    -8D
          ZJN    IFC220      IF NOT BARREL 0 FAILURE
          LDC    2RA         FORCE BARREL INDICATOR TO A
          STDL   T7
IFC220    LDML   F1NBY1      CHECK FOR BARREL 1 FAILURE
          LPC    0#1F
          ZJN    IFC240      IF NOT BARREL 1 FAILURE
          LDDL   T7          CHECK FOR MORE THAN ONE FAILING BARREL
IFC230    NJN    IFC170      IF MORE THAN ONE FAILING BARREL
          LDC    2RB         FORCE BARREL INDICATOR TO B
          STDL   T7
IFC240    LDML   F1NBY2      CHECK FOR BARREL 2 FAILURE
          SHN    -8D
          ZJN    IFC250      IF NOT BARREL 2 FAILURE
          LDDL   T7          CHECK FOR MORE THAN ONE FAILING BARREL
          NJN    IFC230      IF MORE THAN ONE FAILING BARREL
          LDC    2RC         FORCE BARREL INDICATOR TO C
          STDL   T7
IFC250    LDML   F1NBY3      CHECK FOR BARREL 3 FAILURE
          LPC    0#1F
          ZJN    IFC260      IF NOT BARREL 3 FAILURE
          LDDL   T7          CHECK FOR MORE THAN ONE FAILING BARREL
          NJN    IFC230      IF MORE THAN ONE FAILING BARREL
          LDC    2RD         FORCE BARREL INDICATOR TO D
          STDL   T7

*         CHECK THE FAULT STATUS 1 REGISTER FOR ERRORS.  THE F1NBTB
*         TABLE CONTAINS THE FAULT STATUS 1 BITS 32-63 THAT ARE TO BE
*         CHECKED.

IFC260    BSS    0
          LDN    0           RESET THE F1NBTB TABLE INDEX (NIO FS1)
          STDL   T2
IFC270    LDML   F1NBY4      GET FAULT STATUS 1 BYTES 4 AND 5
          LPML   F1NBTB,T2
          LMML   F1NBTB,T2   COMPARE FOR ALL SELECTED BITS SET
          NJN    IFC280      IF ALL SELECTED BITS NOT SET IN FS1 -NIO-
          LDML   F1NBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPML   F1NBTB+1,T2  COMPARE FOR ALL SELECTED BITS SET
          LMML   F1NBTB+1,T2  COMPARE FOR ALL SELECTED BITS SET
          ZJN    IFC300      IF ALL SELECTED BITS SET IN FS1 -NIO-

IFC280    LDN    2D          UPDATE F1NBTB TABLE INDEX
          RADL   T2
          ADC    -F1NBTBL    CHECK OF END OF F1NBTB TABLE
          MJN    IFC270      IF NOT END OF F1NBTB TABLE

          LDML   F1NBY4      GET FAULT STATUS 1 BYTES 4 AND 5
          ADML   F1NBY6      ADD FAULT STATUS 1 BYTES 6 AND 7
          ZJN    IFC290      IF FAULT STATUS 1 COMPLETELY PROCESSED
          LDC    2RD         SET FAULT SYMPTOM CODE TO DX4077D
          LJM    IFC70       GO TO GENERATE THE CHARACTERS 77

IFC290    LJM    IFC400      GO CHECK CIO FS1 REGISTER CONTENTS

*         CLEAR THE FAILING BIT INDICATORS IN FAULT STATUS 1 -NIO-.

IFC300    LDML   F1NBY4      GET FAULT STATUS 1 BYTES 4 AND 5
          LMML   F1NBTB,T2   CLEAR FAILING BIT INDICATORS
          STML   F1NBY4      RESET FAULT STATUS 1 BYTES 4 AND 5
          LDML   F1NBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LMML   F1NBTB+1,T2  CLEAR FAILING BIT INDICATORS
          STML   F1NBY6      RESET FAULT STATUS 1 BYTES 6 AND 7

*         POSSIBLE FAULT STATUS 1 FAILURE HAS BEEN FOUND, CHECK FOR
*         PREVIOUS FAULT STATUS 1 DETECTED. IF A PREVIOUS FAULT WAS
*         ISOLATED, FORCE THE FAULT SYMPTOM CODE TO DX4077C.

          LDDL   T6          CHECK FOR PREVIOUS FAULT STATUS ERROR
          ZJN    IFC310      IF NO PREVIOUS FAULT STATUS ERROR
          LDC    2RC         SET FAULT SYMPTOM CODE TO DX4077C
          LJM    IFC70       GO TO GENERATE THE CHARACTERS 77

*         THE POSSIBLE FAULT STATUS 1 NIO ERROR HAS BEEN FOUND, SAVE THE
*         FAULT SYMPTOM CODE FOR THE FAULT STATUS 1 REGISTER.

IFC310    LDDL   T2          BUILD F1NFSCT TABLE INDEX
          SHN    -1D
          STDL   T4          STORE FSC ASSIGNMENT INDEX
          LDML   F1NFSCT,T4  SET FS1 FAULT SYMPTOM CODE
          STDL   T6

*         CHECK FOR FAULT SYMPTOM CODES DX4005, 10-12, 19-21,
*         24, 26, 27, 29, 31, 33, 37-43, 47, AND 49. IF THE FAULT
*         SYMPTOM CODE IS ONE OF THESE CODES, RESET THE CLUSTER
*         INDICATOR TO BLANK DISPLAY CODES.

          ADC    -CODE05     CHECK FOR FAULT SYMPTOM CODE DX4005
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4005
          ADC    -CODE10+CODE05  CHECK FOR FAULT SYMPTOM CODE DX4010
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4010
          SBN    CODE11-CODE10  CHECK FOR FAULT SYMPTOM CODE DX4011
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4011
          SBN    CODE12-CODE11  CHECK FOR FAULT SYMPTOM CODE DX4012
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4012
          SBN    CODE19-CODE12  CHECK FOR FAULT SYMPTOM CODE DX4019
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4019
          ADC    -CODE20+CODE19  CHECK FOR FAULT SYMPTOM CODE DX4020
          NJN    IFCA2       IF FAULT SYMPTOM CODE IS NOT DX4020
 IFCA1    LJM    IFC320      FAULT SYMPTOM CODE IS DX4020
 IFCA2    SBN    CODE21-CODE20  CHECK FOR FAULT SYMPTOM CODE DX4021
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4021
          SBN    CODE24-CODE21  CHECK FOR FAULT SYMPTOM CODE DX4024
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4024
          SBN    CODE26-CODE24  CHECK FOR FAULT SYMPTOM CODE DX4026
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4026
          SBN    CODE27-CODE26  CHECK FOR FAULT SYMPTOM CODE DX4027
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4027
          SBN    CODE29-CODE27  CHECK FOR FAULT SYMPTOM CODE DX4029
          ZJN    IFCA1       IF FAULT SYMPTOM CODE DX4029
          ADC    -CODE31+CODE29  CHECK FOR FAULT SYMPTOM CODE DX4031
          ZJN    IFC320      IF FAULT SYMPTOM CODE DX4031
          SBN    CODE33-CODE31  CHECK FOR FAULT SYMPTOM CODE DX4033
          ZJN    IFC320      IF FAULT SYMPTOM CODE DX4033
          SBN    CODE37-CODE33  CHECK FOR FAULT SYMPTOM CODE DX4037
          ZJN    IFC320      IF FAULT SYMPTOM CODE DI4037
          SBN    CODE38-CODE37  CHECK FOR FAULT SYMPTOM CODE DI4038
          ZJN    IFC320      IF FAULT SYMPTOM CODE DI4038
          SBN    CODE39-CODE38  CHECK FOR FAULT SYMPTOM CODE DI4039
          ZJN    IFC320      IF FAULT SYMPTOM CODE DI4039
          ADC    -CODE40+CODE39  CHECK FOR FAULT SYMPTOM CODE DI4040
          ZJN    IFC320      IF FAULT SYMPTOM CODE DI4040
          SBN    CODE41-CODE40  CHECK FOR FAULT SYMPTOM CODE DI4041
          ZJN    IFC320      IF FAULT SYMPTOM CODE DI4041
          SBN    CODE42-CODE41  CHECK FOR FAULT SYMPTOM CODE DI4042
          ZJN    IFC320      IF FAULT SYMPTOM CODE DI4042
          SBN    CODE43-CODE42  CHECK FOR FAULT SYMPTOM CODE DI4043
          ZJN    IFC320      IF FAULT SYMPTOM CODE DI4043
          SBN    CODE47-CODE43  CHECK FOR FAULT SYMPTOM CODE DI4047
          ZJN    IFC320      IF FAULT SYMPTOM CODE DI4047
          SBN    CODE49-CODE47  CHECK FOR FAULT SYMPTOM CODE DI4049
          ZJN    IFC320      IF FAULT SYMPTOM CODE DX4049

*         CHECK FOR FAULT SYMPTOM CODES DX4017 AND DX4018.  IF THE
*         FAULT SYMPTOM CODE IS ONE OF THESE CODES, APPEND THE LETTER G
*         TO THE FAULT SYMPTOM CODE.

          LDDL   T6          GET FAULT SYMPTOM CODE
          ADC    -CODE17     CHECK FOR FAULT SYMPTOM CODE DX4017
          ZJN    IFCA5       IF FAULT SYMPTOM CODE DX4017
          SBN    CODE18-CODE17  CHECK FOR FAULT SYMPTOM CODE DX4018
          NJN    IFC330      IF NOT FAULT SYMPTOM CODE DX4018
IFCA5     LDC    2RG -2R     RESET BARREL INDICATION TO G
IFC320    ADC    2R          RESET BARREL INDICATOR TO BLANKS
          STDL   T7
          UJN    IFC360      GO TO CONTINUE NIO FS1 PROCESSING

*         CHECK THAT LOCATION T7 DOES NOT CONTAIN ZERO.  THIS ENSURES
*         THAT THE FAULT CAN BE ISOLATED TO A FAILING CLUSTER.  IF THE
*         FAULT CANNOT BE ISOLATED TO A FAILING CLUSTER, (I.E.  T7
*         CONTAINS ZERO), FORCE THE FAULT SYMPTOM CODE TO DX4077D.

IFC330    LDDL   T7          GET FAILING CLUSTER INDICATOR
          NJN    IFC335      IF FAILING CLUSTER ISOLATED
          LDC    2RD         SET FAULT SYMPTOM CODE TO DX4077D
          LJM    IFC70       GO TO GENERATE THE CHARACTERS 77

*         CHECK FOR FAULT SYMPTOM CODES DX4022. IF THE FAULT SYMPTOM
*         CODE IS A DX4022, RESET THE BARREL INDICATOR X (A - F) TO
*         A X2 IF BITS 49, 50 AND 51 ARE CLEAR, TO A X0 IF EITHER
*         BIT 49 OR 50 IS SET, OR TO A X1 IF BIT 51 IS SET.

IFC335    LDDL   T6          GET FAULT SYMPTOM CODE
          ADC    -CODE22     CHECK FOR FAULT SYMPTOM CODE DX4022
          NJN    IFC370      IF NOT FAULT SYMPTOM CODE DX4022
          LDML   F1NBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPC    FS1MSK3     CHECK IF BITS 49, OR 50, OR 51 SET
          ZJN    IFC350      IF BITS 49, 50 AND 51 CLEAR
          LPC    BT51        CHECK FOR BIT 51 SET
          ZJN    IFC340      IF BIT 51 IS NOT SET
          LDN    1R1-1R0     SET BARREL INDICATOR TO X0
IFC340    SBN    1R2-1R0     SET BARREL INDICATOR TO X1
IFC350    ADN    1R2-1R      SET BARREL INDICATOR TO X2
          RADL   T7
          LDML   F1NBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPC    -FS1MSK3    CLEAR BITS 49, 50 AND 51
          STML   F1NBY6      SAVE UPDATED FS1, BYTES 6 AND 7
IFC360    LJM    IFC280      GO TO CONTINUE FAULT STATUS 1 PROCESSING

*         CHECK FOR FAULT SYMPTOM CODES DX4023, DX4028, DX4030, DX4032
*         AND DX4034. IF THE FAULT SYMPTOM CODE IS ONE OF THESE CODES,
*         RESET THE BARREL INDICATOR X (A - F) TO A X1 IF BITS 49
*         AND 50 ARE CLEAR OR TO A X0 IF EITHER BIT 49 OR 50 IS SET.

IFC370    SBN    CODE23-CODE22  CHECK FOR FAULT SYMPTOM CODE DX4023
          ZJN    IFC380      IF FAULT SYMPTOM CODE DX4023
          SBN    CODE28-CODE23  CHECK FOR FAULT SYMPTOM CODE DX4028
          ZJN    IFC380      IF FAULT SYMPTOM CODE DX4028
          ADC    -CODE30+CODE28  CHECK FOR FAULT SYMPTOM CODE DX4030
          ZJN    IFC380      IF FAULT SYMPTOM CODE DX4030
          SBN    CODE32-CODE30  CHECK FOR FAULT SYMPTOM CODE DX4032
          ZJN    IFC380      IF FAULT SYMPTOM CODE DX4032
          SBN    CODE34-CODE32  CHECK FOR FAULT SYMPTOM CODE DX4034
          NJN    IFC360      IF NOT FAULT SYMPTOM CODE DX4034
IFC380    LDML   F1NBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPC    FS1MSK2     CHECK FOR BIT 49 OR 50 SET
          ZJN    IFC390      IF BIT 49 AND 50 IS NOT SET
          LCN    1R1-1R0     SET BARREL INDICATOR TO X1
IFC390    ADN    1R1-1R      SET BARREL INDICATOR TO X0
          RADL   T7
          LDML   F1NBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPC    -FS1MSK2    CLEAR BITS 49 AND 50
          STML   F1NBY6      SAVE UPDATED FS1, BYTES 6 AND 7
          UJN    IFC360      GO TO CONTINUE FAULT STATUS 1 PROCESSING
          EJECT
**************************************************************************
*         BEGIN ANALYSIS ON CIO FS1 REGISTER...
*         CHECK FAULT STATUS 1 FOR ANY BITS SET AND IF NONE ARE SET,
*         EXIT.

IFC400    LDML   F1CBY4      GET FS1 CIO BYTES 4 AND 5
          LPC    F1CMSK0     MASK OFF NOT USED AND NOT AVAILABLE BITS
          STML   F1CBY4      SAVE FAULT STATUS WORD
          LDML   F1CBY6      GET FS1 CIO BYTES 6 AND 7
          LPC    F1CMSK1     MASK OFF NOT USED AND NOT AVAILABLE BITS
          STML   F1CBY6      SAVE FAULT STATUS WORD
          ADML   F1CBY4      CHECK CIO FS1 FOR ERRORS
          NJN    IFC410      IF FAULT STATUS 1 -CIO- ERROR
          LJM    IFC80       GO ESTABLISH FSC AND EXIT

IFC405    LJM    IFC100      MORE THAN ONE BARREL ERROR

*         DETERMINE THE BARREL IN WHICH THE FAILURE WAS DETECTED, IF
*         MORE THAN ONE BARREL FAILED, REPORT A FAULT SYMPTOM CODE OF
*         DX4077B.

IFC410    LDML   F1CBY0      CHECK FOR BARREL 0 FAILURE
          SHN    -8D
          ZJN    IFC420      IF NOT BARREL 0 FAILURE
          LDC    2RE         FORCE BARREL INDICATOR TO E
          STDL   T7
IFC420    LDML   F1CBY1      CHECK FOR BARREL 1 FAILURE
          LPC    0#1F
          ZJN    IFC440      IF NOT BARREL 1 FAILURE
          LDDL   T7          CHECK FOR MORE THAN ONE FAILING BARREL
IFC430    NJN    IFC405      IF MORE THAN ONE FAILING BARREL
          LDC    2RF         FORCE BARREL INDICATOR TO F
          STDL   T7

*         CHECK THE FAULT STATUS 1 REGISTER FOR ERRORS.  THE F1CBTB
*         TABLE CONTAINS THE FAULT STATUS 1 BITS 32-63 THAT ARE TO BE
*         CHECKED.

IFC440    BSS    0
          LDN    0           RESET THE F1NBTB TABLE INDEX
          STDL   T2
IFC450    LDML   F1CBY4      GET FAULT STATUS 1 BYTES 4 AND 5
          LPML   F1NBTB,T2
          LMML   F1NBTB,T2   COMPARE FOR ALL SELECTED BITS SET
          NJN    IFC460      IF ALL SELECTED BITS NOT SET IN FS1 -CIO-
          LDML   F1CBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPML   F1NBTB+1,T2  COMPARE FOR ALL SELECTED BITS SET
          LMML   F1NBTB+1,T2  COMPARE FOR ALL SELECTED BITS SET
          ZJN    IFC480      IF ALL SELECTED BITS SET IN FS1 -CIO-

IFC460    LDN    2D          UPDATE F1NBTB TABLE INDEX
          RADL   T2
          ADC    -F1NBTBL    CHECK OF END OF F1NBTB TABLE
          MJN    IFC450      IF NOT END OF F1NBTB TABLE

          LDML   F1CBY4      GET FAULT STATUS 1 BYTES 4 AND 5
          ADML   F1CBY6      ADD FAULT STATUS 1 BYTES 6 AND 7
          ZJN    IFC470      IF FAULT STATUS 1 COMPLETELY PROCESSED
          LDC    2RD         SET FAULT SYMPTOM CODE TO DX4077D
          LJM    IFC70       GO TO GENERATE THE CHARACTERS 77

IFC470    LJM    IFC80       GO TO SET FAULT SYMPTOM CODE IN BUFFER

*         CLEAR THE FAILING BIT INDICATORS IN FAULT STATUS 1 -CIO-.

IFC480    LDML   F1CBY4      GET FAULT STATUS 1 BYTES 4 AND 5
          LMML   F1NBTB,T2   CLEAR FAILING BIT INDICATORS
          STML   F1CBY4      RESET FAULT STATUS 1 BYTES 4 AND 5
          LDML   F1CBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LMML   F1NBTB+1,T2  CLEAR FAILING BIT INDICATORS
          STML   F1CBY6      RESET FAULT STATUS 1 BYTES 6 AND 7

*         POSSIBLE FAULT STATUS 1 FAILURE HAS BEEN FOUND, CHECK FOR
*         PREVIOUS FAULT STATUS 1 DETECTED. IF A PREVIOUS FAULT WAS
*         ISOLATED, FORCE THE FAULT SYMPTOM CODE TO DX4077C.

          LDDL   T6          CHECK FOR PREVIOUS FAULT STATUS ERROR
          ZJN    IFC490      IF NO PREVIOUS FAULT STATUS ERROR
          LDC    2RC         SET FAULT SYMPTOM CODE TO DX4077C
          LJM    IFC70       GO TO GENERATE THE CHARACTERS 77

*         THE POSSIBLE FAULT STATUS 1 CIO ERROR HAS BEEN FOUND, SAVE THE
*         FAULT SYMPTOM CODE FOR THE FAULT STATUS 1 REGISTER.

IFC490    LDDL   T2          BUILD F1NFSCT TABLE INDEX
          SHN    -1D
          STDL   T4          STORE FSC ASSIGNMENT INDEX
          LDML   F1NFSCT,T4  SET FS1 FAULT SYMPTOM CODE
          STDL   T6

*         CHECK FOR FAULT SYMPTOM CODES DX4005, 10-12, 19-21,
*         24, 26, 27, 29, 31, 33, 37-43, 47, AND 49. IF THE FAULT
*         SYMPTOM CODE IS ONE OF THESE CODES, RESET THE CLUSTER
*         INDICATOR TO BLANK DISPLAY CODES.

          ADC    -CODE05     CHECK FOR FAULT SYMPTOM CODE DX4005
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4005
          ADC    -CODE10+CODE05  CHECK FOR FAULT SYMPTOM CODE DX4010
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4010
          SBN    CODE11-CODE10  CHECK FOR FAULT SYMPTOM CODE DX4011
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4011
          SBN    CODE12-CODE11  CHECK FOR FAULT SYMPTOM CODE DX4012
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4012
          SBN    CODE19-CODE12  CHECK FOR FAULT SYMPTOM CODE DX4019
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4019
          ADC    -CODE20+CODE19  CHECK FOR FAULT SYMPTOM CODE DX4020
          NJN    IFC510      IF FAULT SYMPTOM CODE IS NOT DX4020
IFC500    LJM    IFC530      FAULT SYMPTOM CODE IS DX4020
IFC510    SBN    CODE21-CODE20  CHECK FOR FAULT SYMPTOM CODE DX4021
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4021
          SBN    CODE24-CODE21  CHECK FOR FAULT SYMPTOM CODE DX4024
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4024
          SBN    CODE26-CODE24  CHECK FOR FAULT SYMPTOM CODE DX4026
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4026
          SBN    CODE27-CODE26  CHECK FOR FAULT SYMPTOM CODE DX4027
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4027
          SBN    CODE29-CODE27  CHECK FOR FAULT SYMPTOM CODE DX4029
          ZJN    IFC500      IF FAULT SYMPTOM CODE DX4029
          ADC    -CODE31+CODE29  CHECK FOR FAULT SYMPTOM CODE DX4031
          ZJN    IFC530      IF FAULT SYMPTOM CODE DX4031
          SBN    CODE33-CODE31  CHECK FOR FAULT SYMPTOM CODE DX4033
          ZJN    IFC530      IF FAULT SYMPTOM CODE DX4033
          SBN    CODE37-CODE33  CHECK FOR FAULT SYMPTOM CODE DX4037
          ZJN    IFC530      IF FAULT SYMPTOM CODE DI4037
          SBN    CODE38-CODE37  CHECK FOR FAULT SYMPTOM CODE DI4038
          ZJN    IFC530      IF FAULT SYMPTOM CODE DI4038
          SBN    CODE39-CODE38  CHECK FOR FAULT SYMPTOM CODE DI4039
          ZJN    IFC530      IF FAULT SYMPTOM CODE DI4039
          ADC    -CODE40+CODE39  CHECK FOR FAULT SYMPTOM CODE DI4040
          ZJN    IFC530      IF FAULT SYMPTOM CODE DI4040
          SBN    CODE41-CODE40  CHECK FOR FAULT SYMPTOM CODE DI4041
          ZJN    IFC530      IF FAULT SYMPTOM CODE DI4041
          SBN    CODE42-CODE41  CHECK FOR FAULT SYMPTOM CODE DI4042
          ZJN    IFC530      IF FAULT SYMPTOM CODE DI4042
          SBN    CODE43-CODE42  CHECK FOR FAULT SYMPTOM CODE DI4043
          ZJN    IFC530      IF FAULT SYMPTOM CODE DI4043
          SBN    CODE47-CODE43  CHECK FOR FAULT SYMPTOM CODE DI4047
          ZJN    IFC530      IF FAULT SYMPTOM CODE DI4047
          SBN    CODE49-CODE47  CHECK FOR FAULT SYMPTOM CODE DI4049
          ZJN    IFC530      IF FAULT SYMPTOM CODE DX4049

*         CHECK FOR FAULT SYMPTOM CODES DX4017 AND DX4018.  IF THE
*         FAULT SYMPTOM CODE IS ONE OF THESE CODES, APPEND THE LETTER H
*         TO THE FAULT SYMPTOM CODE.

          LDDL   T6          GET FAULT SYMPTOM CODE
          ADC    -CODE17     CHECK FOR FAULT SYMPTOM CODE DX4017
          ZJN    IFC520      IF FAULT SYMPTOM CODE DX4017
          SBN    CODE18-CODE17  CHECK FOR FAULT SYMPTOM CODE DX4018
          NJN    IFC540      IF NOT FAULT SYMPTOM CODE DX4018
IFC520    LDC    2RH -2R     RESET BARREL INDICATION TO H
IFC530    ADC    2R          RESET BARREL INDICATOR TO BLANKS
          STDL   T7
          UJN    IFC580      GO TO CONTINUE CIO FS1 PROCESSING

*         CHECK THAT LOCATION T7 DOES NOT CONTAIN ZERO.  THIS ENSURES
*         THAT THE FAULT CAN BE ISOLATED TO A FAILING CLUSTER.  IF THE
*         FAULT CANNOT BE ISOLATED TO A FAILING CLUSTER, (I.E.  T7
*         CONTAINS ZERO), FORCE THE FAULT SYMPTOM CODE TO DX4077D.

IFC540    LDDL   T7          GET FAILING CLUSTER INDICATOR
          NJN    IFC550      IF FAILING CLUSTER ISOLATED
          LDC    2RD         SET FAULT SYMPTOM CODE TO DX4077D
          LJM    IFC70       GO TO GENERATE THE CHARACTERS 77

*         CHECK FOR FAULT SYMPTOM CODES DX4022. IF THE FAULT SYMPTOM
*         CODE IS A DX4022, RESET THE BARREL INDICATOR X (A - F) TO
*         A X2 IF BITS 49, 50 AND 51 ARE CLEAR, TO A X0 IF EITHER
*         BIT 49 OR 50 IS SET, OR TO A X1 IF BIT 51 IS SET.

IFC550    LDDL   T6          GET FAULT SYMPTOM CODE
          ADC    -CODE22     CHECK FOR FAULT SYMPTOM CODE DX4022
          NJN    IFC590      IF NOT FAULT SYMPTOM CODE DX4022
          LDML   F1CBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPC    FS1MSK3     CHECK IF BITS 49, OR 50, OR 51 SET
          ZJN    IFC570      IF BITS 49, 50 AND 51 CLEAR
          LPC    BT51        CHECK FOR BIT 51 SET
          ZJN    IFC560      IF BIT 51 IS NOT SET
          LDN    1R1-1R0     SET BARREL INDICATOR TO X0
IFC560    SBN    1R2-1R0     SET BARREL INDICATOR TO X1
IFC570    ADN    1R2-1R      SET BARREL INDICATOR TO X2
          RADL   T7
          LDML   F1CBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPC    -FS1MSK3    CLEAR BITS 49, 50 AND 51
          STML   F1CBY6      SAVE UPDATED FS1, BYTES 6 AND 7
IFC580    LJM    IFC460      GO TO CONTINUE FAULT STATUS 1 PROCESSING

*         CHECK FOR FAULT SYMPTOM CODES DX4023, DX4028, DX4030, DX4032
*         AND DX4034. IF THE FAULT SYMPTOM CODE IS ONE OF THESE CODES,
*         RESET THE BARREL INDICATOR X (A - F) TO A X1 IF BITS 49
*         AND 50 ARE CLEAR OR TO A X0 IF EITHER BIT 49 OR 50 IS SET.

IFC590    SBN    CODE23-CODE22  CHECK FOR FAULT SYMPTOM CODE DX4023
          ZJN    IFC600      IF FAULT SYMPTOM CODE DX4023
          SBN    CODE28-CODE23  CHECK FOR FAULT SYMPTOM CODE DX4028
          ZJN    IFC600      IF FAULT SYMPTOM CODE DX4028
          ADC    -CODE30+CODE28  CHECK FOR FAULT SYMPTOM CODE DX4030
          ZJN    IFC600      IF FAULT SYMPTOM CODE DX4030
          SBN    CODE32-CODE30  CHECK FOR FAULT SYMPTOM CODE DX4032
          ZJN    IFC600      IF FAULT SYMPTOM CODE DX4032
          SBN    CODE34-CODE32  CHECK FOR FAULT SYMPTOM CODE DX4034
          NJN    IFC580      IF NOT FAULT SYMPTOM CODE DX4034
IFC600    LDML   F1CBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPC    FS1MSK2     CHECK FOR BIT 49 OR 50 SET
          ZJN    IFC610      IF BIT 49 AND 50 IS NOT SET
          LCN    1R1-1R0     SET BARREL INDICATOR TO X1
IFC610    ADN    1R1-1R      SET BARREL INDICATOR TO X0
          RADL   T7
          LDML   F1CBY6      GET FAULT STATUS 1 BYTES 6 AND 7
          LPC    -FS1MSK2    CLEAR BITS 49 AND 50
          STML   F1CBY6      SAVE UPDATED FS1, BYTES 6 AND 7
          UJN    IFC580      GO TO CONTINUE FAULT STATUS 1 PROCESSING
FSBUFR    TITLE  FAULT STATUS 1 AND 2 TEMPORARY BUFFER
*         FAULT STATUS 1 AND 2 BUFFER.
*         F1N = FS1 NIO, F2N = FS2 NIO
*         F1C = FS1 CIO, F2C = FS2 CIO

FSBUFR    BSS    0           FAULT STATUS 1 AND 2 BUFFER
F1NBY0    BSS    0           FAULT STATUS 1, BYTE 0
F1NBY1    BSS    0           FAULT STATUS 1, BYTE 1
          CON    0           FAULT STATUS 1 WORD 1, BYTES 0 AND 1

F1NBY2    BSS    0           FAULT STATUS 1, BYTE 2
F1NBY3    BSS    0           FAULT STATUS 1, BYTE 3
          CON    0           FAULT STATUS 1 WORD 2, BYTES 2 AND 3

F1NBY4    BSS    0           FAULT STATUS 1, BYTE 4
F1NBY5    BSS    0           FAULT STATUS 1, BYTE 5
          CON    0           FAULT STATUS 1 WORD 3, BYTES 4 AND 5

F1NBY6    BSS    0           FAULT STATUS 1, BYTE 6
F1NBY7    BSS    0           FAULT STATUS 1, BYTE 7
          CON    0           FAULT STATUS 1 WORD 4, BYTES 6 AND 7

*         FAULT STATUS 2 -NIO- BYTE OFFSETS IN THE STATUS BUFFER.

F2NBY0    BSS    0           FAULT STATUS 2, BYTE 0
F2NBY1    BSS    0           FAULT STATUS 2, BYTE 1
          CON    0           FAULT STATUS 2 WORD 1, BYTES 0 AND 1

F2NBY2    BSS    0           FAULT STATUS 2, BYTE 2
F2NBY3    BSS    0           FAULT STATUS 2, BYTE 3
          CON    0           FAULT STATUS 2 WORD 2, BYTES 2 AND 3

F2NBY4    BSS    0           FAULT STATUS 2, BYTE 4
F2NBY5    BSS    0           FAULT STATUS 2, BYTE 5
          CON    0           FAULT STATUS 2 WORD 3, BYTES 4 AND 5

F2NBY6    BSS    0           FAULT STATUS 2, BYTE 6
F2NBY7    BSS    0           FAULT STATUS 2, BYTE 7
          CON    0           FAULT STATUS 2 WORD 4, BYTES 6 AND 7
          EJECT
*         FAULT STATUS 1 -CIO- BYTE OFFSETS IN THE STATUS REGISTER.

F1CBY0    BSS    0           FAULT STATUS 1, BYTE 0
F1CBY1    BSS    0           FAULT STATUS 1, BYTE 1
          CON    0           FAULT STATUS 1 WORD 1, BYTES 0 AND 1

F1CBY2    BSS    0           FAULT STATUS 1, BYTE 2
F1CBY3    BSS    0           FAULT STATUS 1, BYTE 3
          CON    0           FAULT STATUS 1 WORD 2, BYTES 2 AND 3

F1CBY4    BSS    0           FAULT STATUS 1, BYTE 4
F1CBY5    BSS    0           FAULT STATUS 1, BYTE 5
          CON    0           FAULT STATUS 1 WORD 3, BYTES 4 AND 5

F1CBY6    BSS    0           FAULT STATUS 1, BYTE 6
F1CBY7    BSS    0           FAULT STATUS 1, BYTE 7
          CON    0           FAULT STATUS 1 WORD 4, BYTES 6 AND 7

*         FAULT STATUS 2 -CIO- BYTE OFFSETS IN THE STATUS BUFFER.

F2CBY0    BSS    0           FAULT STATUS 2, BYTE 0
F2CBY1    BSS    0           FAULT STATUS 2, BYTE 1
          CON    0           FAULT STATUS 2 WORD 1, BYTES 0 AND 1

F2CBY2    BSS    0           FAULT STATUS 2, BYTE 2
F2CBY3    BSS    0           FAULT STATUS 2, BYTE 3
          CON    0           FAULT STATUS 2 WORD 2, BYTES 2 AND 3

F2CBY4    BSS    0           FAULT STATUS 2, BYTE 4
F2CBY5    BSS    0           FAULT STATUS 2, BYTE 5
          CON    0           FAULT STATUS 2 WORD 3, BYTES 4 AND 5

F2CBY6    BSS    0           FAULT STATUS 2, BYTE 6
F2CBY7    BSS    0           FAULT STATUS 2, BYTE 7
          CON    0           FAULT STATUS 2 WORD 4, BYTES 6 AND 7
F1NBTB    TITLE  FAULT STATUS 1 BIT TABLE FOR NIO FAULT SYMPTOM CODES
F1NBTB    BSS    0
          BITS   BT32+BT44,0  FAULT SYMPTOM CODE EQUALS 01
          BITS   BT32+BT47,0  FAULT SYMPTOM CODE EQUALS 02
          BITS   BT32,0       FAULT SYMPTOM CODE EQUALS 03
          BITS   BT33,0       FAULT SYMPTOM CODE EQUALS 04
          BITS   BT34,0       FAULT SYMPTOM CODE EQUALS 05
          BITS   BT35,0       FAULT SYMPTOM CODE EQUALS 06
          BITS   BT46,0       FAULT SYMPTOM CODE EQUALS 07
          BITS   BT36,BT55    FAULT SYMPTOM CODE EQUALS 08
          BITS   BT36,0       FAULT SYMPTOM CODE EQUALS 09
          BITS   BT37,BT48    FAULT SYMPTOM CODE EQUALS 10
          BITS   BT37,BT53    FAULT SYMPTOM CODE EQUALS 11
          BITS   BT37,0       FAULT SYMPTOM CODE EQUALS 12
          BITS   BT38,BT54    FAULT SYMPTOM CODE EQUALS 13
          BITS   BT38,BT55    FAULT SYMPTOM CODE EQUALS 14
          BITS   BT38,BT56    FAULT SYMPTOM CODE EQUALS 15
          BITS   BT39,BT52    FAULT SYMPTOM CODE EQUALS 16
          BITS   BT40,0       FAULT SYMPTOM CODE EQUALS 17
          BITS   BT41,0       FAULT SYMPTOM CODE EQUALS 18
          BITS   BT42,0       FAULT SYMPTOM CODE EQUALS 19
          BITS   BT43,0       FAULT SYMPTOM CODE EQUALS 20
          BITS   0,BT48+BT57  FAULT SYMPTOM CODE EQUALS 21
          BITS   0,BT55+BT57  FAULT SYMPTOM CODE EQUALS 22
          BITS   0,BT55+BT58  FAULT SYMPTOM CODE EQUALS 23
          BITS   0,BT53+BT59  FAULT SYMPTOM CODE EQUALS 24
          BITS   0,BT56+BT59  FAULT SYMPTOM CODE EQUALS 25
          BITS   0,BT59       FAULT SYMPTOM CODE EQUALS 26
          BITS   0,BT52+BT60  FAULT SYMPTOM CODE EQUALS 27
          BITS   0,BT54+BT60  FAULT SYMPTOM CODE EQUALS 28
          BITS   0,BT52+BT61  FAULT SYMPTOM CODE EQUALS 29
          BITS   0,BT54+BT61  FAULT SYMPTOM CODE EQUALS 30
          BITS   0,BT52+BT62  FAULT SYMPTOM CODE EQUALS 31
          BITS   0,BT54+BT62  FAULT SYMPTOM CODE EQUALS 32
          BITS   0,BT52+BT63  FAULT SYMPTOM CODE EQUALS 33
          BITS   0,BT54+BT63  FAULT SYMPTOM CODE EQUALS 34
          BITS   BT44,0       FAULT SYMPTOM CODE EQUALS 35
          BITS   BT45,0       FAULT SYMPTOM CODE EQUALS 36
          BITS   0,BT49       FAULT SYMPTOM CODE EQUALS 37
          BITS   0,BT50       FAULT SYMPTOM CODE EQUALS 37
          BITS   0,BT51       FAULT SYMPTOM CODE EQUALS 37
          BITS   0,BT63       FAULT SYMPTOM CODE EQUALS 38
          BITS   0,BT62       FAULT SYMPTOM CODE EQUALS 39
          BITS   0,BT61       FAULT SYMPTOM CODE EQUALS 40
          BITS   0,BT60       FAULT SYMPTOM CODE EQUALS 41
          BITS   0,BT58       FAULT SYMPTOM CODE EQUALS 42
          BITS   0,BT57       FAULT SYMPTOM CODE EQUALS 43
          BITS   BT39,0       FAULT SYMPTOM CODE EQUALS 44
          BITS   BT38,0       FAULT SYMPTOM CODE EQUALS 45
          BITS   BT47,0       FAULT SYMPTOM CODE EQUALS 46
          BITS   0,BT48       FAULT SYMPTOM CODE EQUALS 47
          BITS   0,BT52       FAULT SYMPTOM CODE EQUALS 48
          BITS   0,BT53       FAULT SYMPTOM CODE EQUALS 49
          BITS   0,BT54       FAULT SYMPTOM CODE EQUALS 60
          BITS   0,BT55       FAULT SYMPTOM CODE EQUALS 61
          BITS   0,BT56       FAULT SYMPTOM CODE EQUALS 62
F1NBTBL   EQU    *-F1NBTB     LENGTH OF THE FAULT STATUS TABLE
F1NFSCT   TITLE  FAULT STATUS 1 -NIO- FAULT SYMPTOM CODES
*         FAULT STATUS 1 -NIO- FAULT SYMPTOM CODES TABLE.

F1NFSCT   BSS    0
          DATA   H*01*       FAULT SYMPTOM CODE FOR BITS 32 AND 44
          DATA   H*02*       FAULT SYMPTOM CODE FOR BITS 32 AND 47
          DATA   H*03*       FAULT SYMPTOM CODE FOR BIT 32
          DATA   H*04*       FAULT SYMPTOM CODE FOR BIT 33
          DATA   H*05*       FAULT SYMPTOM CODE FOR BIT 34
          DATA   H*06*       FAULT SYMPTOM CODE FOR BIT 35
          DATA   H*07*       FAULT SYMPTOM CODE FOR BIT 46
          DATA   H*08*       FAULT SYMPTOM CODE FOR BITS 36 AND 55
          DATA   H*09*       FAULT SYMPTOM CODE FOR BIT 36
          DATA   H*10*       FAULT SYMPTOM CODE FOR BITS 37 AND 48
          DATA   H*11*       FAULT SYMPTOM CODE FOR BITS 37 AND 53
          DATA   H*12*       FAULT SYMPTOM CODE FOR BIT 37
          DATA   H*13*       FAULT SYMPTOM CODE FOR BITS 38 AND 54
          DATA   H*14*       FAULT SYMPTOM CODE FOR BITS 38 AND 55
          DATA   H*15*       FAULT SYMPTOM CODE FOR BITS 38 AND 56
          DATA   H*16*       FAULT SYMPTOM CODE FOR BITS 39 AND 52
          DATA   H*17*       FAULT SYMPTOM CODE FOR BIT 40
          DATA   H*18*       FAULT SYMPTOM CODE FOR BIT 41
          DATA   H*19*       FAULT SYMPTOM CODE FOR BIT 42
          DATA   H*20*       FAULT SYMPTOM CODE FOR BIT 43
          DATA   H*21*       FAULT SYMPTOM CODE FOR BITS 48 AND 57
          DATA   H*22*       FAULT SYMPTOM CODE FOR BITS 55 AND 57
          DATA   H*23*       FAULT SYMPTOM CODE FOR BITS 55 AND 58
          DATA   H*24*       FAULT SYMPTOM CODE FOR BITS 53 AND 59
          DATA   H*25*       FAULT SYMPTOM CODE FOR BITS 56 AND 59
          DATA   H*26*       FAULT SYMPTOM CODE FOR BIT 59
          DATA   H*27*       FAULT SYMPTOM CODE FOR BITS 52 AND 60
          DATA   H*28*       FAULT SYMPTOM CODE FOR BITS 54 AND 60
          DATA   H*29*       FAULT SYMPTOM CODE FOR BITS 52 AND 61
          DATA   H*30*       FAULT SYMPTOM CODE FOR BITS 54 AND 61
          DATA   H*31*       FAULT SYMPTOM CODE FOR BITS 52 AND 62
          DATA   H*32*       FAULT SYMPTOM CODE FOR BITS 54 AND 62
          DATA   H*33*       FAULT SYMPTOM CODE FOR BITS 52 AND 63
          DATA   H*34*       FAULT SYMPTOM CODE FOR BITS 54 AND 63
          DATA   H*35*       FAULT SYMPTOM CODE FOR BIT 44
          DATA   H*36*       FAULT SYMPTOM CODE FOR BIT 45
          DATA   H*37*       FAULT SYMPTOM CODE FOR BIT 49
          DATA   H*37*       FAULT SYMPTOM CODE FOR BIT 50
          DATA   H*37*       FAULT SYMPTOM CODE FOR BIT 51
          DATA   H*38*       FAULT SYMPTOM CODE FOR BIT 63
          DATA   H*39*       FAULT SYMPTOM CODE FOR BIT 62
          DATA   H*40*       FAULT SYMPTOM CODE FOR BIT 61
          DATA   H*41*       FAULT SYMPTOM CODE FOR BIT 60
          DATA   H*42*       FAULT SYMPTOM CODE FOR BIT 58
          DATA   H*43*       FAULT SYMPTOM CODE FOR BIT 57
          DATA   H*44*       FAULT SYMPTOM CODE FOR BIT 39
          DATA   H*45*       FAULT SYMPTOM CODE FOR BIT 38
          DATA   H*46*       FAULT SYMPTOM CODE FOR BIT 47
          DATA   H*47*       FAULT SYMPTOM CODE FOR BIT 48
          DATA   H*48*       FAULT SYMPTOM CODE FOR BIT 52
          DATA   H*49*       FAULT SYMPTOM CODE FOR BIT 53
          DATA   H*60*       FAULT SYMPTOM CODE FOR BIT 54
          DATA   H*61*       FAULT SYMPTOM CODE FOR BIT 55
          DATA   H*62*       FAULT SYMPTOM CODE FOR BIT 56
F2NFSCT   TITLE  FAULT STATUS 2 -NIO- FAULT SYMPTOM CODES
*         FAULT STATUS 2 -NIO- FAULT SYMPTOM CODES TABLE.

F2NFSCT   BSS    0
          DATA   H*7707*     CHANNEL EQUALS  7
          DATA   H*7706*     CHANNEL EQUALS  6
          DATA   H*7705*     CHANNEL EQUALS  5
          DATA   H*7704*     CHANNEL EQUALS  4
          DATA   H*7703*     CHANNEL EQUALS  3
          DATA   H*7702*     CHANNEL EQUALS  2
          DATA   H*7701*     CHANNEL EQUALS  1
          DATA   H*7700*     CHANNEL EQUALS  0
          DATA   H*7770*     CHANNEL EQUALS 17
          DATA   H*0   *     NOT AVAILABLE
          DATA   H*7715*     CHANNEL EQUALS 15
          DATA   H*0   *     NOT AVAILABLE
          DATA   H*7713*     CHANNEL EQUALS 13
          DATA   H*7712*     CHANNEL EQUALS 12
          DATA   H*7711*     CHANNEL EQUALS 11
          DATA   H*7710*     CHANNEL EQUALS 10
          DATA   H*7727*     CHANNEL EQUALS 27
          DATA   H*7726*     CHANNEL EQUALS 26
          DATA   H*7725*     CHANNEL EQUALS 25
          DATA   H*7724*     CHANNEL EQUALS 24
          DATA   H*7723*     CHANNEL EQUALS 23
          DATA   H*7722*     CHANNEL EQUALS 22
          DATA   H*7721*     CHANNEL EQUALS 21
          DATA   H*7720*     CHANNEL EQUALS 20
          DATA   H*50  *     MAC ERROR
          DATA   H*    *     NOT AVAILABLE
          DATA   H*51  *     RADIAL INTERFACE 4/5/6 ERROR
          DATA   H*52  *     RADIAL INTERFACE 1/2/3 ERROR
          DATA   H*7733*     CHANNEL EQUALS 33
          DATA   H*7732*     CHANNEL EQUALS 32
          DATA   H*7731*     CHANNEL EQUALS 31
          DATA   H*7730*     CHANNEL EQUALS 30
F2CFSCT   TITLE  FAULT STATUS 2 -CIO- FAULT SYMPTOM CODES
*         FAULT STATUS 2 -CIO- FAULT SYMPTOM CODES TABLE.

F2CFSCT   BSS    0
          DATA   H*7607*     CIO CHANNEL EQUALS  7
          DATA   H*7606*     CIO CHANNEL EQUALS  6
          DATA   H*7605*     CIO CHANNEL EQUALS  5
          DATA   H*7604*     CIO CHANNEL EQUALS  4
          DATA   H*7603*     CIO CHANNEL EQUALS  3
          DATA   H*7602*     CIO CHANNEL EQUALS  2
          DATA   H*7601*     CIO CHANNEL EQUALS  1
          DATA   H*7600*     CIO CHANNEL EQUALS  0
          DATA   H*0   *     NOT AVAILABLE
          DATA   H*0   *     NOT AVAILABLE
          DATA   H*0   *     NOT AVAILABLE
          DATA   H*0   *     NOT AVAILABLE
          DATA   H*0   *     NOT AVAILABLE
          DATA   H*0   *     NOT AVAILABLE
          DATA   H*7611*     CIO CHANNEL EQUALS 15
          DATA   H*7610*     CIO CHANNEL EQUALS 10

          QUAL   *
*         END    CTP$DFT MODEL 40 IOU FSC.
