*COMDECK COMPSCE
          CTEXT  COMPSCE - STATUS/CONTROL REGISTER ERROR PROCESSOR. 
          SPACE  4
          IF     -DEF,QUAL$,1 
          QUAL   COMPSCE
          COMMENT COPYRIGHT CONTROL DATA CORP. 1975.
          SPACE  4
***       SCE - STATUS/CONTROL REGISTER ERROR PROCESSOR.
*         A. J. BEEKMAN.     75/01/01.
          SPACE  4
***       COMPSCE CHECKS THE S/C REGISTER(S) FOR STATUS BITS THAT ARE 
*         SET.  WHEN A SET STATUS BIT IS FOUND, THE APPROPRIATE 
*         EXPLANATION OF THE ERROR IS ENTERED IN A BUFFER WHOSE 
*         BEGINNING AND ENDING ADDRESSES ARE SPECIFIED BY THE 
*         CALLING PROGRAM.  THE BEGINNING ADDRESS OF THE EXPLANATION
*         IS ENTERED IN TABLE TEMA (TABLE OF ERROR MESSAGE ADDRESSES).
*         TABLE TEMA HAS THE FOLLOWING FORMAT - 
* 
*  TEMA   12/ ADDR 1
*         12/ ADDR 2
*         12/  .
*         12/  .
*         12/  .
*         12/ ADDR N
*         12/  0
* 
*         WHERE  N IS THE TOTAL NUMBER OF STATUS BITS SET IN THE
*                  S/C REGISTER(S), 
*                ADDR 1 - ADDR N ARE FIRST WORD ADDRESSES OF ERROR
*                  MESSAGES IN THE EXPLANATION BUFFER (ADDR 1 IS
*                  THE FIRST WORD ADDRESS OF THE EXPLANATION BUFFER). 
* 
*         WHEN ALL THE STATUS BITS ARE CHECKED, TABLE TEMA IS 
*         TERMINATED BY A WORD OF ZEROS, AND THE LWA+1 OF THE FINAL 
*         EXPLANATION IN THE EXPLANATION BUFFER IS PASSED BACK TO THE 
*         CALLING PROGRAM.  THE FORMAT OF AN ENTRY IN THE EXPLANATION 
*         BUFFER IS - 
* 
*  ADDRX  6/ REG,6/ 
*         12/ BIT NUM 
*         6/  ,6/ *-* 
*         12/ MESSAGE X 
*         12/   . 
*         12/   . 
*         12/   . 
*         12/   0 
* 
*         WHERE  ADDRX = ADDRESS OF FIRST WORD OF ERROR MESSAGE,
*                REG = 0 IF CHANNEL 16 S/C REGISTER,
*                    = 1 IF CHANNEL 36 S/C REGISTER,
*                BIT NUM = STATUS BIT NUMBER, 
*                MESSAGE X = EXPLANATION OF ERROR.
* 
*         NOTES- 1) THIS COMMON DECK REQUIRES THAT THE CALLING
*                PROGRAM ALSO CALL COMMON DECK COMSSCR. 
* 
*                2) TABLE TEMA MAY BE UP TO 81 WORDS IN LENGTH
*                (ONE WORD PER STATUS ERROR BIT PLUS WORD OF ZEROS) 
*                IF TWO S/C REGISTERS EXIST.  IT IS UP TO THE 
*                CALLING PROGRAM TO RESERVE ENOUGH SPACE
*                FOR THIS TABLE.
*                FOLLOWING THE COMMON DECK FOR THIS TABLE.
* 
*         ENTRY  (A) = FWA OF ERROR MESSAGE BUFFER. 
*                (TE) = MESSAGE ADDRESS TABLE (TEMA) ADDRESS. 
*                (LW) = LENGTH OF ERROR MESSAGE BUFFER. 
*                (/CPA/OPTN) = HDT OPTION WORD. 
* 
*         EXIT   (FW) = LWA+1 OF FINAL ERROR MESSAGE IN BUFFER. 
*                (TE) = ADDRESS OF ZERO WORD IN TABLE TEMA. 
*                IF MESSAGE BUFFER FILLS BEFORE ALL STATUS BITS ARE 
*                CHECKED, (FW) = LWA+1 OF FINAL ERROR MESSAGE THAT
*                FITS ENTIRELY INTO THE BUFFER. 
* 
*         USES   C1,C2,AM,BT,BW,CB,FW,LW,RW,TE,WC,CT. 
  
  
*         INSTRUCTIONS USED AS CONSTANTS. 
  
  
 SHNI     EQU    1000        SHN INSTRUCTION
 LPNI     EQU    1200        LPN INSTRUCTION
 LDNI     EQU    1400        LDN INSTRUCTION
 LCNI     EQU    1500        LCN INSTRUCTION
 IANI     EQU    7000        IAN INSTRUCTION
 OANI     EQU    7200        OAN INSTRUCTION
  
  
