*COMDECK  COMFUSE 
          CTEXT   COMFUSE - PROCESS USE PSEUDO INSTRUCTION
PUSE      SPACE  4,10 
          IF     -DEF,QUAL$,1 
          QUAL   COMFUSE
          BASE   D
          SPACE  4,10 
**        PUSE - PROCESS USE PSEUDO.
* 
*         SWITCH *ORG* AND *PARCEL* COUNTERS, SAVING THE OLD
*         AND GETTING THE NEW.
*         ENTRY  (X7) = INSTRUCTION (USE PSEUDO)
* 
*         CAN NOT DESTROY - A0,4,5  X4,5  B2,3,4,5,6
  
  
 PUSE     SUBR   0           ENTRY/EXIT 
  
*         SAVE THE OLD. 
  
          SA2    =XCBI       CURRENT BLOCK INDEX
          MX6    -LB.PARCL
          MX0    -LB.ORGL 
          LX6    LB.PARCP 
          SB7    X2 
          SA3    =XORG
          SA1    =XF.LBT+B7  BLOCK BASE ADDRESS + INDEX 
          LX0    LB.ORGP
          BX0    X0*X6       MASK FOR LB.PARC + LB.ORG
          LX3    LB.ORGP     POSITION OLD ORG COUNTER 
          SA2    =XPARCEL 
          BX1    X0*X1       SAVE ALL BUT LB.ORG AND LB.PARC
          LX2    LB.PARCP 
          BX3    X2+X3       OLD PARCEL  +  ORG 
          BX6    X3+X1
          SA6    A1 
  
*         GET THE NEW.
  
          HX7    PB.BIAS
          AX7    -PB.BIASL   ISOLATE INDEX
          SB7    X7 
          SA1    =XF.LBT+B7  BLOCK BASE ADDRESS + INDEX 
          BX6    -X0*X1      ISOLATE NEW PARCEL AND ORG 
          HX1    LB.ORG 
          SA7    =XCBI       SAVE NEW INDEX 
          AX1    -LB.ORGL 
          BX7    X1 
          HX6    LB.PARC
          AX6    -LB.PARCL   NEW PARCEL COUNT 
          SA7    =XORG
          SA6    =XPARCEL 
          EQ     EXIT.
          SPACE  4,10 
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 PUSE     EQU    /COMFUSE/PUSE
 QUAL$    ENDIF 
 COMFUSE  ENDX
