Multiple Addresses

The multiple addresses option enables you to specify more than one address. DUMPANALYZER treats the addresses generated by these expressions as sequences; that is, DUMPANALYZER generates the first address in the sequence and passes it to the execution routine that requires it. Then, DUMPANALYZER generates the next address, and so forth, until the list is exhausted. DUMPANALYZER generates the addresses in the proper order, with memory addresses increasing, except in the case of stack-related addresses, which are generated from LOSR to BOSR. These rules hold true even when you do not specify the proper order.

<multiple addresses>

Syntax

    ┌◄──────────────── , ───────────────┐
──┬─┴─<simple address>─┬──────────────┬─┴─┬────────────────────────────┤
  │                    └─<until part>─┘   │
  └─ ASDTABLE ────────────────────────────┘

<until part>

──┬─ FOR ─┬─<simple value>─┬───────────────────────────────────────────┤
  │       └─ ALL ──────────┤
  └─ TO ─┬─<offset>────────┤
         ├─<stack offset>──┤
         └─ END ───────────┘

Explanation

The following text describes the meaning of each variable:

ASDTABLE

Indicates that the address range covers the region of memory occupied by the ASD table.

<until part>

Specifies the range over which a list of multiple addresses is to extend, from an initial location.

FOR ALL

Indicates that all the addresses from the initial location to the end of the area referenced by the descriptor that provided the initial location are to be included as part of the multiple addresses.

FOR <simple value>

Indicates the number of consecutive addresses to be included in the multiple addresses list. The <simple value> construct is defined later in this subsection.

TO <offset>

Indicates the highest address to be included in that part of the multiple addresses.

TO <stack offset>

Indicates that all addresses up to the indicated location in the stack (BOSR, LOSR, SREG) are to be included as part of the multiple addresses.

TO END

Indicates that all the addresses from the initial location to the end of the area referenced by the descriptor that provided the initial location are to be included as part of the multiple addresses.

Note: Only one absolute address is allowed for each statement. Multiple stack references must reference the same stack.

Examples

The following examples show possible multiple addresses. Each example uses a different form of the <until part>.

Multiple Addresses

Description

3BAC FOR 20

Specifies the region starting at absolute address 3BAC and extending for 20 words.

3BAC TO 3BCB

Specifies the region extending from absolute address 3BAC to absolute address 3BCB.

STK 32 LOSR TO BOSR

Specifies the region extending from the bottom-of-stack register (BOSR) for stack 32 to the limit-of-stack register (LOSR) for the same stack. DUMPANALYZER ignores the fact that LOSR and BOSR appear in reverse order in the address.

STK 11C BASE BDINFO FOR ALL

Specifies the entire region referenced by the BDINFO word in process stack 11C.