*DECK TXTPUT
USETEXT COMCBEG 
USETEXT COMCAPR 
USETEXT COMCCAE 
USETEXT COMQDEF 
USETEXT COMQTXT 
    PROC TXTPUT(BUFFER,(TEXTFWA),(TEXTLENGTH)); 
      BEGIN    # TXTPUT # 
# 
**    TXTPUT     PUT TEXT FROM ARRAY INTO BUFFER. 
* 
*     PROC TXTPUT(BUFFER,(TEXTFWA),(TEXTLENGTH))
* 
*     ENTRY      TEXTFWA = POINTER TO ARRAY CONTAINING TEXT.
*                TEXTLENGTH = TEXT LENGTH (IN CHARACTERS) 
*                ACN = AFT ENTRY INDEX. 
* 
*     EXIT       BUFFER = POINTER TO TEXT BUFFER
*                TEXT MOVED TO BUFFER.
* 
*     PROCESS    SEE ENTRY/EXIT.
# 
  
      ITEM BUFFER     U;           # POINTER TO TEXT BUFFER # 
      ITEM TEXTFWA    U;           # POINTER TO TEXT ARRAY #
      ITEM TEXTLENGTH U;           # TEXT LENGTH IN CHARACTERS #
  
# 
****  XREF
# 
      XREF
        BEGIN 
        PROC MOVEI;                # MOVE WORDS # 
        PROC NAME;                 # DEBUG CODE # 
        PROC TXTGBUF;              # GET EMPTY TEXT BUFFER #
        END 
  
# 
****  XREF END
# 
  
  
  
        $BEGIN
        NAME("TXTPUT"); 
        $END
  
      IF TEXTLENGTH GT LTXTBFC     # IF TOO MUCH TEXT # 
      THEN
        BEGIN 
        TEXTLENGTH = LTXTBFC; 
        END 
  
      TXTGBUF;                     # GET EMPTY TEXT BUFFER #
      TXTBUF$USE = TEXTLENGTH;
      BUFFER = P<TXTBUF>; 
      MOVEI( ( (TXTBUF$USE+9) / 10), TEXTFWA, LOC(TXTBUF$TXT) );
  
      END  # TXTPUT # 
    TERM
