When you provide a symbol table to the ASASYMBM service (that is,
when you specify a non-zero address in the SYMBPSYMBOLTABLE@ field),
code the following fields in the ASASYMBP mapping macro:
- Field
- Description
- SYMBTNUMBEROFSYMBOLS
- Specifies the number of entries in the symbol table. The number
can be zero.
- SYMBTTABLEENTRIES
- Specifies the beginning of the entries in the symbol table. If
the SYMBTINDIRECTSYMBOLAREA bit is off, the symbol table entries must
be contiguous to the header, beginning at this field. Otherwise, place
the SYMBTESYMBOLAREAADDR field in this field; SYMBTESYMBOLAREAADDR
must point to an area that contains the symbol table entries. SYMBTESYMBOLAREAADDR
is a field in the SYMBTE structure; for details about the ASASYMBP
mapping, see z/OS MVS Data Areas in the z/OS Internet library.
- SYMBTE
- Specifies an entry in the symbol table. Code one symbol table
entry (SYMBTE) for each symbol in the symbol table. The number of
entries is specified in the SYMBTNUMBEROFSYMBOLS field. If the SYMBTINDIRECTSYMBOLAREA
bit is off, the symbol table entries must be contiguous to the header,
beginning at the SYMBTTABLEENTRIES field. Otherwise, the symbol table
entries begin at the area pointed to by the SYMBTESYMBOLAREAADDR field.
Each
symbol table entry (SYMBTE) must set the following fields:
- SYMBTESYMBOLPTR, when the SYMBTPTRSAREOFFSETS flag is off;
it specifies the address of the area that contains the name of the
symbol
- SYMBTESYMBOFFSET, when the SYMBTPTRSAREOFFSETS flag is on;
it specifies the offset to the symbol from the beginning of the symbol
area; you must also set up the area pointed to by the offset
- SYMBTESYMBOLLENGTH, which specifies the length of the symbol
- SYMBTESUBTEXTPTR, when the SYMBTPTRSAREOFFSETS flag is off;
it specifies the address of the area that contains the substitution
text for the symbol
- SYMBTESUBTEXTOFFSET, when the SYMBTPTRSAREOFFSETS flag is on;
it specifies the offset to the substitution text from the beginning
of the symbol area; you must also set up the area pointed to by the
offset
- SYMBTESUBTEXTLENGTH, which specifies the length of the substitution
text.
If you specify an address in the SYMBPSYMBOLTABLE@ field, you must
also provide a symbol table header (SYMBTHEADER). Optionally, set
one or more of the flags in the symbol table header to indicate that
ASASYMBM is to perform additional functions.
Note: The field and bit names in the following list are all prefixed
by the characters SYMBT in the ASASYMBP mapping macro. The SYMBT prefix
is not used out of consideration for readability.
- Flag
- Function
- CHECKNULLSUBTEXT
- Specifies that ASASYMBM is to return a return code of X'0C' if
the substitution text for a symbol is a null string (has a length
of zero).
The default is to not check if the substitution
text for a symbol is a null string.
- INDIRECTSYMBOLAREA
- Specifies that the symbol area is not contiguous; it is pointed
to by the SYMBTESYMBOLAREAADDR field. For an example of a symbol
area that is not contiguous, see Figure 2.
The
default is that the symbol area is contiguous.
- NODEFAULTSYMBOLS
- Specifies that ASASYMBM is not to use the default set of system
symbols. In other words, ASASYMBM uses only the symbols that are defined
in the user-provided symbol table.
When you do not set this
flag, ONLYDYNAMICSYMBOLS, or ONLYSTATICSYMBOLS to on, the default
is to use both dynamic and static system symbols.
- ONLYDYNAMICSYMBOLS
- Specifies that ASASYMBM is not to substitute text for the static system
symbols.
- ONLYSTATICSYMBOLS
- Specifies that ASASYMBM is not to substitute text for the dynamic system
symbols.
- PTRSAREOFFSETS
- Specifies that the pointer fields in the symbol table are offsets.
The system adds the offset to the address of the symbol area to obtain
the actual address of the operand.
The default is to indicate that
the pointer fields in the symbol table are pointers.
- MIXEDCASESYMBOLS
- Specifies that the system is to recognize, within an input pattern,
symbols that contain:
- All upper-case characters, and
- Both upper-case and lower-case characters.
The default is to recognize symbols that match the symbols
in the symbol table.
- TIMESTAMPISGMT
- Specifies that the input time stamp is Coordinated Universal Time
(UTC) or Greenwich Mean Time (GMT). TIMESTAMPISGMT is the default
when you provide a time stamp (in the area pointed to by SYMBPTIMESTAMP@)
and you do not set this flag, TIMESTAMPISLOCAL, or TIMESTAMPISSTCK
to on.
- TIMESTAMPISLOCAL
- Specifies that the input time stamp is local time.
- TIMESTAMPISSTCK
- Specifies that the input time stamp is obtained from the system
time of day (TOD) clock.
- WARNNOSUB
- Specifies that ASASYMBM is to return a X'10' return code
when the system does not perform symbolic substitution.
The default
is to not return a return code when the system does not perform
symbolic substitution.
- WARNSUBSTRINGS
- Specifies that ASASYMBM is to return a X'04' return code
when the system finds a substring error. See the information on using
symbols in z/OS MVS Initialization and Tuning Reference for
information about how the system performs symbolic substitution when
errors occur in substringing.
The
default is to not return a return code when the system finds
a substring error.
The following is an example of a symbol table that is contiguous:
Figure 1. Contiguous Symbol Table
The following is an example of a symbol table that is not contiguous:
Figure 2. Non-contiguous Symbol Table