At 22:51 -0600 on 08/19/2014, Paul Gilmartin wrote about Re: How to
assign length of generated instructions to macro:
ï On boundaries implicit to the type of constant (see "Implicit
Boundary Alignment" in Table 2) when no length is specified.
ï Alignment can be forced to any boundary by a preceding DS or DC
instruction with a zero duplication factor. This occurs whether or
not the ALIGN option is set.
But by experiment:
Loc Object Code Addr1 Addr2 Stmt Source
Statement
000000 00000 00002 1 TINY
CSECT
000000 F1 2 A DC
C'1'
000001 3 B DC
0AL4(2)
000001 4 C DC
0FL4'3'
000001 F4 5 D DC
C'4'
6 END
I guess length specifier overrides 0 duplication factor, which overrides
NOALIGN option. This isn't entirely clear -- should the order of the
sections in the manual make it so?
Almost. A supplied length says no alignment (ie: Start at the next
byte). The 0 duplication says to ignore the length (implied or
supplied) in advancing the address counter but align to the designate
alinement. NOALIGN says to ignore all alignment (ie: Act as if all
the DC/DS have L-Parms).
IOW: If B is 0A(4) it would be at offset 4. C (even without the L4)
would then also be at offset 4 (since it is already FW Aligned).