*COMDECK /RMUDSQ/ 
          SPACE     1 
 RMU$SQ   BSS       0 
          ON.RM     DEL,RMU0$SQ    GO SKIP
          OFF.RM    PRD,RMU1$SQ    SKIP IF NOT PARTIAL
          F.RM      RPTL
          F.RM      PTL,3 
          IX3       X1-X3          RPTL-PTL=AMT LEFT TO XFER THIS GETP
          IX5       X4-X3          REQ AMT-AMT LEFT THIS GETP 
          NG        X5,RMU1$SQ     MOVE REQ AMT 
          BX4       X3             MOVE AMT LEFT THIS GETP
          EQ        RMU1$SQ 
 RMU0$SQ  SPACE     4,8 
 RMU0$SQ  BSS       0 
          IX2       X2-X4          ELSE,
          PL        X2,ALLAV       IF REQUEST AVAIL, SKIP 
          IX4       X4+X2          RESTORE AMOUNT AVAIL                 004000
  
 ALLAV    BSS       0 
          BX5       X4
          INC.RM    BL,X5 
          PX7       X4             DIVIDE REQ BY TEN
          SA3       TENTH                                               000330
          FX7       X7*X3                                               000340
          UX7       X7             TO GET WORDS                         000350
          IX3       X7+X7                                               000360
          SB3       X7+B3                                               000370
          IX4       X4-X3 
          LX3       2 
          IX4       X4-X3          CALC REMAINDER 
          ZR        X4,CKCRF       IF ZERO, SKIP
          F.RM      BCC            FIND BUF CHAR POINTER
          IX4       X4+X1          ADD REMAINDER
          SX1       X4-10 
          NG        X1,SBCC        IF LESS THAN 10, SKIP
          BX4       X1             SET NEW BCC
          SB3       B3+B1          INC HERE 
 SBCC     BSS       0 
          SET.RM    BCC,X4         SAVE NEW BCC 
 CKCRF    BSS       0 
          MI        X2,SKIPMORE 
          F.RM      CRF 
          PL        X1,=XGXIT$SQ
          F.RM      RTJG,B6 
          EQ        =XAMAC$SQ 
  
 SKIPMORE BX4       -X2 
          SB6       RMU0$SQ 
          EQ        =XGTMR$SQ      GET MORE DATA
 RMU1$SQ  SPACE     4,8 
 RMU1$SQ  BSS       0 
          F.RM      UWD,5          PICK UP CURRENT POINTER TO WSA 
          F.RM      UCP,B5         PICK UP DESTINATION CHAR COUNT 
          F.RM      MRL            FIND MAX RECORD LENGTH 
          F.RM      RL,3           CHARACTERS TRANSFERED
          IX1       X1-X4          SUB CURRENT MOFE FROM MRL
          IX6       X1-X3          SUBTRACT RL FROM MRL 
          PL        X6,IRCC        IF POSITIVE DO NOT DECREASE REQUEST
          IX4       X4+X6          DECREASE CURRENT MOVE BY EXCESS
          SET.RM    GEN,142B
 IRCC     ZR        X4,=XGXIT$SQ   IF MOVE ZR, EXIT 
          SX3       B3             SET SOURCE ADDRESS 
          F.RM      BCC,B3         SET SOURCE BCP 
 RMUCONT  BSS       0 
          SB4       X4             SET MOVE CHAR COUNT
          SB6       RMULTM         SET MOVE EXIT
          IX1       X2-X4 
          PL        X1,IRCCM
          IX4       X4-X2          ELSE REDUCE CUR COUNT BY AVAIL 
          SET.RM    RQS,X4         SAVE REMAINING REQUEST SIZE
          SB4       X2             RESET MOVE OCUNT OT AVAIL COUNT
          SB6       RMUTM          RESET MOVE EXIT
 IRCCM    BSS       0 
.MD       IFNE      #BETA#,0
          F.RM      WSAB,X1        0=WSA IN SCM    1=WSA IN LCM 
          LX1       21
          BX5       X5+X1          INCLUDE LCM FLAG IN DESTINATION ADDR.
.MD       ENDIF 
          INC.RM    RL,B4          INCREMENT RL BY MOVE COUNT 
          INC.RM    BL,B4 
          INC.RM    PTL,B4
          EQ        =XMOVE$RM 
          SPACE     1 
 RMUTM    BSS       0 
          SB3       X3             RESET BUFFER WORD POINTER
          SET.RM    BCC,X4
          SX4       B4
          SB6       BLKXIT         SET BLOCKER EXIT 
          EQ        =XGTMR$SQ      GET MORE DATA
          SPACE     4,8 
 BLKXIT   BSS       0 
          SB5       X4             DEST CHAR POSITION 
          SX3       B3             SET SOURCE WORD ADDRESS
          SB3       B0             SOURCE CHAR POSITION 
          F.RM      RQS,4          FIND REMIAING REQUEST SIZE 
          EQ        RMUCONT        GO CONT READ 
          SPACE     1 
 RMULTM   BSS       0 
          SB3       X3             RESET BUFFER WORD POINTER
          SET.RM    BCC,X4         SAVE BUFFER CHAR POS 
          F.RM      GEN,X1,-142B   DELETE ONLY ON EXCESS DATA ERRORS
          ZR        X1,CKERR
          F.RM      CRF 
          PL        X1,=XGXIT$SQ   IF NOT CONTINUATION RECORD 
          OFF.RM    PRD,NXPIECE    JUMP IF NOT PARTIAL TO GET NEXT PIECE
          F.RM      PTL,3 
          F.RM      RPTL
          IX1       X1-X3 
          ZR        X1,=XGXIT$SQ   IF RESIDUAL PTL IS ZERO
 NXPIECE  BSS       0 
          SET.RM    UWD,X5         SAVE WSA WORD ADDRESS
          SET.RM    UCP,B4         SAVE WSA CHAR POS
          F.RM      RTJG,B6 
          EQ        =XAMAC$SQ      GO READ REST OF RECORD 
          SPACE     1 
 CKERR    BSS       0 
          F.RM      RRL,3 
          F.RM      RL
          IX4       X3-X1 
          SET.RM    DEL,1 
          SET.RM    GSF,0          SET FLAG TO SKIP 
          SB6       RMU0$SQ        SET RETURN 
          EQ        =XAMAC$SQ      GO GET NUMBER OF CHARACTERS AVAILABLE
