*DECK PUTDDT
          IDENT     PUT$DT
          LIST      C,F,X 
          COMMENT   CRM SQ PUT D AND T RECORD PROCESSOR 
          ENTRY     PUT$D,PUT$T 
 PUT$DT   TITLE     PUT$DT
          SST 
          B1=1
*#
*1CD  PUT$DT
*0D   PURPOSE 
*0        CALCULATE RECORD LENGTH FOR D AND T RECORDS FOR PUT$SQ. 
*0D   CALL
*0                  SB5       RETURN-ADDRESS
*                   EQ        =YPUT$D (=YPUT$T) 
*0D   PARAMETERS
*0        A0        FIT ADDRESS.
*         B1        1.
*         B5        RETURN ADDRESS. 
*0D   ACTION
*0        FETCH LP(CP) AND LL(CL) FROM THE FIT. RETURN RECORD LENGTH
*         IN X3 = 
*0                  FOR RT=D, DISPLAY CODE FIELD LL CHARACTERS LONG 
*                             AT CHARACTER POSITION LP COUNTING FROM
*                             FIRST CHARACTER IN WSA. 
*0                  FOR RT=T, LET N = DISPLAY CODE FIELD CL CHARACTERS
*                   LONG AT CHARACTER POSITION CP COUNTING FROM 
*                   FIRST CHARACTER POSITION IN WSA.
*                   SET X3 = HL + N*TL. 
*0        IF CALCULATED RECORD LENGTH IS LESS THAN MNR OR GREATER 
*         THAN MRL, BRANCH TO ERR$RM TO ISSUE ERROR 167B. 
*0D   REGISTERS USED
*         ALL EXCEPT A0,B1,B5.  NOTE THAT B7 IS USED, CONTRARY
*         TO THE STANDARD CODING CONVENTIONS. 
*0D   OTHER CODE REQUIRED 
*0        PROGRAMS- ERR$RM
*         MACROS-   CAP.RM,F.RM,ON.RM,OFF.RM
*#
 BLANKS   DATA      10H 
 TENTH    DATA      0.10000000000001P48 
* CALL /PUTDDT/               /PUTDDT/ *COMDECK /PUTDDT/
*CALL /PUTDDT/
          END 