*         ASSEMBLY CONSTANTS. 
  
  
 UBIT     EQU    47          BIT NUMBER OF A CHANNEL 16 BIT NOT IN USE
          SPACE  4
 SCE      SUBR               ENTRY/EXIT 
          STD    FW          SAVE FWA OF MESSAGE BUFFER 
          RAD    LW          CALCULATE LWA+1 OF BUFFER
  
*         SET *TUBT* AND *TNUB* FOR CY176, 176B, AND 17X MODEL D. 
          LDN    1
          STD    CT          INITIALIZE NOT USED BIT TABLE FLAG 
          LDC    FCTC+PPCT   TEST AND CLEAR BIT 84D 
          OAN.   CHSC+40B 
          IAN.   CHSC+40B 
          ZJN    SCE1.2      NOT MODEL B OR D 
          LDC    FCTB+PPCT   TEST BIT 84D 
          OAN.   CHSC+40B 
          IAN.   CHSC+40B 
          ZJN    SCE1.1      NOT MODEL B OR D, WAS IN 2X SPEED
          LDN    60B
          RAM    TNUB        SET NOT USED BITS FOR MODEL B OR D 
          LDN    0
          STD    CT          CLEAR NOT USED BIT TABLE FLAG
          STM    TUBT        CLEAR USED BITS IN TABLE * TUBT *
          LDC    LDNI 
          STM    SCE1.3      CLEAR CH36 USED BITS 
 SCE1.1   LDC    FCSB+PPCT   SET BIT 84D
          OAN.   CHSC+40B 
          IAN.   CHSC+40B 
 SCE1.2   LDM    /CPA/OPTN   CHECK FOR CYBER 176
          SHN    -11B 
          LPN    3
          ZJN    SCE1.4      IF NOT A CYBER 176 
 SCE1.3   LDN    60B         SET USED BITS IN TABLE * TUBT *
*         LDN    0           * MODIFIED FOR MODEL B * 
          STM    TUBT 
          LDN    0           CLEAR NOT USED BIT TABLE FLAG
          STD    CT 
          LDC    1777 
          STM    TUBT+1 
          LDC    PPEM        SET *PPU ERROR* FOR FLPP-S 
          STM    TEMF+TEMFA 
          LDC    LSEM        SET *LCM SECDED* ERROR 
          STM    TEMF+TEMFB 
          LDC    4000 
          STM    TEMF+TEMFB+1 
          UJN    SCE1 
 SCE1.4   LDD    CT 
          NJN    SCE1        IF NOT MODEL D 
          LDC    1274B
          STM    TNUB 
  
*         SET CHANNEL 16 IF NECESSARY.
  
 SCE1     LDM    SCEA        CHECK PRESENT CHANNEL
          LPN    20 
          ZJN    SCE2        IF CHANNEL 16
          LDN    16 
          RJM    CGC         CHANGE CHANNELS
 SCE2     LDN    0           SET ORIGINAL BIT NUMBER
          STD    BT 
          LDN    FCRD        READ WORD CODE 
          STD    RW 
  
*         READ WORD FROM STATUS/CONTROL REGISTER. 
  
 SCE3     LDN    0           SET BIT NUMBER WITHIN WORD 
          STD    BW 
          LDD    RW          READ WORD CODE 
 SCEA     OAN.   CHSC+40
*         OAN.   CHSC+40+20  (IF CHANNEL 36 CALL) 
 SCEB     IAN.   CHSC+40
