SIC has the following usage of Fortran logical unit numbers:
5 Input of Commands, shareable 6 Output of messages, shareableUnits 5 and 6 are respectively accessed via usual READ and WRITE instructions. In addition, the terminal is accessed via QIO on an assigned channel for keypad line editing. The associated logical names are FOR005 and FOR006 and the default assignments provided by the system VMS are:
ASSIGN SYS$INPUT FOR005 ASSIGN SYS$OUTPUT FOR006If you wish to be able to reassign the input or/and output of your program to a file, you should also make your input and output in the same way (or use the SIC_WPR, SIC_WPRN routine). If you mix READ(5,format) and WRITE(6,format) instructions with TYPE, ACCEPT, READ(*,format) or WRITE(*,format) instructions, you might experience some problems to properly re-assign input or output. As a hint for this, remember the default logical names for Input/Output on VAX/VMS :
Statement Fortran Log Name System Log Name READ(nnn,f) list FORnnn SYS$INPUT READ(*,f) list FOR$READ SYS$INPUT READ(f) list FOR$READ SYS$INPUT ACCEPT f,list FOR$ACCEPT SYS$INPUT WRITE(nnn,f) list FORnnn SYS$OUTPUT WRITE(*,f) list FOR$PRINT SYS$OUTPUT PRINT f,list FOR$PRINT SYS$OUTPUT TYPE f,list FOR$TYPE SYS$OUTPUT
The monitor uses additional logical units for the LOG file, for opening temporary files and for active macro's. These units are reserved dynamically by calls to the VAX-VMS appropriate services and do not interfere with any Fortran unit numbers used within the user program, except that a program may use too many logical units.