ADDRESSING MODE AND RESIDENCE MODE - IBM Mainframe

To maintain compatibility with MVS/370, MVS/XA and recognizes 24-bit addressing. Whether it interprets an address as 24 or 31 bit depends upon the setting of the addressing mode bit in the current PSW at the time an instruction executes. Programs running in 24-bit addressing mode can address the first 16MB of the virtual storage. MVS allows programs to switch from one mode to another during execution in order to access data or call modules running in the other mode. Thus new programs can take advantage of 31-bit addressing and still be compatible with ones written for 24-bit addresses.

All MVS programs modules have an addressing mode (AMODE) attribute that indicates which addressing mode is to take effect when a module is given control. The AMODE attribute is assigned to a MVS program module by the programmer as input to the assembler or the linkage-editor, or by default. The default is 24 bit addressing mode.

MVS modules have a residence mode (RMODE) attribute that indicates whether they must be loaded below the 16MB-address line or can be loaded anywhere in the virtual storage. RMODE=24 modules require residency below 16MB. RMODE=ANY allows the operating system to load a module anywhere in virtual storage.

A program that must be directly addressable by 24-bit callers must reside below the 16MB line. A program that does not have 24-bit callers, or whose 24-bit callers call it indirectly, can reside anywhere. The RMODE attribute is assigned as input to the assembler or the linkage-editor, or by default. The default is 24-bit residence mode.

The AMODE and RMODE attributes can be assigned to modules in various combinations depending on the location of the code and data that they use. Not all of the possible combinations make sense. The combination of AMODE=24 and RMODE=ANY, is invalid because a programming using 24-bit addresses cannot function in locations above the 16MB line where more than 24 bits are needed to denote an address. The AMODE=ANY and ROMODE=ANY combination can be specified, but the system translate it to AMODE=31 and RMODE=ANY at execution time.


All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM Mainframe Topics