The syntax for coding the duplication factor is shown in the subfield format on page ***.
You may omit the duplication factor. If specified, it causes the nominal value or multiple nominal values specified in a constant to be generated the number of times indicated by the factor. It is applied after the nominal value or values are assembled into the constant. Symbols used in subfield 1 need not be previously defined. This does not apply to literals.
The duplication factor can be specified by an unsigned decimal self-defining term or by an absolute expression enclosed in parentheses.
The factor must have a positive value or be equal to zero.
When the duplication factor is zero, the nominal value may be omitted. The alignment is forced, even if the NOALIGN option is specified.
When the duplication factor is zero for a literal, the assembler issues message ASMA067S Illegal duplication factor.
A DC 0Y(0,32768-(*-A)) B DC Y(0,32768-(*-B))
However, if duplication is specified for an address-type literal constant containing a location counter reference, the value of the location counter reference is not incremented by the length of the literal before each duplication is done. The value of the location counter reference is the location of the first byte of the literal in the literal pool, and is the same for each duplication.
The location counter value is that of the instruction in which the literal appears for A-type constants, but for S-type constants it is the location where the literal actually appears.
If a bit-length constant of type A, B, F, H, P, X, Y, or Z is specified with a duplication factor, each nominal value is right-justified in the specified field and padded on the left with zeros or sign bits, according to the type. If unfilled bits remain after each constant is generated, any remaining bits in the last byte are filled with zero bits. That is, padding within a constant is different from filling after a group of constants.
[ Top of Page | Previous Page | Next Page | Contents | Index ]