On 2014-08-19, at 09:00, Steve Hobson wrote: >> I've been told that DS 0AL4(...) forces fullword alignment, which >> may sometimes be undesirable. > > Nope. Length qualifier turns off alignment (in all cases, AFAIK) > I stand corrected. I had heard, and I read:
http://pic.dhe.ibm.com/infocenter/zos/v2r1/topic/com.ibm.zos.v2r1.asma400/alcon.htm Alignment of constants HLASM Language Reference SC26-4940-06 • 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? -- gil