*         IAN.   CHSC+40+20  (IF CHANNEL 36 CALL) 
          STD    WC 
          NJN    SCE5        IF STATUS BITS SET IN WORD 
 SCE4     AOD    RW          SET NEXT WORD
          LDN    14          SET BIT NUMBER 
          RAD    BT 
          SBN    NTEB 
          MJN    SCE3        IF NOT ALL STATUS BITS CHECKED 
          LJM    SCE32       JUMP IF NO SET STATUS BITS IN WORD 4 
  
*         CHECK FOR SET STATUS BITS IN WORD.
  
 SCE5     LDD    WC          GET NEXT BIT 
          SHN    21-0 
          STD    WC 
          MJN    SCE7        IF BIT SET 
 SCE6     AOD    BW          SET NEXT BIT IN WORD 
          SBN    14 
          MJN    SCE5        IF NOT END OF WORD 
          UJN    SCE4        LOOP TO SET NEXT WORD
  
*         FIND ERROR MESSAGE FOR SET STATUS BIT.
  
 SCE7     LDD    BT          SET CURRENT BIT NUMBER 
          ADD    BW 
          SBN    NTEB 
          MJN    SCE8        IF NOT ALL STATUS BITS CHECKED 
          LJM    SCE32       JUMP IF 4 BITS CHECKED IN WORD 4 
  
 SCE8     ADN    NTEB 
          STD    CB 
          SHN    1
          STD    C1 
  
*         SET *NOT USED* FOR CYBER 176 AND CHANNEL 36 UNUSED BITS.
  
          LDD    BW          SET UP SHIFT COUNT 
          ADN    6
          LMC    SHNI 
          STM    SCEC 
          STM    SCEF 
          LDM    SCEA        CHECK CHANNEL
          LPN    20 
          NJN    SCE9        IF NOT CHANNEL 16
          LDD    CT 
          NJN    SCE11       IF NO BITS HAVE CHANGED TO UNUSED
          LDM    TNUB,RW     READ NOT USED BIT MASK 
 SCEF     SHN    21-13       CHECK IF BIT NOT USED
*         SHN    21-13+BIT   (BIT NUMBER *BIT* IN WORD) 
          MJN    SCE10       IF BIT NOT USED
          UJN    SCE11       CHECK FOR INSERTION CODE 
  
 SCE9     LDM    TUBT,RW     READ CHANNEL 36 USED BIT MASK
 SCEC     SHN    21-13       CHECK IF BIT USED
*         SHN    21-13+BIT   (IF BIT NUMBER *BIT*)
          MJN    SCE11       IF BIT USED
 SCE10    LDC    UBIT*2      SET *NOT USED* MESSAGE 
          STD    C1 
  
*         CHECK FOR CODE TO INSERT IN SKELETON MESSAGE. 
  
 SCE11    LDM    TEMF,C1     READ ERROR MESSAGE ADDRESS 
          STD    AM 
          SBN    1           SET ADDRESS OF INSERTION CODE WORD NUMBER
          STD    C2 
          LDM    TEMF+1,C1   CHECK FOR INSERTION CODE 
          STD    C1 
          SHN    6
          NJN    SCE12       IF CODE
          LJM    SCE24       PROCESS NORMAL MESSAGE 
  
 SCE12    MJN    SCE13       IF SPECIAL MESSAGE 
          LJM    SCE22       INSERT CODE
  
*         SET UP CM SECDED ERROR MESSAGE. 
  
 SCE13    LDN    0           SET INCREMENT FOR MESSAGES 
          STD    C2 
          LDC    LSEM 
          LMD    AM 
          NJN    SCE14       IF CM SECDED ERROR 
          LJM    SCE20       PROCESS LCM SECDED ERROR 
  
 SCE14    LDM    QRNT,C2     SET *QUADRANT* IN MESSAGE
          STM    SEEM+15,C2 
          AOD    C2 
          SBN    5
          NJN    SCE14       IF NOT END OF INSERT 
          LDN    FCRD+CDSW   SET CM DOUBLE ERROR BIT CHECK
          OAN.   CHSC+40
          IAN.   CHSC+40
          STM    SCEG 
          LDN    FCRD+CMAW   OBTAIN QUADRANT AND CSU
          OAN.   CHSC+40
          IAN.   CHSC+40
          STD    C2          ISOLATE QUADRANT 
          SHN    -3 
          STD    C1 
          LDM    /CPA/OPTN
          SHN    -11
          LPN    3
          ZJN    SCE15       IF NOT A CYBER 176 
          LDD    C2 
          UJN    SCE16       OBTAIN QUADRANT NUMBER 
  
 SCE15    LDD    C1 
 SCE16    LPN    3
          ADC    2R 0        CONVERT TO DISPLAY CODE
          STM    SEEM+21     SET QUADRANT NUMBER IN MESSAGE 
          LDD    C1          ISOLATE CSU
          SHN    -2 
          LPN    1
          ADC    2R 0        CONVERT TO DISPLAY CODE
          STM    SEEM+25     SET CSU NUMBER IN MESSAGE
 SCE17    LDC    SSET        SET SINGLE BIT SECDED ERROR MESSAGE
          STD    C1 
          LDC    *           CHECK FOR SINGLE/DOUBLE BIT ERROR
