z/OS MVS IPCS User's Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Categories of Data Description Parameters

z/OS MVS IPCS User's Guide
SA23-1384-00

Data description parameters fall into five categories:
  • Address, LENGTH, and POSITIONS parameters describe the logical and physical location and the size of the data.
  • Address processing parameters describe how the subcommand is to process the address. For example, the parameters indicate whether to simulate prefixing or dynamic address translation, and whether the dump source is in main storage or a data set.
  • Attribute parameters describe the type of data and how it is to be displayed or printed.
  • Array parameters describe the data as an array and define subscripts and dimensions or indicate that the data should not be treated as an array.
  • Remark parameters associates remark text with data or indicates that there is no remark text.
The address and length parameters specify the location and size of the data item. The following are all valid addresses or address expressions:
ADDR1
is the symbolic address associated with the symbol ADDR1.
X
is the symbolic address associated with the current address in the dump.
+73
is the relative address X'73' bytes beyond the current address.
4C.
is a literal address at location X'4C'.
7R
is general-purpose register 7.
6D
is floating point register 6 with double precision.
6C.%
is a 24-bit indirect address, the location up to 224-1 pointed from location X‘6C’.
CVT+230?
is a 31-bit indirect address, the location up to 231-1 addressed by the CVT field at offset +230 (field CVTGDA).
ADDR1-73n+4C
is an address expression, ADDR1 minus 73 (decimal) plus X‘4C’.
Two typical uses of the full range of data display parameters are the EQUATE and LIST subcommands. For example, the following subcommand creates a symbol table entry for the symbol ABC:
equate abc a72f4. asid(1) length(80) area scalar +
  remark('input params from EXEC statement')

The symbol is associated with an 80-byte area beginning at X'A72F4'. ASID indicates that this address is virtual and IPCS simulates dynamic address translation for ASID(1). The AREA, SCALAR, and REMARK parameters specify information about this area that you want for future reference. AREA indicates that it is neither a module nor a control block. SCALAR indicates it is a single block of storage, not an array. The REMARK is your description of the 80-byte area.

Having created the symbol, you can now display its storage with the LIST subcommand. For example, the following subcommand displays the 80-byte buffer:
list abc
To display that storage without first defining the symbol, enter:
list a72f4. asid(1) length(x'50') area scalar

This subcommand displays the same data (except the remark), in the same format, as the previous example. Note that the length is defined in hexadecimal.

If you want to see the 20-byte field following the buffer and you want it displayed in character format, enter:
list abc+80n length(20) c
Another way to accomplish the same thing is to enter:
equate x abc+80n length(x'14')
list x c

This example sets X, the current address, to the end of the buffer and specifies a length of X‘14’. The LIST subcommand then displays this area in character format.

Suppose you have located a segment table at X‘7FFFD000’. If you want to display entries for segments six through ten, enter:
list 7FFFD018. length(4) entries(6:10)

This displays the five segment table entries beginning at X‘5A2418’ (each segment table entry is four bytes). The total length of the five entries is 20 bytes.

To list the contents of the general-purpose registers as they were at the time of the dump, enter:
list 0r:15r terminal

This displays all 16 general-purpose registers at your terminal.

To display the four floating-point double precision registers in hexadecimal, specify:
list 0d:6d
Note that when a symbol is assigned an offset, the offset is stored separately and is not added to the base address. Thus, the following subcommand creates a symbol record called A representing an address of 1000 and an offset of 10:
equate a 1000.+10
In a similar manner, the following subcommand uses only the address portion of A (1000) and creates a symbol, B, with an address of 1000 and an offset of 20:
equate b a+20

This design is used for the concept of fields within control blocks. Each field is considered at an offset from the beginning of the control block, not at an offset from another field.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014