Each program is provided with three ALETs that allow the program
to access its primary, secondary, and home address spaces. You do
not need to add an entry to an access list before you use these special
ALETs.
Figure 1 describes the ALETs that
have values of zero, one, and two, and the address spaces they identify.
Figure 1. Special ALET values
The three ALETs and examples of their use are:
- An ALET of zero designates the primary address space.
Some MVS™ macros require that the issuers
have control parameter lists in the primary address space. Use the
ALET with the value "0" in the AR that accompanies the GPR containing
the address of the parameter list. Loading the Value of Zero into an AR shows
several ways of loading an ALET with the value "0" into an AR.
- An ALET of one designates the secondary address space.
Programs
that are entered through a space-switching PC can reference their
caller's parameters (those that reside in the caller's address space)
through an ALET of one. For example, instead of using the MVCP and
MVCS instructions to move data between primary and secondary, a program
can use the MVC instruction and load values of zero (for the primary)
and one (for the secondary) in the ARs that are associated with the
base registers that the instruction uses. The MVC instruction moves
data only between storage areas with appropriate storage keys.
- An ALET of two designates the home address space.
An ALET
of two provides easy access to the home address space while the program
is running in AR mode.
Note: Do not use an ALET of two in a disabled
interrupt exit (DIE) routine.
Except for these three special ALET values, a program should never
depend on the value of an ALET.