This general macro is used to generate a list of data items for SNAPC and
SERRC dump processing. The LISTC macro generates constants that
identify the name, size, and location of the items that need to be included in
the SNAPC/SERRC dump when the LIST parameter is supplied.
- label
- A symbolic name may be assigned to the macro statement.
The LISTC macro forces halfword alignment. This means that labels
are coded as
label LISTC ...
or
label DS 0H
LISTC ...
Coding a label using an EQU statement instead of a DS statement can cause
an error during processing of the SNAPC macro because of misalignment.
- TAG=field1
- This parameter specifies the location of the data to be dumped.
This parameter is required unless the information is being supplied by the
LEVEL parameter. For example:
LISTC TAG=DATA
DATA DC C'THIS WILL BE DUMPED'
generates the list item to dump the field called DATA.
- NAME=field2
- This parameter specifies the name of the field to appear in the
dump. This parameter is required. unless the information is
being supplied by the LEVEL parameter. Specify a 1- to 8- byte
character string. The name assigned may be, but is not required to be,
the same name as the name of the label used in the TAG parameter. For
example:
LISTC NAME=ITEM1,TAG=DATA
DATA DC C'THIS WILL BE DUMPED'
assigns the name ITEM1 to the data being dumped.
- LEN=sd|(reg)
- This optional parameter specifies the length of the field to be
dumped. If omitted, it defaults to the length of the field specified in
the TAG parameter. Specify a decimal number, any other self-defining
term or expression or the general register containing the data length.
For example:
LISTC NAME=ITEM1,TAG=DATA,LEN=L'DATA+4
DATA DC C'THIS WILL BE DUMPED'
DC C'1234'
dumps the DATA field + four bytes.
- INDIR
- This optional parameter specifies whether indirection is used to identify
the location of the data to be dumped.
- YES
- The TAG parameter specifies the location that contains the 4-byte address
of the data to be dumped.
- NO
- The TAG parameter specifies the location of the data to be dumped.
This is the default.
- LEVEL=datalevel
- This parameter can be used by E-type programs in lieu of the TAG, LEN and
INDIR parameters to identify a data area to be dumped. It identifies
the data level referenced using R9, where the storage address (CE1CRx) and
length (CE1CCx) of the data to be dumped can be found. Valid values for
datalevel are D0, D1, ..., DE, DF. For
SNAPC dumps, if the data level is not holding a block, then the LISTC macro
call will be ignored.
- DECB=(reg)|label1
- This parameter can be used by E-type programs instead of the TAG, LEN, and
INDIR parameters to identify a data area to be dumped. It identifies
the label or general register (R1-R7, R14 or R15) containing the address
of the data event control block (DECB), where the storage address (IDECDAD)
and length (IDECDLH) of the data to be dumped can be found. For SNAPC
and SERRC dumps, the LISTC macro call will be ignored if the DECB address is
found to be not valid or if the DECB is not holding a block.
- END
- This parameter is mutually exclusive with all other parameters, and marks
the end of the list of items specified by the LIST option of either SNAPC or
SERRC. All LISTC lists must end with the END option.
For example,
LISTC END
ends a dump list.