The DXD instruction identifies and defines an external dummy section.
![Read syntax diagram](./c.gif)
>>-symbol--DXD--+--------------------+--type-------------------->
'-duplication_factor-'
>--+----------------+--+----------+--+-------------------+-----><
'-type_extension-' '-modifier-' | .-,-------------. |
| V | |
'---nominal_value-+-'
- symbol
- Is an external symbol which is one of the following:
- An ordinary symbol
- A variable symbol that has been assigned a character string with
a value that is valid for an ordinary symbol
- duplication_factor
- Is the duplication factor subfield equivalent to the duplication
factor subfield of the DS instruction.
- type
- Is the type subfield equivalent to the type subfield of the DS
instruction.
- type_extension
- Is the type extension subfield equivalent to the type extension
subfield of the DS instruction.
- modifiers
- Is the modifiers subfield equivalent to the modifiers subfield
of the DS instruction.
- nominal_value
- Is the nominal-value subfield equivalent to the nominal-value
subfield of the DS instruction. The nominal value is optional. If
specified, it is not generated.
The DXD instruction can be used anywhere in a source module, after
the ICTL instruction.
In order to reference the storage defined by the external dummy
section, the ordinary symbol denoted by symbol must
appear in the operand of a Q-type constant. This symbol represents
the address of the first byte of the external dummy section defined,
and has a length attribute value of 1.
The subfields in the operand field (duplication factor, type, type
extension, modifier, and nominal value) are specified in the same
way as in a DS instruction. The assembler computes the amount of
storage and the alignment required for an external dummy section from
the area specified in the operand field. For more information about
how to specify the subfields, see DS instruction.
For example:
A DXD CL20 20 bytes, byte alignment
B DXD 3F,XL4 20 bytes, fullword alignment
C DXD LQ 16 bytes, quadword alignment
The linker uses the information provided by the assembler to compute
the total length of storage required for all external dummy sections
specified in a program.
Notes: - The DSECT instruction also defines an external dummy section,
but only if the symbol in the name field appears in a Q-type offset
constant in the same source module. Otherwise, a DSECT instruction
defines a dummy section.
- If two or more external dummy sections for different source modules
have the same name, the linker uses the most restrictive alignment,
and the largest section to compute the total length.