*COMDECK COMFECB   EVALUATE CONSTANT CHARACTER BIAS AND SUBSTRING.
          CTEXT  COMFECB - EVALUATE CONSTANT BIAS AND SUBSTRING 
**        ECB - EVALUATE CONSTANT CHARACTER BIAS. 
*         FORM WC. WORD INCLUDING OPERAND BIAS AND EQUIV. OFFSET. 
* 
*         ENTRY  (X2) = SYMTAB ORD
*                (X5) = BIAS, 60-BIT SIGNED 
*                (B2) = SYMTAB FWA
* 
*         EXIT   (X6) = WCA, WC. FORMAT 
*                (B7) = SYMBOL TABLE POINTER TO WHICH WCA APPLIES.
* 
*         PRESERVES  B4,B5,B6 
  
 ECB      SUBR   =
          SB7    X2 
          LX4    B1,X2
          IX2    X4+X2
          SX0    B2+X2
          =A4    X0+WB.W
          =A2    A4+WC.W-WB.W 
          BX1    X4 
          HX4    WB.EQV 
          MX0    -WC.CLENL
          LX1    -WB.MODEP
          MX6    -WB.MODEL
          LX2    -WC.CLENP
          BX3    -X0*X2      CLEN 
          BX1    -X6*X1      MODE[WB(ORD)]
          SX0    X1-M.CHAR
          ZR     X0,ECB5     IF MODE = CHAR 
          SX3    10          SIMULATE CHAR*10 
  
 ECB5     IX5    X5*X3
          LX2    WC.CLENP-WC.BCPP 
          MX0    -WC.BCPL 
          BX3    -X0*X2 
          IX6    X5+X3
          LX2    WC.BCPP
          MI     X4,ECB10    IF WB.EQV[ORD[OPD]]
          WX5    X6,X7
          MX0    -WC.RAL
          BX5    -X0*X5 
          MX0    -WC.BCPL-WC.RAL
          LX5    WC.RAP 
          LX7    WC.BCPP
          BX1    X5+X7
          BX2    X0*X2       CLEAR BCP AND RA 
          BX6    X2+X1       INSTALL NEW BCP AND RA 
          EQ     EXIT.
  
 ECB10    LX4    1+WB.EQVP-WB.BASEP 
          MX0    -WB.BASEL
          BX3    -X0*X4 
          SB7    X3 
          LX4    B1,X3
          MX0    -WC.BCPL 
          IX4    X3+X4
          SX4    B2+X4
          SA4    X4+WC.W
          LX4    -WC.BCPP 
          BX0    -X0*X4 
          IX6    X6+X0
          WX5    X6,X7
          LX5    -WC.RAL
          AX5    -WC.RAL     SIGN EXTEND CONSTANT RA
          MX0    WC.CLENL 
          LX0    WC.CLENL+WC.CLENP
          BX1    X0*X2       CLEN 
          LX2    -WC.RAL
          AX2    -WC.RAL     SIGN EXTEND
          IX2    X5+X2
          LX7    WC.BCPP
          MX0    -WC.RAL
          BX1    X7+X1
          BX2    -X0*X2 
          BX6    X1+X2
          EQ     EXIT.
 ECS      SPACE  4,8
**        ECS - EVALUATE CONSTANT SUBSTRING.
* 
*         ENTRY  X3 = SUBSTRING START CONSTANT
*                X4 = SUBSTRING END CONSTANT
*                X6 = WCA FOR BASE
*                B7 = SYMTAB POINTER TO WHICH WCA APPLIES 
* 
*         EXIT   X6 = WCA FOR SUBSTRING 
*                B7 - PRESERVED 
*                X7 = SUBSTRING LENGTH
* 
*         PRESERVES X5, A5, B4, B5, B6, B7
  
 ECS      SUBR   =
          SB3    X3-1 
          SB2    X4 
          SX7    B2-B3
          MX0    -WC.RAL
          BX1    X7 
          LX6    -WC.RAP
          BX3    -X0*X6 
          LX3    -WC.RAL
          AX3    -WC.RAL
          MX0    -WC.BCPL 
          LX6    WC.RAP-WC.BCPP 
          BX4    -X0*X6 
          SX6    X4+B3
          WX4    X6,X2
          IX3    X4+X3
          LX2    WC.BCPP
          LX1    WC.CLENP 
          BX2    X1+X2
          MX0    -WC.RAL
          BX3    -X0*X3 
          LX3    WC.RAP 
          BX6    X2+X3
          EQ     EXIT.
 COMFECB  ENDX
