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).

Reply via email to