*COMDECK /GETDDT/ 
 FWRD.RM  MICRO     1,,/36B/
 XREG.RM  MICRO     1,,/0/
 GET$DT   TITLE     GET$DT
 GET$DT   CAP.RM
 GET$D    BSS       0 
 GET$T    BSS       0 
          F.RM      MNR,4          FIND MINIMUM RECORD LENGTH 
          F.RM      UWD,5          FIND THE SINK ADDRESS
          F.RM      UCP,B5         FIND THE SINK BCP
          SX3       B3             SET SOURCE WORD ADDRESS
 .MD      IFNE      #BETA#,0
          F.RM      WSAB,X1        1=LCM WSA, 0=SCM WSA 
          LX1       21
          BX5       X5+X1          INCLUDE LCM FLAG IN SINK ADDRESS 
 .MD      ENDIF 
          F.RM      BCC,B3         FIND THE SOURCE BCP
 DTCONT   BSS       0 
          SB4       X4             SET MOVE CHAR COUNT
          SB6       DTLTM          SET MOVE EXIT ADDRESS
          IX6       X2-X4          AVAIL CHAR - MNR 
          PL        X6,DTMOVE      IV AVAIL, MOVE ALL 
          IX4       X4-X2          ELSE, REDUCE MNR BY AVAIL CHAR 
          SET.RM    RQS,X4         SAVE REMAINING MOVE COUNT
          SB4       X2             RESET MOVE CHAR COUNT
          SB6       DTTM           RESET MOVE EXIT ADDRESS
 DTMOVE   BSS       0                                                   0029   8
          SA6       SAVAIL         SAVE AMOUNT AVAILABLE
          INC.RM    RL,B4          INCREMENT RL BY MOVE AMOUNT
          INC.RM    BL,B4          INCREMENT BLOCK LENGTH BY MOVE AMOUNT
          EQ        =XMOVE$RM      GO MOVE AVAILABLE CHARACTERS 
          SPACE     1 
 DTTM     BSS       0 
          SB3       X3             RESET OUT TO NEXT AVAIL. WORD
          SET.RM    BCC,X4
          SX4       B4
          SB6       DTBXIT         SET BLOCKER EXIT ADDRESS 
 JPMCJ    BSS 
          EQ        =XGTMR$SQ      GET MORE DATA
          SPACE     4,8 
 DTBXIT   BSS       0 
          SB5       X4             DEST CHAR POSITION 
          SX3       B3             RESET SOURCE WORD ADDRESS
          SB3       B0             SOURCE CHAR POSITION 
          F.RM      RQS,4          RESET MOVE COUNT 
          EQ        DTCONT         GO MOVE REST OF MNR
          SPACE     1 
 DTLTM    BSS       0 
          SB3       X3             RESET OUT TO NEXT AVAIL. WORD
          SET.RM    BCC,X4         RESET BUFFER BCP 
          SET.RM    UWD,X5         SAVE WSA NEXT AVAIL. WORD
          SET.RM    UCP,B4         SAVE WSA BCP 
* CALL /DCDTDSQ/               /DCDTDSQ/*COMDECK /DCDTDSQ/
*CALL /DCDTDSQ/ 
          SPACE     1 
          SET.RM    RRL,X4         SAVE RECORD LENGTH 
          F.RM      MNR 
          BX5       X4             SAVE RL
          IX4       X4-X1          REDUCE RECORD SIZE BY MNR
          INC.RM    PTL,X1,,3      INCREMENT PTL BY AMOUNT MOVED
          ZR        X4,=XGXIT$SQ   EXIT, RECORD ALL MOVED 
          SA2       SAVAIL         REMAINING SPACE AVAILABLE
          NG        X4,ERR167      IF RECORD SHORTER THAN MNR 
          F.RM      MRL,3 
          IX7       X3-X5          CHECK RL .LE.MRL 
          NG        X7,ERR167 
          NZ        X2,=XRMU$SQ    CAN MOVE NOW 
          SB6       =XRMU$SQ
          EQ        JPMCJ 
 ERR167   SX6       167B
          EQ        =XERR$RM
  
 SAVAIL   CON       0 
* END /GETDDT/
