Examples of starting DTST

The following examples illustrate how to enter the DTST command with parameters.

Example: Starting DTST and specifying a literal hexadecimal number

To display storage at address 45CB00, enter the command DTST 45CB00.

The base address is 45CB00.

Example: Starting DTST and specifying a 64 bit address

To display storage at address 48_40B00000, enter the command DTST 48_40B00000.

The base address is 48_40B00000.

Example: Starting DTST and specifying a program name

To display program storage for program MYPROG, enter the command DTST P=MYPROG.

The base address is the address of the program in storage.

Example: Starting DTST and specifying an offset
To display storage at an negative offset of D0 bytes from address 45CB00, enter the command DTST 45CB00 - D0.

The result of the calculation (45CB00-D0) is the base address. In this example, the base address is 45CA30.

To display program storage at an positive offset of 28 bytes from the starting address of program MYPROG, enter the command DTST P=MYPROG+28.

If the starting address of program MYPROG is 8492A000, then the result of the calculation (8492A000+28) is the base address (8492A028).

If fullwords generate protection exceptions (for example, in fetch-protected storage), DTST displays question marks in the Storage Key field.

Example: Starting DTST with indirect addressing

To display storage by indirection, use an asterisk (*) to indicate 31-bit addressing or an at sign (@) to indicate 24-bit addressing. DTST uses the fullword at that address as the base address.

If you want to use the fullword at address 45CB00 as the base address, enter the command DTST 45CB00*.

You can combine multiple offset or levels of indirection. For example, if you enter the command DTST 45CB00 + b* + 14** + 14*, DTST calculates the base address in the following order:

  1. Beginning with 45CB00, add B0. The result is 45CBB0.
  2. Go to location 45CBB0 to obtain the address at that location. For this example, assume that the address is 29AD00.
  3. Add 14 to 29AD00. The result is 29AD14.
  4. Go to location 29AD14 to obtain the address at that location. For this example, assume that the address is 1838AD.
  5. Go to location 1838AD to obtain the address at that location. For this example, assume that the address is 251936.
  6. Add 14 to 251936 to get the result 25194A.
  7. Go to location 25194A to obtain the address at that location. For this example, assume that the address is 3920AD. DTST opens the memory window and display the contents of storage beginning at 3920AD.
Example: Starting DTST with the BASE keyword
The BASE keyword can make it easier to write long command lines. The BASE keyword is assigned the value of the base address of the previous DTST command. For example, if you enter the command DTST 45CB00+10*, BASE is assigned the value of the result of 45CB00+10*. If you want to use the value of 45CB00+10* in a subsequent command, use the BASE keyword. For example, DTST BASE+20*.
Example: Starting DTST with a scan request
You can specify data that you are looking for by adding a scan request to the DTST command. For example, to find the data ‘WORKAREA’ starting at base address 45CB00, enter the command DTST 45CB00,S='WORKAREA'. The scan starts at the base address and continues for 4K bytes. To find the data ‘WORKAREA’ starting at base address 45CB00 at the beginning of every double word, enter the command DTST 45CB00,S8='WORKAREA'. You can specify that the scan be done in a negative direction, which means that addresses are decreasing in value.
Example: Starting DTST with a page number request
You can specify a page you want displayed by adding a page request to the DTST command. For example, to display storage that is 5 pages from the base address 45CB00, enter the command DTST 45CB00,P=5. This is equivalent to entering the command DTST 45CB00, then pressing the page down keys five times. If you enter the command DTST 45CB00,P=-5, it is equivalent to entering the command DTST 45CB00, then pressing the page up keys five times.