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.