*DECK PUTDW 
          IDENT     PUT$W 
          LIST      C,F,X 
          COMMENT   CRM SQ PUT W-RECORD PROCESSOR 
          ENTRY     PUT$W,PUT$WI,PUT$WT,PUT$WF
          SST 
          B1=1
*#
*1CD  PUT$W 
*0D   PURPOSE 
*0        PERFORM RECORD INITIATION PROCEDURES FOR W-RECORD PUT-S.
*0D   CALL
*0                  SB5       RETURN-ADDRESS
*                   EQ        =YPUT$W 
*0        OR        EQ        =YPUT$WI
*0        OR        EQ        =YPUT$WT
*0        OR        EQ        =YPUT$WF
*0D   PARAMETERS
*0        A0        FIT ADDRESS.
*         B1        1.
*         X0        (FIT+"FWRD.RM") (PUT$WI). 
*         X2        RL FROM W-CONTROL WORD (PUT$WI).
*         B3        PIN (PUT$WI). 
*         X0        (FIT+"FWRD.RM") (PUT$WNB).
*         B3        PIN (PUT$WNB).
*         X0        (FIT+"FWRD.RM") (PUT$WT). 
*         B2        FIT FIELD WCR (ADDRESS OF W-CONTROL WORD) (PUT$WT). 
*         B3        PIN (PUT$WT). 
*         X4        BLOCK LENGTH (PUT$WF).
*0D   ACTION
*0        EACH ENTRY IS INDEPENDENT OF THE OTHERS. THE FUNCTIONS
*         PERFORMED BY EACH ARE AS FOLLOWS. 
*0                  PUT$W   - READ USER-SPECIFIED RECORD LENGTH (RRL) 
*                             FROM FIT INTO X3. 
*                   PUT$WI  - WRITE W-CONTROL WORD AT START OF A
*                             NEW W-RECORD. 
*                   PUT$WNB - WRITE A W-CONTINUATION CONTROL WORD 
*                             AT THE START OF A NEW BLOCK.
*                   PUT$WT  - TERMINATE A W-CONTINUATION RECORD.
*                   PUT$WF  - FLUSH A W-RECORD. 
*0        THE SUBROUTINE FORMWCW FORMS A W-CONTROL WORD FROM REGISTER 
*         INPUT AND STORES IT IN THE BUFFER.
*0D   REGISTERS USED
*0        ALL EXCEPT A0,B1,B6 
*0D   OTHER CODE REQUIRED 
*0        PROGRAMS- PUT$SQ,CHWR$RM,PUT$IC 
*         MACROS-   CAP.RM,F.RM,INC.RM,SET.RM,GET1.SQ,OFF.RM,BUFSP, 
*                   PRTY.SQ,BUFDEC,BUFINC 
*0D   NARRATIVE DESCRIPTION 
*#
 XREG.RM  MICRO     1,,/0/
 FWRD.RM  MICRO     1,,/36B/
* CALL /PUTDW/               /PUTDW/  *COMDECK /PUTDW/
*CALL /PUTDW/ 
  
*     CONVERT CHARACTER COUNT TO  6/UBC,18/WORDS
 CHWR     BSS 
          SX7       9              TO ROUND UP
          SA1       TENTH 
          IX7       X7+X3 
          PX7       X7
          FX1       X1*X7 
          SX1       X1             THEN CONVERT WHOLE WORDS BACK TO 
          IX7       X1+X1          CHARS (WDS*10) 
          LX1       3 
          IX7       X1+X7 
          AX1       3 
          IX3       X7-X3          AND SUBTRACT ORIGINAL RL (CHARS) 
          LX7       B1,X3          TO GET UNUSED CHARS
          IX3       X3+X7          THEN MULTIPLY THAT BY 6 TO GET 
          LX3       1+18           UNUSED BITS IN BITS 18-23 AND
          BX3       X3+X1          OR IN RL (WORDS) 
          JP        B5
 TENTH    CON       0.1P48+1
  
          END 
