*DECK FILLC 
          IDENT  FILLC
          TITLE  FILLC - CHARACTER FILL 
*         FILLC - CHARACTER FILL
* 
*         CALLING SEQUENCE
*                FILLC(CHAR,BASE,OFFSET,LENGTH);
* 
*         INPUT 
*                CHAR - WORD OF IDENTICAL CHARACTERS TO BE REPLICATED 
*                BASE - ADDRESS TO START REPLICATING
*                OFFSET - OFFSET FROM BASE
*                LENGTH - NUMBER OF CHARACTERS TO REPLICATE 
* 
*         DOES - REPLICATES CHAR THROUGH AREA AT BASE + OFFSET
*                FOR LENGTH CHARACTERS
* 
          ENTRY  FILLC
 FILLC    DATA   0
          SB1    1
          SA2    X1          CHAR 
          SA1    A1+B1
          SB2    X1          BASE 
          SA1    A1+B1
          SA3    X1          OFFSET 
          SA1    A1+B1
          SA4    X1          LENGTH 
*    CONVERT OFFSET TO BCP AND UPDATE BASE
          SX5    314632B     (1/10)*2**20 
          IX5    X3*X5
          AX5    20 
          ZR     X5,FILLC1
          SB2    B2+X5       NEW BASE 
          IX6    X5+X5
          LX5    3
          IX6    X6+X5
          IX3    X3-X6       NEW BCP
 FILLC1   IX7    X3+X4       BCP + LENGTH 
          SX6    X7-11
          PL     X6,FILLC2   MORE THAN ONE WORD 
          SA1    X4+MASKS 
          IX7    X3+X3
          IX6    X3+X7
          LX6    1           6*BCP
          SB3    X6-60
          SB4    B0-B3       60-6*BCP 
          LX1    B4,X1       POSITION MASK
          SA5    B2          INSERT CHARACTERS
          BX6    -X1*X5 
          BX7    X1*X2
          BX6    X6+X7
          SA6    A5 
          EQ     FILLC
          SPACE  3
 FILLC2   SX7    10 
          IX0    X7-X3       10-BCP 
          SA1    X0+MASKS 
          IX7    X3+X3
          IX6    X3+X7
          LX6    1
          SB3    X6-60
          SB4    B0-B3       60-6*BCP 
          LX1    B4,X1
          SA5    B2          INSERT CHARACTER 
          BX6    -X1*X5 
          BX7    X1*X2
          BX6    X7+X6
          SA6    A5 
          SB2    B2+B1
          IX4    X4-X0       DECREMENT LENGTH 
          BX7    X2 
 FILLC3   SX4    X4-10
          NG    X4,FILLC4 
          SA7    B2          STORE CHARACTERS 
          SB2    B2+B1
          EQ     FILLC3 
          SPACE  3
 FILLC4   SX4    X4+10
          ZR     X4,FILLC    DONE 
          SA1    X4+MASKS 
          SA5    B2          INSERT CHARACTERS
          BX6    -X1*X5 
          BX3    X1*X2
          BX7    X3+X6
          SA7    A5 
          EQ     FILLC
          SPACE  3
          ENTRY  C.MASK 
 MASKS    DATA   0
          DATA   77000000000000000000B
          DATA   77770000000000000000B
          DATA   77777700000000000000B
          DATA   77777777000000000000B
          DATA   77777777770000000000B
          DATA   77777777777700000000B
          DATA   77777777777777000000B
          DATA   77777777777777770000B
          DATA   77777777777777777700B
          DATA   77777777777777777777B
 C.MASK   EQU    MASKS
          END 
