AMODE and RMODE attributes
Every program that runs in z/OS® is
assigned two attributes, an AMODE (addressing mode) and an RMODE (residency
mode):
- AMODE
- Specifies the addressing mode in which the program is designed
to receive control. Generally, the program is also designed to run
in that mode, although a program can switch modes and can have different
AMODE attributes for different entry points within a program module.
z/OS uses a program's AMODE attribute to determine whether a program invoked using ATTACH, LINK, or XCTL is to receive control in 24-bit or 31-bit addressing mode.
- RMODE
- Indicates where the program can reside in virtual storage.
z/OS uses the RMODE attribute to determine whether a program must be loaded into virtual storage below 16 MB, or can reside anywhere in virtual storage (above or below 16 MB).
Valid AMODE and RMODE specifications are:
Attribute | Meaning |
---|---|
AMODE=24 | 24-bit addressing mode |
AMODE=31 | 31-bit addressing mode |
AMODE=64 | 64-bit addressing mode |
AMODE=ANY | Either 24-bit or 31-bit addressing mode |
RMODE=24 | The module must reside in virtual storage below 16 MB. Use RMODE=24 for programs that have 24-bit dependencies. |
RMODE=ANY | Indicates that the module can reside anywhere in storage, which includes addresses above the 16 megabyte line. |
If you do not specify the AMODE or RMODE in the assembler program or when you link the program, both AMODE and RMODE default to 24.