PROGRAM SPMOVL C C Read the SPM CLF file and output overlay records. C C B. Z. Lederman 20-Feb-85 C IMPLICIT INTEGER (A-Z) BYTE INPFIL(40), TASK(6) REAL*8 RT INTEGER*2 INPT(250), EXC(2), ID, ABOFLG, TIUCB, DEV INTEGER*4 TIME, IDLE C EQUIVALENCE (TIME, EXC), (INPT(1), ID), (INPT(7), IDLE) EQUIVALENCE (INPT(6), TIUCB), (INPT(6), DEV) C COMMON /ABOCOM/ ABOFLG C DATA INPFIL / 40 * 0 / C C Turn off errors on record too short. C CALL ERRSET ( 67, .TRUE., .FALSE., .TRUE., .FALSE., 20) C C Clean exit on abort (needs external routine ABORT) C CALL ABOINI C WRITE (5, 100) 100 FORMAT ('$ Enter file name: ') READ (5, 110, END = 800) INPFIL 110 FORMAT ( 40A1) C OPEN (UNIT = 1, NAME = INPFIL, TYPE = 'OLD', ERR = 810, 1 FORM = 'UNFORMATTED', ACCESS = 'SEQUENTIAL', 2 READONLY, SHARED, RECORDTYPE = 'VARIABLE') C 200 IF (ABOFLG) GOTO 500 READ (1, ERR = 210, END = 500) INPT 210 IF (ID .NE. 48) GOTO 200 ! only want overlays C EXC(2) = INPT(2) ! swap high and low EXC(1) = INPT(3) ! words of timestamp RT = 0.00001 * TIME ! convert to real value CALL R50ASC( 6, INPT(4), TASK) ! convert task name C WRITE (5, 420) RT, TASK, INPT(7) 420 FORMAT( 1X, F12.5, 1X, 6A1, I6) GOTO 200 C 500 CLOSE (UNIT = 1) C 800 STOP C 810 STOP ' Error opening input file' C END