******************************************************************
*        SUBROUTINE-ID: MBS
*        CRIBBED FROM FRCC LIBRARY: FEBRUARY, 1979 FOR
*                 FILESCAN BY RUTH DROZIN & JON ESCHINGER.
*        PURPOSE: THIS IS A FORTRAN 4 SUBROUTINE WHICH ALLOWS
*                 THE USER TO MOVE BYTE STRINGS OF DATA FROM
*                 ONE AREA TO ANOTHER. THE SUBROUTINE DOES NOT
*                 ALTER THE SOURCE BYTE STRING.
*
*        CALLING SEQUENCE*
*
*        CALL MBS   (ORIG,BYTE1,DEST,BYTE2,LENGTH)
*
*        WHERE:
*        ORIG IS THE WORD ADDRESS OF A INTEGER ARRAY OR VARIABLE
*        BYTE1 IS THE STARTING BYTE LOCATION - THE FIRST BYTE OF
*                 ORIG IS BYTE 1.
*        DEST IS THE WORD ADDRESS OF AN INTEGER ARRAY WHERE THE
*                 BYTE STRING IS TO BE MOVED TO.
*        BYTE2 IS THE STARTING BYTE WHERE THE BYTE STRING IS TO
*                 BE MOVED TO IN THE 'DEST' FIELD.
*        LENGTH IS AN INTEGER WORD THAT CONTAINS THE NUMBER OF
*                 BYTES TO BE MOVED. MAX = 255
*
*        NOTE: THIS SUBROUTINNE CANNOT BE USED WITH MULTI-
*                 DIMENSIONAL ARRAYS
*
******************************************************************
         SYSTEM   SIG7FDP
         SYSTEM   FORTLIB
         DEF      MBS
         REF      9SETUPN
MBS      EQU      $
         LI,ND    5
         BAL,LL   9SETUPN
         DATA     ORIG
         INTG     ORIGBYTE
         DATA     DEST
         INTG     DESTBYTE
         INTG     LENGTH
         LW,12    ORIG            LOAD ORIGINAL ADDRESS
         LW,13    DEST            LOAD DESTINATION ADDRESS
         SLS,13   2               SHIFT TO BYTE ADDRESS
         LW,10    *ORIGBYTE       COMPUTE BYTE DISPLACEMENT
         AI,10    -1
         AW,12    10
         LW,10    *DESTBYTE
         AI,10    -1
         AW,13    10
         LW,10    *LENGTH         LOAD BYTE COUNT INTO R13
         STB,10   13
         MBS,12   0
         B        *15
ORIG     DATA     0
ORIGBYTE DATA     0
DEST     DATA     0
DESTBYTE DATA     0
LENGTH   DATA     0
         END
