Offset constant—Q
Use this constant to reserve storage for the offset into a storage area of an external dummy section, or the offset to a part or label in a class. The offset is entered into this space by the binder. The binder inserts the offset into a QY-type constant in 20 bit signed long-displacement format. When the offset is added to the address of an overall block of storage set aside for external dummy sections, it addresses the applicable section.
For a description of the use of the Q-type offset constant in combination with an external dummy section, see External dummy sections. See also Table 1 for details.
In the following example, to access the external dummy section
named
VALUE
, the value of the constant labeled A
is
added to the base address of the block of storage allocated for external
dummy sections. A DC Q(VALUE)
The DXD, DSECT, or part names referenced in the Q-type offset constant need not be previously defined.
Subfield | Value | Example | Result | |
---|---|---|---|---|
1. | Duplication factor | Allowed | ||
2. | Type | Q | ||
3. | Type Extension | D, Y | ||
4. | Program type | Allowed | ||
5. | Modifiers | |||
Length: | Q-type: 1-4 bytes QD-type: 1-8 bytes QY-type: 3 bytes only (no bit length) |
QL2(DXDEXT) | ||
Implicit length: (Length modifier not present) |
Q-type: 4 bytes QD-type: 8 bytes QY-type: 3 bytes |
Q(DXDEXT) | ||
Alignment: (Length modifier not present) |
Q-type: Fullword QD-type: Doubleword QY-type: Halfword |
|||
Scale: | Not allowed | |||
Exponent: | Not allowed | |||
6. | Nominal value Represented by: |
A DXD, DSECT, or part name (an external symbol) |
DC Q(DUMMYEXT) DC Q(DXDEXT) |
|
Enclosed by: | Parentheses | |||
Exponent allowed: | No | |||
Number of values per operand: | Multiple | |||
Padding: | None | |||
Truncation of assembled value: | Not applicable |