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.

Table 1. Q offset constants
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