You assign a residence mode (RMODE) to specify where the module
must be loaded in virtual storage.
Program modules must be addressable
using a 31-bit address. They cannot be loaded beyond the 2GB bar or
in a data space. Residence modes are:
- 24
- Indicates that the module must reside below the 16-MB virtual
storage line (within 24-bit addressable virtual storage).
- ANY | 31
- Indicates that the module might reside anywhere in virtual storage
either above or below the 16-MB virtual storage line. 31 is a synonym
for ANY.
- MIN
- Indicates that the binder chooses an RMODE as the minimum value
based on all the provided inputs. Specifying RMODE(MIN,COMPAT) has
the same effect as when the RMODE option is unspecified.
- SPLIT
- Indicates that the module is split into 2 class segments, one
to be loaded below 16-MB and one to be loaded above the 16-MB virtual
storage line. For more information, see RMODE: Residence mode option.
The binder places the RMODE value in each directory entry applicable
to that program module.
Note that only 24 and ANY can appear in
the directory entries. - RMODE option and multi-text class modules
- Beginning with z/OS® V1R12,
the binder RMODE option applies by default to all initial load classes.
This can be overridden to pre-z/OS V1R12 behavior by specifying the
RMODE scope as COMPAT.
- RMODE(64)
- RMODE(64) is treated as RMODE(ANY) for module loading and execution,
with the exception of data class C_WSA64, which can be loaded above
the 2-gigabyte bar. The map in the binder listing and ESD records
obtained from program objects through the binder API (for example,
by the AMBLIST service aid) will show the original RMODE.
Note: ESD
records input to the binder may be marked as RMODE 64, but RMODE(64)
cannot be specified as a binder option.