      PROGRAM PEKPOK
C
C     TO TEST DIRECT MEMORY OPERATIONS
C     OLYMPIC SOFTWARE  --  9/27/88
C
      EXTERNAL GETADR,MXFER,MXFER1,MCLR
C
      INTEGER*4 IS1,IS2
      INTEGER*2 IOF1,IOF2
      INTEGER*2 CDATA(1000),EDATA(1000)
      INTEGER*2 CDATA1(20)
      EQUIVALENCE (CDATA1(1),CDATA(1))
      DATA CDATA1/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
     1 17,18,19,20/
C
C***    GET CDATA ADDRESS
      CALL GETADR(CDATA,IS1,IOF1)
        WRITE(*,9)IS1,IOF1
 9      FORMAT(' CDATA IS AT: ',I6,':',I6)
        WRITE(*,10)(CDATA(I),I=1,20)
 10     FORMAT(' CDATA: ',20I3)
C
C***    GET EDATA ADDRESS
      CALL GETADR(EDATA,IS2,IOF2)
        WRITE(*,19)IS2,IOF2
 19     FORMAT(' EDATA IS AT: ',I6,':',I6)
        WRITE(*,20)(EDATA(I),I=1,20)
 20     FORMAT(' EDATA: ',20I3)
C
C***    MXFER DATA
      N=40
      CALL MXFER(IS1,IOF1,IS2,IOF2,N)
C
C***    MCLR DATA
      CALL MCLR(IS1,IOF1,N)
        WRITE(*,10)(CDATA(I),I=1,20)
        WRITE(*,20)(EDATA(I),I=1,20)
C
C***    MXFER1 DATA FROM MEMORY
      IOP=1
      CALL MXFER1(IOP,CDATA,IS2,IOF2,N)
        WRITE(*,10)(CDATA(I),I=1,20)
C
C***    MCLR DATA
      CALL MCLR(IS2,IOF2,N)
        WRITE(*,20)(EDATA(I),I=1,20)
C
C***    MXFER1 DATA TO MEMORY
      IOP=0
      CALL MXFER1(IOP,CDATA,IS2,IOF2,N)
        WRITE(*,20)(EDATA(I),I=1,20)
C
      STOP
      END