*         LDC    XXXX        (XXXX = CONTENTS OF BYTE WITH DOUBLE BIT)
 SCEG     EQU    *-1
          SHN    21-3 
          PJN    SCE18       IF DOUBLE BIT NOT SET
          LDC    SDET        SET DOUBLE BIT MESSAGE 
          STD    C1 
 SCE18    LDN    0
          STD    C2 
 SCE19    LDI    C1          TRANSFER INSERT TO SECDED MESSAGE
          STM    SEEM+3,C2
          AOD    C1 
          AOD    C2 
          SBN    4
          NJN    SCE19       IF NOT END OF INSERT 
          LJM    SCE24
  
*         SET UP LCM SECDED ERROR MESSAGE.
  
 SCE20    LDM    BNKT,C2     SET *BANK* IN MESSAGE
          STM    SEEM+15,C2 
          AOD    C2 
          SBN    5
          NJN    SCE20       IF NOT END OF INSERT 
          STD    C2 
          LDN    FCRD+LDSW   SET LCM DOUBLE BIT ERROR CHECK 
          OAN.   CHSC+40
          IAN.   CHSC+40
          SHN    -1 
          STM    SCEG 
          LPN    3           ISOLATE SIZE BITS
          STD    C1 
          SHN    -1 
          ZJN    SCE21       IF NOT 2048K OF LCM (SIZE .LT. 2)
          LDN    FCRD+LCAW+1 READ SECOND LCM ERROR ADDRESS WORD 
          OAN.   CHSC+40
          IAN.   CHSC+40
          SHN    -6          OBTAIN UPPER BIT OF BANK NUMBER
          LPN    4
          STD    C2 
          SOD    C1          DECREMENT SIZE NUMBER
 SCE21    LDD    C1          SET UP MASK FOR BANK NUMBER
          SHN    1
          ADC    LPNI+1 
          STM    SCEH 
          LDN    FCRD+LCAW   READ FIRST LCM ERROR ADDRESS WORD
          OAN.   CHSC+40
          IAN.   CHSC+40
          SHN    -4          FORM BANK NUMBER 
 SCEH     LPN    1
*         LPN    3           (LCM SIZE = 1024K OR 2048K)
          ADD    C2 
          ADC    2R 0        CONVERT TO DISPLAY CODE
          STM    SEEM+17     SET BANK NUMBER IN MESSAGE 
          LJM    SCE17       SET SINGLE/DOUBLE BIT ERROR
  
*         PROCESS PP STOPPED ON PARITY ERROR MESSAGE. 
  
 SCE22    LDC    PMEM 
          LMD    AM 
          NJN    SCE23       IF NOT PP DETECTED PARITY ERROR
          LDC    2R P        PRESET MESSAGE FOR PP MEMORY ERROR 
          STM    PMEM+17
          LDC    2RPM 
          STM    PMEM+20
          LDC    2R.
          STM    PMEM+21
          LDC    FCTB+PCMP   CHECK FOR CM READ ERROR
 SCED     OAN.   CHSC+40
*         OAN.   CHSC+40+20  (IF CHANNEL 36 CALL) 
 SCEE     IAN.   CHSC+40
*         IAN.   CHSC+40+20  (IF CHANNEL 36 CALL) 
          ZJN    SCE23       IF NOT CM READ ERROR 
          LDC    2R C 
          STM    PMEM+17
          LDC    2RM. 
          STM    PMEM+20
          LDN    0
          STM    PMEM+21
  
