address space, the ASN is translated by
using a set of tables whose origin is
contained in control register 14. A
two-level lookup is used. The ASN value
is partitioned into two indexes. The
first index selects an entry in thetable designated by control register 14,
called the ASN first table, or AFT.
This entry designates another table,
called the ASN second table, or AST, an
entry of which is selected by the second
index. An entry in the second table
containsseveral parameters about the
new address space. The information in a
second-table entry includes:• A validity indicator, generally
used to indicate whether the asso
ciated address space is immediately
accessible.This is useful for
managing unassigned numbers and
swapped-out spaces.• The origin and length of a table which provides control over whether
three of the DAS instructions are
authorized to use the new ASN.
This table is called the authority
table (AT).• The authorization index (AX), or
level, of the new space.• The orlgln and length of the
segment table to be used by DAT
when the new addressspace is
accessed.• A control over whether a signal, in
the form of a space-switch-event
program interruption, is given for
two of the DAS instructionsafter a change to a new primary address
space is completed.• The origin of a set of tables which
describe the entry points associ
ated with a new prlmary space.These tables are used by the link age mechanism provided with DAS. A
two-level table structure is
provided. The first level isthe linkage table (IT), whose entries
providethe origins of entry tables
(ET).
Changing the Secondary Address Space:
The SETSECONDARY ASN instruction causes
the secondary address space tobe changed to the address space associated
with the ASN specified by the instruc
tion. The ASN itself is placed in
control register 3 and is called the
secondary ASN, or SASN. TheASN is
translated to obtain the segment-table
designation for the space. This desig
nation is placed in control register 7
as the secondary segment-table desig
nation(SSTO). Instruction execution is
disallowed if the translation is not
authorized. The translation is author
ized by a bit in the authority table at
an offset determined by the authori
zationindex in control register 4. The
instructionLOAD TERS also can
address space.
Moving Information
ADDRESSSPACE PARAME
change the secondary
DAS providesthree instructions for
moving information under the control of
two access keys.The instructions MOVE TO PRIMARY and MOVE TO SECONDARY permit the semiprivi
leged program to move data from either
of the two current address spaces to the
other. These instructions are defined
such that a second access key can be
specified in addition to the PSW key.
The PSW key in these two instructions is
used as the access key forthe storage
references to the primary address space.
Accesses to the secondary address space
aremade by using a key specified in a
general register designated by the
instruction. Thus, the semiprivileged
program can use the instruction to move
data between a calling program area and
the semiprivileged-program area and to
specify the appropriate key tobe used
in each area.
A third move instruction,MOVE WITH KEY, gives a semiprivileged program the capa
bilityof moving informationbetween a
caller-specified area and a
semiprivileged-program area in the same
address space.The instruction uses the
PSW key for the store accesses associ
ated with the first operand and uses a
program-specified key for the fetch
accesses associated with the second
operand. Thus, a semiprivileged program
may set up the PSW key and specify the
source key so as to provide appropriate
authority checking on a caller-specified
address whetherit be a source or a
target.
For all three move instructions, the
number of bytes tobe moved is expressed
as a true length. A zero length is
allowed, with no movement performed. Up
to 256 bytes are moved each time one of
these instructions is executed, and a
condition code is set to indicate whether the number of bytes moved did or did
not exhaust the true length.These capabilities make the instructions suit
able for use in a simple program to move
any number of bytes. This is partic
ularly useful when the number of bytes
tobe moved must be calculated by the
program.
Transferring Program Control
DAS permits programs operating at
different levels of authority tobe Chapter 5. Program Execution 5-15
using a set of tables whose origin is
contained in control register 14. A
two-level lookup is used. The ASN value
is partitioned into two indexes. The
first index selects an entry in the
called the ASN first table, or AFT.
This entry designates another table,
called the ASN second table, or AST, an
entry of which is selected by the second
index. An entry in the second table
contains
new address space. The information in a
second-table entry includes:
used to indicate whether the asso
ciated address space is immediately
accessible.
managing unassigned numbers and
swapped-out spaces.
three of the DAS instructions are
authorized to use the new ASN.
This table is called the authority
table (AT).
level, of the new space.
segment table to be used by DAT
when the new address
accessed.
the form of a space-switch-event
program interruption, is given for
two of the DAS instructions
space is completed.
describe the entry points associ
ated with a new prlmary space.
two-level table structure is
provided. The first level is
provide
(ET).
Changing the Secondary Address Space:
The SET
the secondary address space to
with the ASN specified by the instruc
tion. The ASN itself is placed in
control register 3 and is called the
secondary ASN, or SASN. The
translated to obtain the segment-table
designation for the space. This desig
nation is placed in control register 7
as the secondary segment-table desig
nation
disallowed if the translation is not
authorized. The translation is author
ized by a bit in the authority table at
an offset determined by the authori
zation
instruction
address space.
Moving Information
ADDRESS
change the secondary
DAS provides
moving information under the control of
two access keys.
leged program to move data from either
of the two current address spaces to the
other. These instructions are defined
such that a second access key can be
specified in addition to the PSW key.
The PSW key in these two instructions is
used as the access key for
references to the primary address space.
Accesses to the secondary address space
are
general register designated by the
instruction. Thus, the semiprivileged
program can use the instruction to move
data between a calling program area and
the semiprivileged-program area and to
specify the appropriate key to
in each area.
A third move instruction,
bilityof moving information
caller-specified area and a
semiprivileged-program area in the same
address space.
PSW key for the store accesses associ
ated with the first operand and uses a
program-specified key for the fetch
accesses associated with the second
operand. Thus, a semiprivileged program
may set up the PSW key and specify the
source key so as to provide appropriate
authority checking on a caller-specified
address whether
target.
For all three move instructions, the
number of bytes to
as a true length. A zero length is
allowed, with no movement performed. Up
to 256 bytes are moved each time one of
these instructions is executed, and a
condition code is set to indicate wheth
not exhaust the true length.
able for use in a simple program to move
any number of bytes. This is partic
ularly useful when the number of bytes
to
program.
Transferring Program Control
DAS permits programs operating at
different levels of authority to