Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
Using access registers for data reference z/OS MVS Programming: Extended Addressability Guide SA23-1394-00 |
||||||||||
Through access registers, your program, whether it is supervisor
state or problem state, can use assembler instructions to perform
basic data manipulation, such as:
The functions of cross memory and access registers are different and complementary. In a multiple address space environment, you might use them both. What is an access register (AR)? An AR is a hardware register that a program uses to identify an address space or a data space. Each processor has 16 ARs, numbered 0 through 15, and they are paired one-to-one with the 16 general purpose registers (GPRs). Why would a program use ARs? Generally, instructions
and data reside in a single address space — the primary address space
(PASN). However, you might want your program to have more virtual
storage than a single address space offers, or you might want to separate
data from instructions for:
For these reasons and others, your program can have data in address spaces other than the primary or in data spaces. The instructions still reside in the primary address space, but the data can reside in another address space or in a data space. To access data in other address spaces, your program uses ARs and executes in the address space control mode called access register mode (AR mode). What is address space control (ASC) mode? The ASC
mode determines where the system looks for the data that the address
in the GPR indicates. The two ASC modes that are generally available
for your programs are primary and AR mode. The PSW determines the
ASC mode. Both problem state and supervisor state programs can use
both modes, and a program can switch between the two modes.
The following chart summarizes where the system looks for the instructions and the data when the program is in primary mode and AR mode.
In this document, the AR and GPR pair that is used to resolve an address is called AR/GPR. Figure 1 illustrates AR/GPR 4. Figure 1. Example of an AR/GPR
Do not confuse cross memory mode with ASC mode. A program can be in AR mode with the primary, secondary, and home address spaces all the same. Likewise, a program can be in AR mode with the primary, secondary, and home address spaces all different. Synchronous cross memory communication contains information about cross memory mode. Do not confuse addressing mode (AMODE) with ASC mode. A program can be in AR mode and also be in either 31-bit or 24-bit addressing mode. However, programs in 24-bit addressing mode are restricted in their use of data spaces; for example, a program in 24-bit addressing mode cannot create a data space, nor can the program access data above 16-megabytes in that space. How does your program switch ASC mode? Use the SAC instruction
to change ASC mode:
What does the AR contain? The contents of an AR designate an address/data space. The AR contains a token that specifies an entry in a table called an access list. Each entry in the access list identifies an address/data space that programs can reference. The token that indexes into the access list is called an access list entry token (ALET). When an ALET is in an AR and the program is in AR mode, the ALET identifies the access list entry that points to an address/data space. The corresponding GPR contains the address of the data within the address/data space. IBM® recommends that you use ARs only for ALETs and not for other kinds of data. The following figure shows an ALET in the AR and the access list entry that points to the address/data space. It also shows a GPR that points to the data within the address/data space. Figure 2. Using an ALET to identify an address/data space
By placing an entry on an access list and obtaining an ALET for that entry, a program builds the connection between the program and the target address/data space. (In describing the subject of authorization, the terms "target address space" and "target data space" are used to mean an address space or data space in which a program is trying to reference data.) The process of building this connection is called establishing addressability to an address/data space. For programs in AR mode, when the GPR is used as a base register, the corresponding AR must contain an ALET. Conversely, when the GPR is not used as a base register, the corresponding AR is ignored. For example, the system ignores an AR when the associated GPR is used as an index register. |
Copyright IBM Corporation 1990, 2014
|