AMODE and RMODE combinations

If an AMODE or RMODE value is not specified on a MODE control statement or in the PARM field of an EXEC statement, the binder derives a value based on information in the ESD.

If RMODE is not specified or is specified as MIN, RMODE 24 is assigned if either: Otherwise, the module is assigned an RMODE of ANY (31). Note that some sections (for example, those resident in the LPA) are not considered when determining RMODE.

If RMODE is specified (other than MIN or SPLIT), the RMODE is assigned to the module.

If AMODE is not specified, each entry point and alias in the module is assigned the AMODE of that entry point. If the entry point or alias does not correspond to a defined symbol or the symbol does not specify an AMODE, the AMODE of the control section containing the entry point or alias will be used.

If the AMODE of the section containing the entry point is AMODE(MIN) then the entry point is assigned the most restrictive AMODE of all control sections in the input to the program module. Note that the AMODE(MIN) can be in effect due to the conversion of ESD values AMODE(ANY) RMODE(ANY) (see Addressing and residence modes).