Simple Address

A simple address represents a location in memory. One of the common uses of the <simple address>construct is in the MD command, described later in this section.

A simple address consists of either of the following:

  • Absolute address.

  • Simple location. The simple location can be stack-related, global, or indirect.

The absolute address and the simple location can be followed by an offset. The offset is a number that indicates the displacement of the simple address from the given simple location or absolute address.

Syntax

<simple address>

──┬─<absolute address>─┬─┬────────────────┬────────────────────────────┤
  ├─<simple location>──┘ ├─ + ─┬─<offset>─┤
  │                      └─ - ─┘          │
  └─<stack ID>────────────────────────────┘

<absolute address>

──<number>─────────────────────────────────────────────────────────────┤

<simple location>

──┬─<stack ID>─┬─<stack offset>──────────────┬─────────────────────────┤
  │            └─ BASE ─┬─<attribute name>───┤
  │                     └─ # ──<offset>──────┤
  ├─ PIB ──<stack number>─┬─<attribute name>─┤
  │                       └─ # ──<offset>────┤
  ├─ TAB ──<stack number>─┬─<attribute name>─┤
  │                       └─ # ──<offset>────┤
  ├─ G ─┬─<global ID>────────────────────────┤
  │     └─ # ──<offset>──────────────────────┤
  ├─ RV ──<simple value>─────────────────────┤
  └─ VIA ──<ASD number>──────────────────────┘

<stack ID>

──┬─ STK ──<hexadecimal stack number>─┬─┬──────┬───────────────────────┤
  └─ @ ───────────────────────────────┘ └─ SD ─┘

<stack offset>

──┬─ LOSR ─┬───────────────────────────────────────────────────────────┤
  ├─ BOSR ─┤
  ├─ SREG ─┤
  └─ FREG ─┘

<offset>

──<number>─────────────────────────────────────────────────────────────┤

Explanation

The following text describes the meaning of each variable.

<absolute address>

Indicates a hexadecimal, decimal, or octal number that specifies an address within a present, online memory module. The prefixes DEC and OCT are required if decimal or octal numbers are specified. The minimum valid address is 0. The maximum valid address is determined by the memory capacity of the system.

<simple location>

Specifies locations in memory that are stack-relative, global identifiers, or indirect.

The following groups of variables represent valid simple locations; expansions of some of the variables within those groups are included:

<stack ID>

Specifies a stack by number or uses the last stack explicitly referenced. An expansion of the variable <stack ID> follows. The option STK means a stack is involved.

Enter . . .

To specify the . . .

STK <number>

Stack by the hexadecimal number. Specifying a stack by its hexadecimal number sets up the at sign (@) for subsequent use.

STK <number> SD

Segment dictionary specified by the hexadecimal number that identifies the stack.

@

Last stack explicitly referenced.

@ SD

Segment dictionary of the last stack explicitly referenced.

<stack ID> <stack offset>

Identifies a specific location within the specified stack. An expansion of the <stack offset> construct follows:

Enter . . .

To specify the . . .

LOSR

Limit-of-stack register

BOSR

Bottom-of-stack register

SREG

S register

FREG

F register for environment stacks (that is, stacks that are not segment dictionaries)

<stack ID> BASE <attribute name>

<stack ID> BASE <offset>

PIB <stack number> <attribute name>

PIB <stack number> <offset>

TAB <stack number> <attribute name>

TAB <stack number <offset>

These constructs identify the stack BASE, the process information block (PIB), or the task attribute block (TAB) of the stack. You must specify either a stack ID (with BASE), a stack number (with PIB), or a stack number (with TAB). In addition, you must identify either an offset or an attribute name.

Note that attribute names can change with a new MCP release. To identify attribute names, enter either of the following commands:

  • PIB <valid stack number>

  • TAB <valid stack number>

Following are two examples of the use of attribute names:

MD PIB 1E4 ASDSINUSE
MD TAB 5D PRIORITY

G <global ID>

Identifies the name of a D[0] variable or procedure in the MCP.

G <offset>

The G means that the location is global. The offset indicates a displacement of a given number of words away from D[0].

RV <simple value>

Allows a cell that contains a reference value to be used as an indirect address. A reference value can be an absolute address, an indirect reference word (IRW), or a stuffed indirect reference word (SIRW). An IRW requires that an environment be set up, but an SIRW does not. A set-up environment implies that a stack has already been referenced. An absolute address is used as is. The actual value that can be used for indirect addressing is a simple value, which is defined later in this section. Each level of indirection is printed as it occurs so that you can see each chain of addresses along with the referenced data.

VIA <ASD number>

Specifies a simple location pointed to by an ASD number. The ASD number can be any number from 1 through the largest valid actual segment descriptor (ASD) that is specified in ASD1[0].

+ <offset>

- <offset>

Specify the number of words away from a reference point, such as a simple location, that a particular address is located. The offset can be in decimal, octal, or hexadecimal form. If you specify the offset in decimal form, precede the offset with DEC. If you specify the offset in octal form, precede the offset with OCT. The offset either increases (+) or decreases (-) the address.

Examples

The following examples show simple addresses. The components of the simple address are delimited by either spaces or special characters. You need to use delimiters whenever two alphanumeric items are juxtaposed.

Simple Address

Meaning

41AC0

ABSOLUTE ADDRESS

DEC 47990

ABSOLUTE ADDRESS

OCT 170071

ABSOLUTE ADDRESS

STK 4A BASE LOCKCOUNT

BASE ADDRESS (STACK-RELATED)

PIB 2E7 ASDSINUSE

PIB ADDRESS (STACK-RELATED)

PIB 2E7 # 5F

PIB ADDRESS (STACK-RELATED)

TAB 2E7 MYNAME

TAB ADDRESS (STACK-RELATED)

TAB 2E7 #DEC 48

TAB ADDRESS (STACK-RELATED)

@ SD LOSR

INVARIANT STACK-RELATED ADDRESS

G HLUNIT

GLOBAL IDENTIFIER ADDRESS

RV M[47AB]

INDIRECT ADDRESS