Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Symbolic layout

&pagelevel(5)&pagelevel

If a memory segment is structured in the form of a standard DSECT, then DAMP can display this segment in the format of this DSECT. (The term DSECT is used below to refer to structures from the various programming languages, e.g. for ASS-DSECTs, MODELs (SPL), STRUCTUREs (C).) The various fields of the DSECT are interpreted in accordance with their data types. Numeric values are displayed both in hexadecimal form and as an address or decimal value. Strings are always displayed as strings.

Since the definitions of the field names in the DSECTs being used do not always match their meanings (e.g. CL4 instead of AL4), some of the interpretations may be slightly inaccurate. This can be rectified by modifying the DSECTs and then generating a new or modified symbol file (see section "Using private symbol elements").

In addition to the global and task-specific tables which can be localized automatically, any desired memory segment can be displayed in the format of a DSECT. Two different methods are available.

Overlaying with a complete DSECT

In order to overlay a memory segment with a DSECT, the beginning of the displayed memory segment must correspond to the beginning of the DSECT. Entering the DSECT name in the input field “Symbolic address” and entering the keyword “CBM” in the input field “Output format” causes the output to be displayed in symbolic format. It is not necessary to enter the keyword “CBM” if DAMP cannot automatically localize the DSECT.

If the memory segment is localized by entering an absolute address in the header line, a DSECT name can be entered at the same time. The output of the memory area then follows immediately in symbolic format.

Figure 30: Output of a stack in symbolic format. The DSECT name is displayed in the key line.

The contents of the “Output format” field indicate whether a DSECT has been localized automatically by DAMP (field contains CBA = control block automatic) or whether the user has positioned the DSECT (field contains CBM = control block manual). If the field contains the entry CBM, this means that entering a field name of the overlaid DSECT in the input field “Symbolic address” will cause paging within the DSECT format. Automatic positioning to the field name of the corresponding system table, which may be possible here, is not active.

The assignment of a DSECT to a window is stored. As a result, if the same structure is localized in another memory segment (e.g. in the case of chained lists) and this memory segment is then assigned to this diagnostic window by, for example, marking it and pressing the appropriate P key, the window is not switched to dump layout. Instead, the output is immediately edited symbolically to match the previously saved DSECT.

This also happens if some other memory segment is assigned to the window. This segment is then displayed in the format of the saved DSECT, which will probably be incorrect. If this is the case, you will then need to either enter the name of the correct DSECT or switch to dump format by entering D in the “Output format” of the header line.

Overlaying with an offset DSECT

If a memory segment is formatted in accordance with only a part of a DSECT (as is the case for the local XVTs for multiprocessors, see figure 28 (Output of processor storage areas)), then a displaced overlay must be used. In this case, the appropriate DSECT field name must be entered in the input field “Symbolic address” and the entry “CBM” must be made in the “Output format” field. The keyword “CBM” need not be entered if the DSECT cannot be localized automatically.

This can also be used to save having to page back to the start address of a table. If the field name of the start of the displayed memory segment is known, the displayed segment can be overlaid by specifying the field name again.

Paging within a DSECT is possible via / and +/-/++/--, but only as far as the beginning or end of the DSECT. The symbolic layout is not affected by this.

Lists of all DSECTs that can be specified for all supported BS2000 versions can be found on "List of DSECTs from the standard symbol files". DSECTs from private symbol files can also be used (see section "Using private symbol elements" for further details).

In the symbolic output, X'4F' is used as the column separator character. With certain terminal settings and with certain printer character sets, this character is not represented as the vertical line “|”. This can be remedied with the aid of the user parameter “Column separator (list)” (see "Modification by the user (special window: OPTIONS)").

Overlaying with the pseudo-DSECT WORDLIST

If a memory segment is not described in the form of a DSECT which can be overlaid, but (possibly) contains address references to system areas, then these addresses can be edited symbolically with “module name + displacement” with the aid of the pseudo-DSECT WORDLIST.

For each word of the memory segment, this pseudo-DSECT assumes the Assembler declaration DS AL4. If the contents of the word formally permit, they are displayed as “module name + displacement”.

It is thus possible, for example, to overlay the constant area of a module with WORDLIST in order to implement module-relative editing of the external addresses used therein.

Figure 31: Editing with the DSECT WORDLIST; display in the key line: WORDLIST

In the case of class 6 memory, only addresses from the user program and from connected nonprivileged subsystems are relocated. If special circumstances dictate that relocated addresses are also required for privileged subsystems, the memory segment must be identified as a data space by entering “ALT” in the ASEL field.

Handling substructures

Substructures are permitted in control blocks that were defined in a high-level language. DAMP allows substructures of this sort to be “revealed” or “hidden”.

To start with, the substructures are ignored when a control block is output, i.e. the fields concerned are output as an “ARRAY OF BYTES”. The names of the fields containing the substructures are prefixed by an asterisk (*).
If you overwrite this character with a “+”, the corresponding substructure is “revealed” and if you overwrite it with a   “-”, the substructure is “hidden”.

The choice of transmission key ( or ) determines whether the substructure is revealed in “edited” format or “compressed” format.

  •  “edited” format. Only one data field of the substructure is displayed below the superordinate name in each line. The field names are indented.
  •  “compressed” format. The substructure is displayed in the same way as a normal control block. It is merely inserted in the appropriate position in the window. 

Figure 32: Hidden sample substructure

Figure 33: Fully revealed substructure in edited format

Figure 34: Revealed substructure in compressed format