*COMDECK /GETDR/
          TITLE     GET$R 
 GET$R    CAP.RM
          OFF.RM    PRD,GET.R.OK
          SX6       123B
          EQ        =XERR$RM
          SPACE     1 
 GET.R.OK BSS       0 
          ON.RM     DEL,RDEL       JUMP OF SKIPFL 
          F.RM      MRL,X3
          SET.RM    RQS,X3
          SB6       RCONT 
          EQ        SCANR          FIND OUT WHERE RMK IS
          SPACE     1 
 RCONT    BSS       0 
          SB4       X2
          SX3       B3             FWA FOR MOVE$RM
          F.RM      BCC,B3         SOURCE OFFSET
          SB4       B4-B3          UNDO 
          F.RM      RQS 
          SX2       B4
          IX2       X1-X2 
          PL        X2,REXC        JUMP IF NOT TOO MANY CHARACTERS
          SB4       X1
          SET.RM    GEN,142B       EXCESS DATA
          MX4       0              SEE BELOW
          SX2       B0
 REXC     BSS       0 
          INC.RM    RL,B4 
          INC.RM    BL,B4 
          SET.RM    RQS,X2         RESTORE MAX NUMBER OF CHAR LEFT TOGO 
          F.RM      UWD,X5         SET PARAMETERS FOR MOVE
 .MD      IFNE      #BETA#,0
          F.RM      WSAB,X1        0=SCM WSA, 1=LCM WSA 
          LX1       21
          BX5       X5+X1          INCLUDE LCM FLAG WITH DEST. ADDR.
 .MD      ENDIF 
          F.RM      UCP,B5
          SB6       RMEND          IF RMK NOT FOUND, RETURN AT RMEND
          NG        X4,=XMOVE$RM
          SB6       RQED           IF RMK FOUND, RETURN AT RQED 
          EQ        =XMOVE$RM 
          SPACE     1 
 RMEND    BSS       0 
          SB6       RAEND 
          EQ        RQEDA 
  
 RAEND    BSS       0 
          SB6       RCONT 
          EQ        SCANRCC        LOOK FOR RMK (TAKE A SHORT CUT)
          SPACE     1 
 RQED     BSS       0 
          SB6       0 
 RQEDA    BSS 
          SB3       X3
          SET.RM    UWD,X5
          SET.RM    BCC,X4
          SET.RM    UCP,B4
          NZ        B6,=XGTMR$SQ   IF NEED MORE DATA (RMEND)
          F.RM      RL,X2 
          SET.RM    RRL,X2
          F.RM      GEN 
          ZR        X1,=XGXIT$SQ
          SX1       X1-142B 
          NZ        X1,=XGXIT$SQ
          SET.RM    DEL,1          ELSE DELETE EXCESS DATA
          SET.RM    GSF,0          SET FLAG FOR SKIP
          EQ        RDROP 
          SPACE     1 
 RDEL     BSS       0 
          SB6       RDELMORE
          EQ        SCANR          FIND RMK 
          SPACE     1 
 RDELMORE BSS       0 
          INC.RM    BL,X2          INCREMENT BLOCK LENGTH 
          SB3       A.TD           LWA OF SCAN
          PL        X4,RDELFIN     JUMP IF RMK FOUND
          SET.RM    BCC,0 
 RDROP    SB6       RDMC
          EQ        =XGTMR$SQ      GET MORE DATA
          SPACE     4,8 
 RDMC     BSS       0 
          SB6       RDELMORE
          EQ        SCANRCC        LOOK FOR MOR RMK (SHORT CUT) 
          SPACE     1 
 RDELFIN  BSS       0 
          SX7       B.BT-12B
          NZ        X7,NOTWBD      NOT ON WORD BOUNDARY 
          SB.BT     B0             SET BCC TO 0 
          SB3       B3+B1          POINT TO NEXT WORD 
NOTWBD    BSS       0 
          SET.RM    BCC,B.BT
          EQ        =XGXIT$SQ      EXIT 
          SPACE     1 
 SCANRCC  BSS       0              SHORTCUT-- BCC=0, X.TA= 10 RMK-S 
          SA.TD     B.HERE         FIRST WORD TO LOOK AT
          EQ        SCR$SQ         GO SCAN
          SPACE     1 
 SCANR    BSS       0 
          F.RM      BCC,X.TD       BEGINNING CHARACTER POSITION 
          IX2       X2+X.TD 
          IX.TE     X.TD+X.TD 
          LX.TD     2 
          IX.TE     X.TE+X.TD      *6 
          SB2       X.TE
          MX.TD     1 
          AX.TE     X.TD,B2 
          SA.TD     B.HERE         FIRST WORD 
          BX.TB     X.TE
          LX.TE     1 
          BX.TE     X.TB*X.TE 
          BX.TD     -X.TE*X.TD     MASK OUT PART OF FIRST WORD
          F.RM      RMK,TB
          NZ        X.TB,SCR$SQ 
          BX.TD     X.TE+X.TD      IF RMK=00, PAD WITH 77-S 
          EQ        SCR$SQ
* END /GETDR/ 
