*COMDECK CBPUT10C 
 PUT10CH  EJECT 
**        PUT10CH - STORE 10 CHARACTERS IN DISPLAY ITEM 
* 
*         INPUT 
*                X1 - OFFSET DESTINATION
*                B3 - ADDRESS 
*                B4 - LENGTH DESTINATION
*                X6 - CHARACTERS TO STORE 
*         OUTPUT
*                B3 - NEW ADDRESS 
*                B4 - NEW LENGTH
 PUT10CH  DATA   0
          SX7    10 
          IX5    X7-X1
          SX3    6
          IX5    X3*X5
          SB2    X5 
          LX6    B2,X6       ALIGN SOURCE 
          SX3    X1+B4       ENDING CHARACTER POSITION
          IX2    X7-X3
          NG     X2,PUTCH1   DESTINATION SPANS WORDS
          SA3    B4+=XC.MASK
          LX3    B2,X3
          SA2    B3 
          BX7    -X3*X2 
          BX6    X3*X6
          BX6    X6+X7
          SA6    A2 
          SB4    B0          END DESTINATION
          EQ     PUT10CH
          SPACE  3
 PUTCH1   IX2    X7-X1       10 - BCP 
          SA5    =XC.MASK+X2
          LX0    B2,X5
          SA4    B3 
          BX7    -X0*X4 
          BX3    X0*X6
          BX7    X7+X3
          SA7    A4 
          SB5    10 
          GE     B4,B5,PUTCH2      10 OR MORE CHARACTERS
          SB6    X2 
          SB5    B4-B6       LENGTH - (10-BCP)
          SA5    C.MASK+B5
          BX6    X5*X6
          SA3    B3+B1
          BX3    -X5*X3 
          BX6    X6+X3
          SA6    A3 
          SB4    B0          END OF DESTINATION 
          EQ     PUT10CH
          SPACE  3
 PUTCH2   SB3    B3+B1
          SB4    B4-10
          ZR     X1,PUT10CH  ZERO BCP 
          SA5    =XC.MASK+X1
          SA4    B3 
          BX6    X5*X6
          BX4    -X5*X4 
          BX6    X6+X4
          SA6    A4 
          EQ     PUT10CH
