*COMDECK ISPOLD 
         NAM     ISPOLD 
          NLS 
*CALL MUXMACROS 
* 
* * *    CONSTANTS
* 
         EQU     SYNCD($16) 
         EQU     SYNCDE($96)
         EQU     WK2(A0WK2) 
         EQU     WK3(A0WK3) 
         EQU     WK4(A0WK4) 
         EQU     CRCHAR($0F)
         EQU     SDLCK($F0) 
         EQU     CNT1(1)
          EQU    MXFLG1($800) 
          EQU    STAT1(1) 
          EQU    STAT2(2) 
          EQU    STAT3(3) 
         EQU     STAT4(4) 
         EQU     STAT5(5) 
         EQU     STAT6(6) 
         EQU     STAT7(7) 
         EQU     STAT8(8) 
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*              ONLINE DIAGNOSTICS INPUT STATE POINTER TABLE           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
? 
         SPC     3
         ENT     ISPOLD 
ISPOLD   ADC     DCRC 
         ADC     DCDNG
         ADC     DCMUX
         ADC     DCMUX
         ADC     DSETC
         ADC     DCNT 
         ADC     DSYNC
         ADC     DSCNT
         ADC     DCNULL 
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*              ONLINE DIAGNOSTIC INPUT STATE 0                        * 
*              SDLC                                                   * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*    IF GOOD CRC CHAR (0F = GOOD CRC)                                  *
*      THEN SET STATE TO 4, TERM INP BUF                              * 
*    ELSE                                                              *
*      BUILD 01 WL, SET STATE TO 4.                                   * 
*    EXIT.                                                             *
************************************************************************
? 
         SPC     3
DCRC     CMPCLA  CRCHAR,DCRC1          CHECK FOR GOOD CRC STATUS
         STATE   STAT4                 IF GOOD, SET STATE TO 4, MAKE
         TIBWL   WK2,,,EXIT,DWLX1      GOOD DATA WORKLIST, AND EXIT.
DCRC1    BLD01   0                     ELSE MAKE STATUS WORKLIST, 
         STATE   STAT4,EXIT            SET STATE TO 4, EXIT.
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*              ONLINE DIAGNOSTIC INPUT STATE 1                        * 
*              DCD DROPPED (NOT USED)                                 * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
? 
DCDNG    NOPR    EXIT                  IGNORE 
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*              ONLINE DIAGNOSTIC INPUT STATES 2 AND 3                 * 
*              MUX BUFFER THRESHOLD,                                  * 
*              TOO MANY BUFFERS USED (NOT EXPECTED TO HAPPEN)         * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
? 
DCMUX    TIBWL   MMBUTCH               NOTIFY SYSTEM STATE
         STATE   STAT8                 TO DISCARD 
         BLDWL   WK4,,EXIT             TELL DIAG TO TERMINATE 
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*              ONLINE DIAGNOSTIC INPUT STATE 4                        * 
*              ASYNC AND SDLC                                         * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*    INITIAL CNT1, IF ASYNC JUMP TO STATE 5, IF SDLC INCREMENT        * 
*    CNT1 AND JUMP TO STATE 5                                         * 
************************************************************************
? 
         SPC     3
DSETC    INTCC   CNT1                  INITIALIZE COUNT 
         TSTMXF  MXFLG1,DSETC1         TEST FOR SDLC CLA
         JUMP    STAT5                 IF NOT SDLC, JUMP TO STATE 5 
DSETC1   ICC1    0                     IF SDLC, INCREMENT COUNT 
         JUMP    STAT5                 GO TO STATE 5
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*              ONLINE DIAGNOSTIC INPUT STATE 5                        * 
*              ASYNC AND SDLC                                         * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*    DECR CNT1.                                                        *
*    IF CNT1 " 0                                                       *
*      THEN STORE AND EXIT                                             *
*    ELSE                                                              *
*      IF SDLC (NCUOR1 SET)                                            *
*        THEN BUILD ERROR WL, SET STATE TO 4 AND EXIT                 * 
*      ELSE                                                            *
*        BUILD INP TERM WL, SET STATE TO 4 AND EXIT.                  * 
************************************************************************
? 
         SPC     3
DCNT     DCC     CNT1,DCNT1,STOREXIT
DCNT1    STATE   STAT4
         STORE
         TSTMXF  MXFLG1,DCNT2 
         TIBWL   WK2,,,EXIT,DWLX2 
DCNT2    TIBWL   WK3,,,EXIT,DWLX3 
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*              ONLINE DIAGNOSTIC INPUT STATE 6                        * 
*              SYNC                                                   * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*    INITIAL CNT1, SET STATE TO 7, EXIT.                              * 
************************************************************************
? 
         SPC     3
DSYNC    INTCC   CNT1 
         STATE  STAT7,EXIT
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*              ONLINE DIAGNOSTIC INPUT STATE 7                        * 
*              SYNC                                                   * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*    IF ODD PARITY SYNC CHAR ($16)                                     *
*      THEN DISCARD CHAR AND EXIT                                      *
*    ELSE                                                              *
*      IF EVEN PARITY SYNC CHAR ($96)                                  *
*        THEN DISCARD CHAR AND EXIT                                    *
*      ELSE                                                            *
*        DECR CNT1, STORE CHAR                                         *
*        IF CNT1 = 0                                                   *
*          THEN SET STATE 6, RESYNC CLA AND TERMINATE INPUT WL.       * 
*        EXIT.                                                         *
************************************************************************
? 
         SPC     3
DSCNT    CHARNE  SYNCD,DSCNT1 
         NOPR    EXIT 
DSCNT1   CHARNE  SYNCDE,DSCNT2
         NOPR    EXIT 
DSCNT2   DCC     CNT1,DSCNT3,STOREXIT 
DSCNT3   STATE  STAT6 
         STORE
         RESYNC 
         TIBWL   WK2,,,EXIT,DWLX4 
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*              ONLINE DIAGNOSTIC INPUT STATE 8                        * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*              DISCARD AFTER BUFFER REGULATION                        * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
? 
DCNULL   NOPR    EXIT 
         SPC     3
         END
