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

Reply via email to