The DS 0CL cannot be resolved in the first pass, because the
length is a forward reference, and that creates a location
counter break at that point, so the alignment after it is
unknown and padding bytes might be needed at any point where a
more aligned field follows a weaker alignment.
 
(In this case, as the duplication factor is zero, a person can
tell that this would not affect the location counter, but as the
whole DC gets deferred as "unresolved" this causes a break.  We
have investigated the possibility of an enhancement to allow a
DC statement to be "partially resolved" to improve handling of
similar cases, but this would be very difficult to implement.)
 
This means that if the first field does not have the strongest
alignment, the length cannot be resolved until the alignment
before that field is known, but the DS 0CL cannot be resolved
until the length is known, so the statement cannot be resolved.
 
João writes:
> 000020                            32923+FTOECLR  DS    0CL(FTOECLRL)
> ** ASMA080E Statement is unresolvable
...
> When I put FTOAASCB (a fullword) in the front, it works fine.
>
> When I put FTOMTLN (a halfword) in the front, is doesn’t work.
 
Jonathan Scott, HLASM
IBM Hursley, UK

Reply via email to