*         SET INSERTION CODE IN ERROR MESSAGES. 
  
 SCE23    LDI    C2          GET WORD NUMBER FOR INSERTION CODE 
          ADD    AM          SET INSERTION CODE ADDRESS 
          STD    C2 
          LDD    C1          STORE INSERTION CODE IN MESSAGE
          STI    C2 
  
*         COPY MESSAGE TO BUFFER AND SET ADDRESS IN TABLE TEMA. 
  
 SCE24    LDD    FW          STORE BUFFER ADDRESS OF MESSAGE IN TEMA
          STI    TE 
          AOD    TE          ADVANCE TABLE INDEX
          LDD    FW          CHECK FOR END OF BUFFER
          ADN    3
          SBD    LW 
          MJN    SCE25       IF NOT END OF BUFFER 
          LJM    SCE30
  
 SCE25    LDM    SCEA        SET UP FIRST WORD OF MESSAGE 
          LPN    20 
          SHN    2
          ADC    2R0         SET DISPLAY CODED REGISTER NUMBER
          STI    FW 
          AOD    FW 
          LDN    0
          STD    C1 
 SCE26    LDD    CB          CONVERT BIT NUMBER TO DISPLAY CODE 
          SBN    12 
          MJN    SCE27       IF DECIMAL REMAINDER FOUND 
          STD    CB 
          AOD    C1          INCREMENT QUOTIENT 
          UJN    SCE26       LOOP FOR DECIMAL REMAINDER 
  
 SCE27    LDD    C1          STORE BIT NUMBER AS SECOND WORD
          SHN    6
          ADD    CB 
          ADC    2R00 
          STI    FW 
          AOD    FW 
          LDC    2R -        SET UP THIRD WORD OF MESSAGE 
          STI    FW 
          AOD    FW 
 SCE28    LDI    AM          TRANSFER MESSAGE TO BUFFER 
          STI    FW 
          ZJN    SCE29       IF END OF MESSAGE
          AOD    AM          INCREMENT TRANSFER ADDRESSES 
          AOD    FW 
          SBD    LW 
          MJN    SCE28       IF NOT END OF BUFFER 
          UJN    SCE30
  
 SCE29    AOD    FW          SET BUFFER ADDRESS FOR NEXT MESSAGE
          SBD    LW 
          PJN    SCE31       IF END OF BUFFER 
          LJM    SCE6        LOOP FOR NEXT BIT
  
*         SET ZERO WORD AT END OF TABLE TEMA. 
  
 SCE30    SOD    TE          SET ADDRESS FOR ZERO WORD IN TABLE TEMA
          LDI    TE          SET LWA+1 OF LAST MESSAGE IN BUFFER
          STD    FW 
 SCE31    LDN    0           STORE ZERO WORD
          STI    TE 
          LJM    SCEX        RETURN 
  
*         SET CHANNEL 36 REGISTER IF TO BE CHECKED. 
  
 SCE32    LDM    SCEA        CHECK REGISTER CHANNEL 
          LPN    20 
          ZJN    SCE33       IF NOT BOTH REGISTERS CHECKED
          UJN    SCE31
  
 SCE33    IJM.   SCE31,20    IF NOT 20 PPS
          LDM    /CPA/PPP1
          NJN    SCE31       IF NOT 20 PPS
          LDN    36 
          RJM    CGC         CHANGE CHANNELS
          LJM    SCE2        LOOP TO CHECK CHANNEL 36 S/C REGISTER
 CGC      SPACE  4,5
**        CGC - CHANGE CHANNELS.
* 
*         ENTRY  (A) = CHANNEL NUMBER.
* 
*         USES   C2.
  
  
 CGC      SUBR               ENTRY/EXIT 
  
*         CHANGE CHANNEL IN I/O INSTRUCTIONS. 
  
          ADC    OANI+40     CHANGE CHANNEL 
          STM    SCEA 
          STM    SCED 
          LMC    IANI&OANI
          STM    SCEB 
          STM    SCEE 
          LPN    20 
          ZJN    CGC1        IF CHANGE TO CHANNEL 16
  
