HLASM Language Reference

HLASM Language Reference HLASM Language Reference

faculty.cs.niu.edu
from faculty.cs.niu.edu More from this publisher
22.02.2015 Views

DC Instruction—Offset Constant reserved for the V-type constant; the correct relocated value of the address is inserted into this space by the linkage editor before your object program is loaded. The symbol specified (see ▌1▐ in Figure 46) in the nominal value subfield does not constitute a definition of the symbol for the source module in which the V-type address constant appears. The symbol specified in a V-type constant must not represent external data in an overlay program. Figure 46. V Address Constants Subfield Value Example Result 1. Duplication factor Allowed 2. Type V | 3. Type Extension D | 4. Program type Allowed 5. Modifiers | Implicit length: V-type: 4 bytes (length modifier VD-type: 8 bytes not present) Alignment: V-type: Fullword | (Length modifier VD-type: Doubleword not present) Range for length: V-type: 4 or 3 only | VD-type: 3, 4 or 8 (no bit length) Range for scale: Range for exponent: 6. Nominal value Represented by: Enclosed by: Exponent allowed: Number of values per operand: Padding: Truncation of assembled value: Not allowed Not allowed A single external symbol Parentheses No Multiple None Not applicable VL4(ExtSym) DC V(MODA) ▌1▐ DC V(EXTADR) ▌1▐ In the following example, 12 bytes are reserved, because there are three symbols. The value of each assembled constant is zero until the program is link-edited. VCONST DC V(SORT,MERGE,CALC) 158 HLASM V1R5 Language Reference

DC Instruction—Length Constant 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 label in a class. The offset is entered into this space by the linker. 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” on page 57. See also Figure 47 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 or DSECT names referenced in the Q-type offset constant need not be previously defined. Figure 47. Q Offset Constants Subfield Value Example Result 1. Duplication factor Allowed 2. Type Q | 3. Type Extension D | 4. Program type Allowed 5. Modifiers Implicit length: Q-type: 4 bytes (length modifier | QD-type: 8 bytes not present) Alignment: Q-type: Fullword | (Length modifier QD-type: Quadword not present) Q(DXDEXT) Range for length: Q-type: 1 to 4 bytes QL2(DXDEXT) | QD-type: 1 to 8 bytes (no bit length) Range for scale: Range for exponent: 6. Nominal value Represented by: Enclosed by: Exponent allowed: Number of values per operand: Padding: Truncation of assembled value: Not allowed Not allowed A DXD or DSECT name (an external symbol) Parentheses No Multiple None Not applicable DC Q(DUMMYEXT) DC Q(DXDEXT) Chapter 5. Assembler Instruction Statements 159

DC Instruction—Length Constant<br />

Offset Constant—Q<br />

Use this constant to reserve storage for the offset into a storage area of an external<br />

dummy section, or the offset to a label in a class. The offset is entered into this<br />

space by the linker. When the offset is added to the address of an overall block of<br />

storage set aside for external dummy sections, it addresses the applicable section.<br />

For a description of the use of the Q-type offset constant in combination with an<br />

external dummy section, see “External Dummy Sections” on page 57. See also<br />

Figure 47 for details.<br />

In the following example, to access the external dummy section named VALUE, the<br />

value of the constant labeled A is added to the base address of the block of<br />

storage allocated for external dummy sections.<br />

A DC Q(VALUE)<br />

The DXD or DSECT names referenced in the Q-type offset constant need not be<br />

previously defined.<br />

Figure 47. Q Offset Constants<br />

Subfield Value Example Result<br />

1. Duplication factor Allowed<br />

2. Type Q<br />

| 3. Type Extension D<br />

| 4. Program type Allowed<br />

5. Modifiers<br />

Implicit length:<br />

Q-type: 4 bytes<br />

(length modifier<br />

| QD-type: 8 bytes<br />

not present)<br />

Alignment:<br />

Q-type: Fullword<br />

| (Length modifier QD-type: Quadword<br />

not present)<br />

Q(DXDEXT)<br />

Range for length: Q-type: 1 to 4 bytes QL2(DXDEXT)<br />

| QD-type: 1 to 8 bytes<br />

(no bit length)<br />

Range for scale:<br />

Range for exponent:<br />

6. Nominal value<br />

Represented by:<br />

Enclosed by:<br />

Exponent allowed:<br />

Number of values<br />

per operand:<br />

Padding:<br />

Truncation of<br />

assembled value:<br />

Not allowed<br />

Not allowed<br />

A DXD or DSECT<br />

name (an<br />

external symbol)<br />

Parentheses<br />

No<br />

Multiple<br />

None<br />

Not applicable<br />

DC Q(DUMMYEXT)<br />

DC Q(DXDEXT)<br />

Chapter 5. Assembler Instruction Statements 159

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!