d SUBROUTINE RD370(LRECRD) CHANGES MADE 08-JAN-1980 *** ,C C SUBROUTINE TO DO THE ACTUAL READ FROM 'TAPE'. C X IMPLICIT INTEGER*2 (I-N)  LOGICAL*1 LRECRD(1),INPUT(8000),OK  COMMON /GHCITP/ IRC,IBC,LUNMT,LUNTT,ILRECL,IBLKSZ,IOSTAT(5),  1 IFN(17),IVOL(6),TRAN,LAB,IEOF  LOGICAL*1 IFN,TRAN,LAB,IEOF,IVOL L DATA IORLB/'21'X/,INORM/1/,IENDF/'870'X/  1 FORMAT (' ERROR IN READ ***'/'0CODE ='Z6,','I6,  1 ' BYTES TRANSFERRED'/'$SHALL WE CONTINUE READING? (T/F) ') x 2 FORMAT (L1)  IEOF = .FALSE. @ IF (IRC .LT. IBLKSZ) GO TO 40 C AND NOW TO READ A RECORD  CALL SYS$QIOW(,%VAL(LUNMT),%VAL(IORLB),IOSTAT,,,INPUT, l 1 %VAL(IOSTAT(5)),,,,)  IF (IOSTAT(1) .EQ. INORM) GO TO 30 4C CHECK FOR EOF  IF (IOSTAT(1) .EQ. IENDF) GO TO 20  WRITE (LUNTT,1) IOSTAT(1),IOSTAT(2) ` READ (LUNTT,2) OK IF (OK) GO TO 30 ( 20 IEOF = .TRUE. RETURN 30 IBC = IBC + 1 T IBLKSZ = IOSTAT(2) !USE ACTUAL BLOCKSIZE IRC = 0  40 IF (TRAN) GO TO 50 DO 45 J=1,ILRECL 45 LRECRD(J) = INPUT(IRC+J) H GO TO 70 50 CALL EBTASC(ILRECL,INPUT(IRC+1),LRECRD)  70 IRC = IRC + ILRECL t RETURN  END