*         CHANGE PPU AND CHANNEL NUMBERS IN TABLE *TEMF*. 
  
          LDC    LDNI+20     CHANGE TO CHANNEL 36 INSTRUCTION 
          UJN    CGC2 
  
 CGC1     LDC    LCNI+20     CHANGE TO CHANNEL 16 INSTRUCTION 
 CGC2     STM    CGCA 
          LDC    TEMF+TEMFC  CHANGE PPU AND CHANNEL MESSAGE NUMBERS 
          STD    C2 
 CGC3     LDN    20 
 CGCA     EQU    *-1
*         LCN    20          (IF CHANGING TO CHANNEL 16)
          SHN    3
          RAI    C2 
          LDN    2
          RAD    C2 
          ADC    -TEMF-TEMFD-1
          MJN    CGC3        IF NOT ALL INSERTION CODES CHANGED 
          LJM    CGCX        RETURN 
          SPACE  4,10 
**        TNUB - TABLE OF NOT USED BITS.
* 
*         ENTRY  ONE WORD FOR EACH OF FIRST FOUR WORDS OF CHANNEL 16
*                S/C REGISTER ON A CYBER 176.  EACH BIT CORRESPONDS TO
*                A BIT IN THE S/C REGISTER.  IF SET IN THE MASK, THAT 
*                CORRESPONDING BIT IS CURRENTLY NOT USED ON A 176.
*                MASK FOR BITS 0 - 11 IS MODIFIED FOR A 17X MODEL D.
  
  
 TNUB     BSS    0
          LOC    0
          CON    7114        BITS 0 - 11
*         CON    1274B       (17X MODEL D MASK) 
          CON    6000        BITS 12 - 23 
          CON    0000        BITS 24 - 35 
          CON    1400        BITS 36 - 39 
          LOC    *O 
          SPACE  4
**        TUBT - TABLE OF USED CHANNEL 36 BITS. 
* 
*         ENTRY - ONE WORD FOR EACH OF FIRST FOUR WORDS OF CHANNEL 36 
*                S/C REGISTER.  EACH BIT CORRESPONDS TO A BIT IN THE
*                S/C REGISTER.  IF SET IN THE MASK, THAT CORRESPONDING
*                BIT IS CURRENTLY IN USE IN THE CHANNEL 36 S/C REGISTER.
  
  
 TUBT     BSS    0
          LOC    0
          CON    4060        BITS 0 - 11
*         CON    0060        (CYBER 176 MASK) 
*         CON    0           (CYBER 176 MOD B OR CYBER 17X MOD D MASK)
          CON    7777        BITS 12 - 23 
*         CON    1777        (CYBER 176 MASK) 
          CON    7777        BITS 24 - 35 
          CON    0           BITS 36 - 39 
          LOC    *O 
          SPACE  4
**        TEMF - TABLE OF ERROR MESSAGE FORMAT ADDRESSES. 
* 
*         ENTRY  TWO WORDS, INDEXED BY BIT NUMBER, IN FORMAT -
* 
*         12/  ADDR 
*         12/  CODE 
* 
*                WHERE ADDR = ERROR MESSAGE ADDRESS,
*                      CODE = DISPLAY CODE TO BE INSERTED IN MESSAGE. 
*                             UPPER BIT SET REPRESENTS SECDED ERROR 
*                             MESSAGE.
  
  
 TEMF     BSS    0
          LOC    0
          CON    RPEM,0      READ PYRAMID PARITY ERROR
          CON    CAEM,2R0    CSU 0 ADDRESS PARITY ERROR 
          CON    CAEM,2R1    CSU 1 ADDRESS PARITY ERROR 
          CON    SEEM,4000B  SECDED ERROR 
 TEMFA    CON    NUEM,0      NOT USED 
*         CON    PPEM,0      (PPU ERROR FOR FLPP-S - CYBER 176) 
          CON    CMEM,0      CMC PARITY ERROR 
          CON    DREM,0      PE ON DATA RECEIVED FROM EXTERNAL CHANNEL
          CON    DTEM,0      PE ON DATA TRANSMITTED FROM EXTERNAL PP
          CON    MTEM,2R0    CSU 0 FAULT
          CON    MTEM,2R1    CSU 1 FAULT
          CON    ESEM,0      ERROR IN SECOND PPS
 TEMFB    CON    ECEM,0      ECS ERROR
