When an IPCS subcommand accepts a literal value, the value can
be entered as a symbol. The definition of the symbol and the data
associated with the symbol are contained in the dump directory. You
can use symbolic literals so that IPCS can manage many dumps and traces
without having to allocate and open the dump and trace data sets frequently.
- Defining a Symbol
Define a symbol using a LITERAL subcommand.
For example:
literal a c'ABCDE'
If the
EVALUATE subcommand requests a storage key for a symbolic literal,
IPCS returns the FF value used when the storage key is not available.
Note: IBM® does not recommend using a symbolic
literal as the basis for indirect addressing. IPCS will accept such
an indirect address and try to resolve it to the appropriate dumped
central storage, but may not be able to resolve it depending on the
dump and the local and global defaults in effect.
If you
define a symbol based on a literal symbol, the resulting definition
is an independent copy of the literal data. For instance:
literal a c'X'
equate b a
literal a c'Y'
This sequence leaves symbol A associated
with C'Y' and symbol B associated with C'X', rather than C'Y'. This
sequence is consistent with the following EQUATE subcommands, which
leave symbol F with the same definition as symbol ASVT and symbol
G with the same definition as symbol CVT.
equate f cvt
equate g f
equate f asvt
- Referring to a Symbolic Literal
An IPCS command or subcommand
refers to the name of the address space containing the literal as
LITERAL and refers to the literal by its symbol. For example:
literal(a)
- Location of a Symbol
IPCS treats each literal value
as residing in the first 1 through 256 bytes of an address space that
it shares with no other literals. Because an address space contains
2
31 bytes, most or all bytes in the address space for a
symbolic literal are not available. The following sequence of subcommands
associates symbol Y with an address space in which no bytes are available:
literal x c'Q'
equate y x position(10) length(10) character
Only
the first byte of the address space was populated by the LITERAL subcommand.
The EQUATE subcommand tries to define symbol Y with 10 bytes of storage
that are not available.