FORTRAN Reference Manual

Memory Organization
FORTRAN Reference Manual528615-001
12-7
Storage Areas
CONTROL Storage Areas With ENV OLD
If you compile your program with ENV OLD in effect, the Binder load map printed for a
FORTRAN program compilation shows three “special data blocks” named #RUCB,
#FLUT, and #PUCB. They are in the upper half of the user data segment if the
HIGHCONTROL directive is used, or in the lower half otherwise. These blocks contain
information used by the FORTRAN run-time library procedures that do the work of
FORTRAN I/O statements and handle errors detected by intrinsic functions. They are
also used by the Saved Message Utility procedures.
The Run-Unit Control Block (#RUCB)
The #RUCB block contains pointers to the other control blocks and to the buffer
storage areas. It always contains 77 words.
The FORTRAN Logical Unit Table (#FLUT)
The #FLUT block contains pointers to the File Control Blocks (FCBs) for all the
FORTRAN program’s I/O units. Its size is N + 2 words, where N is the largest I/O
unit number that exists in the compilation.
The Program Unit Control Block (#PUCB)
The #PUCB block contains a 39-word fixed header area, plus a File Control Block
(FCB) area for each I/O unit that exists for the compilation, with 38 to 58 words per
FCB depending on the lengths of the file names and unit names.
BUFFER Storage Areas With ENV OLD
The Binder load map includes another “special data block” named #LOWBUF, and
might include another data block named #HIGHBUF. Both of these are buffer pools
used as “heap storage” by several of the FORTRAN run-time library procedures for
data areas that must be allocated and released dynamically as program execution
LARGESTACK n Allocate n bytes of data in
extended memory for data
specified in LARGEDATA
directives
Same as ENV OLD
LOWBUFFER n Allocate n-byte #LOWBUF
(Default: #LOWBUF is 512
bytes)
not used
RECEIVE params Allocate space for $RECEIVE
information in #PUCB
Allocate #RECEIVE in low
memory (Default: do not
allocate #RECEIVE)
Table 12-2. Compiler Directives That Control Data Allocation (page 2 of 2)
Effect
Directive ENV OLD ENV COMMON