gil writes: > Does that imply that the value of > SYMBOL EQU * > following such a field whose "length cannot be resolved" > is similarly unresolvable by lookahead?
Lookahead does not resolve locations. It can resolve the type of a symbol or the length of a DC/DS statement or similar. During the assembly pass, the assembler builds up sections leaving gaps wherever the alignment padding required or the size of an item is unknown at the time the relevant statement is processed. Each contiguous chunk is handled in a similar way to a LOCTR section at the user level. The location counter is initially set to the offset within the current chunk. The difference between two symbols can therefore be resolved to an absolute value during the assembly pass provided that they are within the same contiguous chunk with no gap between them. At the end of the assembly pass, there is a process called the "interlude" which repeatedly scans the list of unresolved EQU symbols and location counter gaps trying to resolve them, adjusting location counters as chunks are merged into complete sections. If it can't resolve anything, it issues an error message saying that a statement cannot be resolved then discards it then tries again until all gaps are resolved or discarded. Jonathan Scott, HLASM IBM Hursley, UK
