|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure ASRBK Assert monitor call parameter mapping
The following area maps the parameter list header, which
is the same for all assertion types. Note, however, that
not all fields are significant for all assertion types.
When this is the case, it is noted.
00000000 ASRBKHDR * Mapping for HCPASERT parameter
list
0000 0 Bitstring 1 ASRATYPE Code indicating type of assertion
00000001 ASRDFRLK 1 ASRDFRLK A defer lock is held
00000002 ASRSYMLK 2 ASRSYMLK A symbolic lock is
held
00000003 ASRSPNLK 3 ASRSPNLK A spin lock is held
00000004 ASRIOLK 4 ASRIOLK An I/O lock is held
00000005 ASRCB 5 ASRCB A control block is
addressed by a GR
00000006 ASRUNUSD 6 ASRUNUSD Certain general
registers are unused
00000007 ASRCFM 7 ASRCFM Console-function mode is
in effect
00000008 ASRISTRM 8 ASRISTRM Instruction-stream
serialization is in effect.
00000009 ASRCFMIS 9 ASRCFMIS Either
console-function mode or istream
serialization is in effect.
0000000A ASRDSPCH 10 ASRDSPCH A specified user is
dispatched
0000000B ASRMSTON 11 ASRMSTON Master-only
serialization used
0000000C ASRINIT 12 ASRINIT System initialization
is active
0000000D ASRNOLOC 13 ASRNOLOC No loss-of-control is
permitted
0000000E ASRLSTRN 14 ASRLSTRN The "last translated"
serialization is being used.
0000000F ASRVALUE 15 ASRVALUE Perform a value
comparison
00000010 ASRCODE 16 ASRCODE Execute special
checking code
00000011 ASRCUSTM 17 ASRCUSTM Perform a customized
assertion check
00000012 ASRGROUP 18 ASRGROUP Assertions are being
grouped
00000013 ASRRESVD 19 ASRRESVD Reserved
00000014 ASRRESV2 20 ASRRESV2 Reserved
00000015 ASRAMO31 21 ASRAMO31 CP is running in
31-bit (basic) addressing mode
00000016 ASRAMO64 22 ASRAMO64 CP is running in
64-bit (extended) addressing mode
00000017 ASRTmoPR 23 ASRTmoPR CP is running in
Primary Space mode
00000018 ASRTmoSE 24 ASRTmoSE CP is running in
Secondary Space mode
00000019 ASRTmoAR 25 ASRTmoAR CP is running in
Access Register mode
0000001A ASRTmoHO 26 ASRTmoHO CP is running in Home
Space mode
0000001B ASRNoSAC 27 ASRNoSAC No HCPSAC exits
0000001C ASRNoSPI 28 ASRNoSPI No HCPSPIE exits
0000001D ASRPGMBK 29 ASRPGMBK A PGMBK is addressed
by a GR
0000001E ASRPTE 30 ASRPTE A PTE is addresssed by
a GR
0000001F ASRPGSTE 31 ASRPGSTE A PGSTE is addressed
by a GR
00000020 ASRASATE 32 ASRASATE An ASATE is addressed
by a GR
00000021 ASRFRMTE 33 ASRFRMTE A FRMTE is addressed
by a GR
00000022 ASRSXSTE 34 ASRSXSTE A SXSTE is addressed
by a GR
00000023 ASRSXLLK 35 ASRSXLLK An SXL lock is held
0001 1 Bitstring 1 ASRGFLGS General flags
1... .... ASRGFGRP X'80' ASRGFGRP This assertion is
part of a group, and is "chained"
to another set of parameters.
This bit will never be set with
ASRGFNAB.
.1.. .... ASRGFSAB X'40' ASRGFSAB If this assertion
is not true, a soft abend is
desired instead of hard.
..1. .... ASRGFNAB X'20' ASRGFNAB If this assertion
is not true, no abend is desired.
This bit will never be set with
ASRGFSAB. If either ASRGFSAB or
ASRGFNAB is set, ASRFAILR may
contain the address of a label to
branch to in case of a failure.
0002 2 Address 3 ASRVMDBK SY-adcon of the VMDBK to which
the assertion applies. This field
is not used for all assertions.
0005 5 Address 3 ASRFAILR If ASRGFSAB or ASRGFNAB is set,
then a non-zero value in this
SY-adcon is the address to which
control should be returned when
an untrue assertion is made.
0008 8 Bitstring 1 ASRTFLGS Flags that are unique for each
assertion type. The bits are
assigned with the specific
assertion parameters below.
1... .... ASRLEXCL X'80' ASRLEXCL Lock is held
exclusive
.1.. .... ASRLSHR X'40' ASRLSHR Lock is held shared
If both ASRLEXCL and ASRLSHR are
set, then lock may be held either
exclusive or shared.
1... .... ASRBLBEG X'80' ASRBLBEG Beginning of block
.1.. .... ASRBLEND X'40' ASRBLEND End of block
1... .... ASRVLSLC X'80' ASRVLSLC Source for
comparisons is a location in
storage.
.1.. .... ASRVLSGR X'40' ASRVLSGR Source for
comparisons is a general
register.
..1. .... ASRVLSGG X'20' ASRVLSGG Source for
comparisons is a large general
register.
...1 .... ASRVLSCC X'10' ASRVLSCC Source for
comparisons is the condition
code.
.... ...1 ASRVLSGN X'01' ASRVLSGN Signed comparisons
should be performed instead of
unsigned, the default.
.... ...1 ASRCSFPM X'01' ASRCSFPM A parameter was
specified via PARM=
00000009 ASRVARST * Start of variable portion of
plist
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRDFRLK, asserting that a defer
lock is held. This is the sort of lock managed by HCPLCK,
whose lockword is mapped by the LKWRD DSECT.
0009 9 Address 3 ASRLKWRD SY-adcon of lockword
0000000C ASRDFRZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRSYMLK, asserting that a symbolic
lock is held. This is the sort of lock managed by HCPLOC,
whose lockword is mapped by the LCKBK DSECT.
0009 9 Address 2 * SY-adcon of symbol (use ASRLKWRD)
000C 12 Address 3 ASRSQANC If non-zero, SY-adcon of symbolic
lock private queue anchor. If
zero, the global resource queue
is used.
0000000F ASRSYMZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRSPNLK, asserting that a spin
lock is held. This is the sort of lock managed by the
HCPLKxxx and HCPULxxx macros, whose lockword is mapped by
the SYNBK DSECT.
0009 9 Address 2 * SY-adcon of lockword (use
ASRLKWRD)
0000000C ASRSPNZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRSXLLK, asserting that an SXL
lock is held. This is the sort of lock managed by the
HCPSXLLK and HCPSXLUL macros, whose lockword is mapped by
the SXLBK DSECT.
0009 9 Address 2 * SY-adcon of lockword (use
ASRLKWRD)
0000000C ASRSXLZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRIOLK, asserting that an I/O lock
is held. This is the sort of lock managed by HCPIOL,
lockword is mapped by the LKIWD DSECT.
0009 9 Address 2 * SY-adcon of lockword (use
ASRLKWRD)
0000000C ASRIOLZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRPGMBK, ASRPTE, ASRPGSTE or
ASRASATE asserting that a particular general register
contains the address of a specific kind of control block.
0009 9 Address 1 ASRPGMGR Bits 4-7 are the general register
number of the GR which contains
the address.
0000000A ASRPGMZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRCB, asserting that a particular
general register contains the address of a specific kind
of control block. For control blocks that are defined in
the CBITABLE control block, and are thus known by the
IDOFFSET macro, we identify the control block by storing
the displacement returned by IDOFFSET. We accept only a
limited number of other, special, control blocks, and to
those we assign specific codes.
0008 8 Address 1 ASRCBSPC Code indicating type of special
CB
00000000 ASRCBNTS 0 ASRCBNTS ASRCBOFF contains
CBITABLE offset
00000001 ASRCBVMD 1 ASRCBVMD VMDBK
00000002 ASRCBCPE 2 ASRCBCPE CPEBK
00000003 ASRCBSAV 3 ASRCBSAV SAVBK
00000004 ASRCBSYS 4 ASRCBSYS SYSCM
00000005 ASRCBRDV 5 ASRCBRDV RDEV
00000006 ASRCBSNT 6 ASRCBSNT SNTBK
00000007 ASRCBAvl 7 ASRCBAvl AvlZn
00000008 ASRCBSVG 8 ASRCBSVG SVGBK
0009 9 Address 2 ASRCBOFF Offset returned by IDOFFSET macro
This field is significant only
when ASRCBSPC is zero.
000B 11 Address 1 ASRCBGR Bits 4-7 are the general register
number of the GR which contains
the address.
0000000C ASRCBZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRUNUSD, asserting that a
particular set of general registers is unused.
0009 9 Bitstring 2 ASRGRMSK Mask of unused general registers
If bit n of the mask is set, then
it is being asserted that GR n is
not being used.
000B 11 Bitstring 2 ASRGGRMK Mask of unused large general
registers: If bit n of the mask
is set, then it is being asserted
that large GR n is not being
used.
0000000D ASRUNUGZ * End of parameter list
When ASRATYPE contains any of the following, there is no
more parameter list data:
ASRCFM - Console-function mode
ASRISTRM - Instruction stream
ASRCFMIS - Console-function mode or instruction stream
ASRDSPCH - Dispatched
ASRMSTON - Master Only
ASRINIT - Initialization
ASRGROUP - End of assertion group
ASRAMO31 - CP is running in 31-bit (basic) addressing
mode
ASRAMO64 - CP is running in 64-bit (extended) addressing
mode
ASRTmoPR - CP is running in Primary Space translation
mode
ASRTmoSE - CP is running in Secondary Space translation
mode
ASRTmoAR - CP is running in Access Register translation
mode
ASRTmoHO - CP is running in Home Space translation
mode
ASRNoSAC - CP is running with no HCPSAC exits specified
ASRNoSPI - CP is running with no HCPSPIE exits specified
00000009 ASRNPRMZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRNOLOC, asserting either the
beginning or the end of a block of code that is not
permitted to lose control.
00000009 ASRNLOCZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRLSTRN, asserting either the
beginning or the end of a block of code that is depending
on the serialization mechanism of "last translated".
00000009 ASRLTREZ * End of END parameter list
0009 9 Address 1 ASRLTRGR Bits 4-7 are the general register
number of the GR which contains
the result of the last
translation. Present only at the
beginning of a block.
000A 10 Address 3 ASRLTRIA SY-adcon of the i-ASIT used for
the last translation. Present
only at the beginning of a block.
0000000D ASRLTRBZ * End of BEGIN parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRVALUE, asserting that a value
from storage, from a general register, or from the
condition code, relates to one or more other values in
certain ways. The size of the remainder of this plist
varies, depending on how many values to compare with are
specified.
00000009 ASRVLSRC * Start of different mappings for
difference source value types.
The mapping for when the source is a storage location:
0009 9 Address 3 ASRVSLOC SY-adcon of source value
000C 12 Address 1 ASRVSLEN Length of source value, in bytes
0000000D ASRVSLCZ * End of mapping for this source
The mapping for when the source is a general register:
0009 9 Address 1 ASRVSGRN Bits 4-7 are the number of the
general register.
0000000A ASRVSGRZ * End of mapping for this source
The mapping for when the source is a large general register:
0009 9 Address 1 ASRVSGGN Bits 4-7 are the number of the
general register.
0000000A ASRVSGGZ * End of mapping for this source
The mapping for when the source is the condition code:
No further parameters exist for the condition code source.
00000009 ASRVSCCZ * End of mapping for this source
00000009 ASRVLOPL * Start of mapping for the
operands
0009 9 Address 1 ASRVLOPR Code indicating what comparitor
is to be used.
0000000F ASRVLCMP X'0F' ASRVLCMP Bits of ASRVLOPR
containing comparitor code.
00000000 ASRVLCEQ 0 ASRVLCEQ EQ - equality
00000001 ASRVLCNE 1 ASRVLCNE NE - inequality
00000002 ASRVLCLT 2 ASRVLCLT LT - less-than
00000003 ASRVLCLE 3 ASRVLCLE LE -
less-than-or-equal
00000004 ASRVLCGT 4 ASRVLCGT GT - greater-than
00000005 ASRVLCGE 5 ASRVLCGE GE -
greater-than-or-equal
00000006 ASRVLCON 6 ASRVLCON ON - selected bits are
set
00000007 ASRVLCOF 7 ASRVLCOF OFF - selected bits
are not set
00000008 ASRVLCMX 8 ASRVLCMX MIX - selected bits
are mixed
00000009 ASRVLCNO 9 ASRVLCNO NOTOFF - selected bits
not all off
000000F0 ASRVLOPS X'F0' ASRVLOPS Bits of ASRVLOPR
containing operand source code.
00000000 ASRVLEND 0*X'10' ASRVLEND End of operand
list
00000010 ASRVLOLC 1*X'10' ASRVLOLC Operand is in
storage
00000020 ASRVLOGR 2*X'10' ASRVLOGR Operand is in a
general register
00000030 ASRVLOGG 3*X'10' ASRVLOGG Operand is in a
large general register
00000040 ASRVLOXP 4*X'10' ASRVLOXP Operand is an
absolute expression
00000004 ASRCLOSH 4 ASRCLOSH Bits to shift ASRVLOPR
right to get an index
representing the operand
location.
0000000A ASRVLOPD * Start of different mappings for
difference operand value types.
The mapping for when the operand is a storage location:
000A 10 Address 3 ASRVOLOC SY-adcon of operand value
0000000D ASRVOPSZ * End of parameter list
The mapping for when the operand is a general register:
000A 10 Address 1 ASRVOGRN Bits 4-7 are the number of the
general register.
0000000B ASRVOPGZ * End of parameter list
The mapping for when the operand is a large general
register:
000A 10 Address 1 ASRVOGGN Bits 4-7 are the number of the
general register.
0000000B ASRVOGGZ * End of parameter list
The mapping for when the operand is an absolute expression:
000A 10 Address 4 ASRVOXVL Value of absolute expression
0000000E ASRVOPXZ * End of parameter list
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRCODE, asserting something which
special-case code has been written to test.
0009 9 Address 3 ASRCDSRT SY-adcon of special-case code
0000000C ASRCODEZ * End of parameter list
Define labels to branch to when returning from a CODE block.
000C 12 Signed 2 ASRCDEXT (0) Base value for USING
0000000C ASRSUCCD * Branch here to succeed
000C 12 Bitstring 1 * (16) Separation between CDSUCCES and
CDFAILUR in HCPASR. See code in
HCPASRCK for how this is used.
0000001C ASRFAIL * Branch here to fail
The following area maps the rest of the parameter list for
when ASRATYPE contains ASRCUSTM, asserting something for
which a customized checking routine has been added to the
monitor call processing routine, HCPASR. The TYPE
is intended to be the number of the custom check,
permitting several such checks. The BEGIN and END
parameters are accepted in case the custom check is the
type declaring a beginning and an end. The PARM value can
pass anything to the checking routine.
0009 9 Address 1 ASRCSTYP Type code. Intended to be
ascending number declaring which
custom check should be performed.
0000000A ASRCSNPZ * End of parameter list if no
parm
000A 10 Address 3 ASRCSPRM Parameter, to be used however the
customized checking code wants to
use it.
0000000D ASRCSHPZ * End of parameter list if parm
| |