This example also shows the control language to run in VM/CMS.
/* Test 32 bit headers */ 'exec cernlib' 'vfort out32 (noprint ' 'filedef iofile20 disk out32 data a4 ( recfm u lrecl 32400 block 32400' 'load out32 ( start ' 'erase load map ' 'erase out32 text a1' /*BEGIN OUT32 FORTRAN A3 */ DIMENSION IBUF(8100),A(50000) CALL EPINIT CALL EPSETW(20, 1,16200,IERR) CALL EPSETW(20, 2,100000,IERR) CALL EPSETW(20, 3, 32 ,IERR) CALL EPSETW(20,29, 1 ,IERR) C OUTPUT 4 long LOGICAL RECORDS C DO 10 I=1,4 NW=10000 * (I+1) CALL USER(A,NW,I) C ................................................. C ROUTINE -USER- HAS STORED NW VALUES IN A TO BE WRITTEN OUT. C ......................................... CALL EPOUTS(20,3,NW,A,IBUF,IERR) C IF(IERR.NE.0)STOP 1 10 CONTINUE C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C C THE FOLLOWING CALL IS ESSENTIAL C C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CALL EPCLOS(20,IBUF,IERR) C ......................................................... C FOLLOWING CALL ONLY NECESSARY ON SOME COMPUTERS (UNIVAC,IBM) C ON VM (AND MVS?) WE THINK THIS SHOULD BE EPRWND(20,IBUF,IERR) C WITH APPROPRIATE FILEDEF (IODD IN MVS) C ......................................................... C CALL EPEND(20,IBUF,IERR) CALL EPRWND(20,IBUF,IERR) IF(IERR.NE.0)STOP 2 STOP END SUBROUTINE USER(A,NW,I) INTEGER A(1) DO 10 J=1,NW A(J)=I 10 CONTINUE RETURN END