*         CON    LSEM,4000   (LCM SECDED ERROR - CYBER 176) 
          CON    PREM,2R0    CPU 0 P REGISTER PARITY ERROR
          CON    PREM,2R1    CPU 1 P REGISTER PARITY ERROR
          CON    PMEM,2R00   PP00 MEMORY PARITY ERROR (PP20)
 TEMFC    EQU    *-1
          CON    PMEM,2R01   PP01 STOPPED ON PARITY ERROR (PP21)
          CON    PMEM,2R02   PP02 STOPPED ON PARITY ERROR (PP22)
          CON    PMEM,2R03   PP03 STOPPED ON PARITY ERROR (PP23)
          CON    PMEM,2R04   PP04 STOPPED ON PARITY ERROR (PP24)
          CON    PMEM,2R05   PP05 STOPPED ON PARITY ERROR (PP25)
          CON    PMEM,2R06   PP06 STOPPED ON PARITY ERROR (PP26)
          CON    PMEM,2R07   PP07 STOPPED ON PARITY ERROR (PP27)
          CON    PMEM,2R10   PP10 STOPPED ON PARITY ERROR (PP30)
          CON    PMEM,2R11   PP11 STOPPED ON PARITY ERROR (PP31)
          CON    CPEM,2R00   CHANNEL 00 PARITY ERROR (20) 
          CON    CPEM,2R01   CHANNEL 01 PARITY ERROR (21) 
          CON    CPEM,2R02   CHANNEL 02 PARITY ERROR (22) 
          CON    CPEM,2R03   CHANNEL 03 PARITY ERROR (23) 
          CON    CPEM,2R04   CHANNEL 04 PARITY ERROR (24) 
          CON    CPEM,2R05   CHANNEL 05 PARITY ERROR (25) 
          CON    CPEM,2R06   CHANNEL 06 PARITY ERROR (26) 
          CON    CPEM,2R07   CHANNEL 07 PARITY ERROR (27) 
          CON    CPEM,2R10   CHANNEL 10 PARITY ERROR (30) 
          CON    CPEM,2R11   CHANNEL 11 PARITY ERROR (31) 
          CON    CPEM,2R12   CHANNEL 12 PARITY ERROR (32) 
          CON    CPEM,2R13   CHANNEL 13 PARITY ERROR (33) 
 TEMFD    EQU    *-1
          CON    PFEM,0      MAINS POWER FAILURE
          CON    SIEM,0      SHUTDOWN IMMINENT
          CON    NUEM,0      NOT USED 
          CON    NUEM,0      NOT USED 
          LOC    *O 
  
  
*         ERROR MESSAGE FORMATS.
  
 RPEM     DATA   C*READ PYRAMID PARITY ERROR.*
          CON    2
 CAEM     DATA   C*CSU   ADDRESS PARITY ERROR.* 
 LSEM     DATA   H*LCM *
 SEEM     DATA   C*SECDED        BIT ERROR - QUADRANT   , CSU  .* 
 PPEM     DATA   C*PPU ERROR.*
 CMEM     DATA   C*CMC PARITY ERROR.* 
 DREM     DATA   C*PARITY ERROR ON DATA RCVD FROM EXT CHANNEL.* 
 DTEM     DATA   C*PARITY ERROR ON DATA XMTD FROM EXTERNAL PP.* 
          CON    2
 MTEM     DATA   C*CSU   FAULT.*
 ESEM     DATA   C*ERROR IN SECOND PPS.*
 ECEM     DATA   C*ECS ERROR.*
          CON    2
 PREM     DATA   C*CPU   P REGISTER PARITY ERROR.*
          CON    1
 PMEM     DATA   C*PP   STOPPED ON PARITY ERROR - PPM.* 
          CON    4
 CPEM     DATA   C*CHANNEL    PARITY ERROR.*
 PFEM     DATA   C*MAINS POWER FAILURE.*
 SIEM     DATA   C*SHUTDOWN IMMINENT.*
 NUEM     DATA   C*NOT USED.* 
 SSET     DATA   8H SINGLE
 SDET     DATA   8H DOUBLE
 BNKT     DATA   C*BANK  .* 
 QRNT     DATA   H*QUADRANT  *
          SPACE  4
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 SCE      EQU    /COMPSCE/SCE 
 QUAL$    ENDIF 
          ENDX
