z/OS MVS Program Management: User's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


RMODE: Residence mode option

z/OS MVS Program Management: User's Guide and Reference
SA23-1393-00

To assign the residence mode for all the entry points into a program module, you can code the RMODE parameter as follows:

RMODE=({MIN | 24 | ANY | 31 [, INITIAL | COMPAT]})

Or

RMODE(SPLIT)

The residence mode assigned in the PARM field is overridden by a residence mode assigned in the MODE control statement, but overrides the accumulated residence mode found in the ESD data for the control sections or private code in the input.

AMODE and RMODE values are specified independently, but checked for conflicts before output processing occurs. See AMODE and RMODE combinations for information on AMODE and RMODE compatibility and the setting of default values.

In addition to the residence mode value, you may optionally specify a scope. The scope determines how the residence mode value is applied. The allowable scope values are:
INITIAL
The residence mode value is applied to all initial load classes in all segments.

When RMODE is specified, the default scope value is INITIAL.

COMPAT
The residence mode value is applied only to the initial load classes comprising the first segment (the one that contains the main entry point).

When RMODE is unspecified, the default scope value is the same as RMODE(MIN,COMPAT).

Note: The scope may not be specified with RMODE(SPLIT).
RMODE(SPLIT) specifies the program text (class B_TEXT) can be split into two class segments according to the RMODE of each section. Rules for splitting the text are:
  • If RMODE(SPLIT) is specified, the B_TEXT class of each included module is distributed between the two class segments according to the RMODE of each section contained in the module.
  • If RMODE(SPLIT) is not specified, either through the binder execution parameter or a control statement, included text in classes B_TEXT, B_TEXT24 and B_TEXT31 are combined into B_TEXT class and loaded into memory using the existing RMODE resolution rules.
  • If the OVLY option is specified, RMODE is reset to 24 and the split module is not produced.
  • If RMODE(SPLIT) is specified, consider the HOBSET option. If you specify HOBSET, the high order bit of each V-type address is set according to the AMODE of the called entry point.

When an RMODE(SPLIT) module is loaded, the LOAD service returns a length of zero. For additional information on multiple segment modules, see Creating a program object. When you use LOAD, the CSVQUERY service should be used with the OUTXTLST parameter to obtain information about the address (load point) and length of each program segment. See CSVQUERY in z/OS MVS Programming: Assembler Services Guide for more information.

The keyword RMODE can be specified as RMOD for options strings (such as IEWL PARM or options files).

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014