*COMDECK PURGEUP - UPDATE CEOI AFTER PURGE
          CTEXT  PURGEUP
          LIST   X
PURGEUP   SPACE  4,10 
**
*         PURGEUP 
* 
*                UPDATE CURRENT EOI IN MST IF SLOT POSITION IS LESS 
*                THAN THE PRESENT CURRENT EOI.
* 
*         ENTRY  RBTC-RBTC+2 CONTAIN POINTER TO SLOT
* 
*         CALLS  MSTADR,CALPTR
* 
*         USES   BUF-BUF+4,D.Z4-D.Z5
* 
PURGEUP   ENM    X
          RJM  MSTADR 
          ADN    W.MSPFC
          CRM    BUF,D.PPONE
  
*CONVERT SLOT RBTA,RBTO,PRU TO PRU OFFSET IN D.Z4,D.Z5
  
EX.RBT    IF     DEF,CVRP.. 
          CVRP.. RBTA=RBTC,RBTO=RBTC+1,PRU=RBTC+2,RBT1=BUF+C.MSPFC,ERRA=
,PURUP
EX.RBT    ELSE   1
          CVRP   RBTA=RBTC,RBTO=RBTC+1,PRU=RBTC+2,RBT1=BUF+C.MSPFC,ERRA=
,PURUP
  
*COMPARE SLOT TO CURRENT EOI
* 
          LDM    BUF+C.MSCEOI      REMOVE WRAPAROUND BIT
          LPN    37B
          STD    D.Z0 
          LDD    D.Z4 
          LPN    37B
          SHN    12 
          LMD    D.Z5 
          SBN    8                 MINUS PRU OFFSET 
          MJN    PURUP
          STD    D.Z5 
          SHN    -12
          STD    D.Z4 
          SBD    D.Z0 
          MJN  PURGEUP2            CURRENT LESS THAN PREVIOUS, UPDATE 
          SHN    12 
          ADD    D.Z5 
          SBM    BUF+C.MSCEOI+1 
          PJN    PURGEUP1 
  
*UPDATE CURRENT EOI TO SLOT POSITION
* 
PURGEUP2  LDD    D.Z5 
          STM    BUF+C.MSCEOI+1 
          LDM    BUF+C.MSCEOI 
          SCN    77B
          LMD    D.Z4 
          STM    BUF+C.MSCEOI 
          RJM    MSTADR 
          ADN    W.MSPFC
          CWM    BUF,D.PPONE
PURGEUP1  UJK  PURGEUPX 
* 
PURUP     LDN    CODE21 
          RJM  ERR
          ENDX
          LIST   N
