*COMDECK CBGETWRD 
 GETWORD  EJECT 
**        GETWORD - GET NEXT 60 BITS OF A BOOLEAN BIT ITEM
* 
*         INPUT 
*                B3 - WORD ADDRESS
*                B4 - BIT LENGTH
*                X1 - BBP 
*         OUTPUT
*                B3 - NEW WORD ADDRESS
*                B4 - NEW BIT LENGTH
*                X6 - NEXT 60 BITS, BINARY ZERO FILL IF NECESSARY 
*                X1 - UNCHANGED 
          SPACE  3
 GETWORD  DATA   0
          SA2    B3 
          SB3    B3+B1
          SB2    X1 
          LX2    B2,X2       LEFT JUSTIFY 
          SX3    X1+B4       ENDING BIT POSITION
          SX6    60 
          IX7    X6-X3
          NG     X7,GW1      ITEM SPANS WORDS 
          MX0    1
          SB4    B4-B1
          AX0    B4,X0       LENGTH MASK
          SB4    B0 
          BX6    X0*X2
          EQ     GETWORD
          SPACE  3
 GW1      IX7    X6-X1       60-BBP 
          SB2    X7-1 
          MX0    1
          AX0    B2,X0
          BX6    X0*X2       PART OF ITEM FORM FIRST WORD 
          SA4    B3 
          SB5    60 
          SB2    X1 
          GE     B4,B5,GW2   60 OR MORE BITS
          SB6    X7 
          SB5    B4-B6       LENGTH - (60 - BBP)
          SB5    B5-B1
          MX0    1
          AX0    B5,X0
          BX2    X0*X4
          LX2    B2,X2
          BX6    X6+X2
          SB4    B0          END OF ITEM
          EQ     GETWORD
          SPACE  3
 GW2      SB4    B4-60
          ZR     X1,GETWORD 
          SB6    X1-1 
          MX0    1
          AX0    X0,B6
          BX2     X0*X4 
          LX2    B2,X2
          BX6    X6+X2
          EQ     GETWORD
