During display of the status and stack windows and during output of a memory segment in symbolic format (overlaid with a DSECT), DAMP attempts to interpret the contents of the various fields. In particular, it attempts to relocate addresses, i.e. to represent them as a module and a displacement within this module. This is done in accordance with the following rules.
In dump windows,
the start address is interpreted relative to a specific module. Furthermore, all displayed relative addresses refer to the beginning of the module visible in the window. The contents are edited, at most, up to the end of the module.
If this form is not desired (when, for example, the relative addresses are to refer to the start of a table located within a module), the following steps must be carried out:
position to the start of the table
enter “ALT” in the ASEL field.
DAMP then uses the current start address of the window as the basis for address relocation. In this case, output is also continued past the end of the module.
All addresses in diagnosis objects are always interpreted as 31-bit addresses (/390 objects) or 32-bit addresses (x86 objects). If this is not desired, you will need to overlay the memory segment with a DSECT and then proceed as in the case of symbolically edited segments (see section “Symbolic layout”).
In TU-PCBs,
the addresses are interpreted as 24-bit, 31-bit or 32-bit addresses, depending on the addressing mode set in the PCB. 32-bit addresses are only possible for x86 objects. Modules from the connected nonprivileged subsystems and CSECTs of any loaded user program are taken into account for address relocation. General-purpose registers 0 and 1 are never addressed relatively.
If the access register mode flag (AR mode flag) is set in the PCB being displayed, and if the access register of the same name contains a value (ALET) other than zero, the act of marking a general-purpose register immediately assigns the corresponding data space and displays it in the requested window.
In TPR-PCBs,
addresses are always interpreted as 31-bit addresses (/390 objects) or 32-bit addresses (x86 objects). Modules of the Control Program (CP) and of all privileged subsystems thar are loaded are taken into account for address relocation.
The same applies to TPR PCBs where the AR mode flag is set as described above for TU PCBs.
In symbolically edited memory segments,
addresses are always interpreted as 31-bit addresses (/390 objects) or 32-bit addresses (x86 objects).
In special cases (for example, when viewing user parameter lists), this may not be desired. In such cases, the statement
MODIFY-OBJECT-ASSUMPTIONS ADDRESSING-MODE=*PAR(<control-block>, *NXS/ *XS31)
can be used to specify that the addresses are to be regarded as 24-bit addresses for the specified control block. Depending on whether the data is in user memory or in system memory, all modules or only modules belonging to the Control Program and to class 4 subsystems are taken into account for address relocation.
In function-specific windows
such as the TRACE, FIND, SUSY or TABL window, addresses are always interpreted in the same way as for memory segments.
Exception
Address relocation is performed in the same way as for TU-PCBs only in the case of AUDIT windows for a TU AUDIT.