On Dec 30, 2010, at 13:11, Blaicher, Chris wrote: > The answer comes from the POP manual. > > "The displacement for LA is treated as a 12-bit > unsigned binary integer. The displacement for LAY is > treated as a 20-bit signed binary integer." > > It is perfectly legal and appropriate for the LAY to go negative. > That's the hardware, not the assembler. There are many new features of the hardware that have no corresponding features in HLASM, such as 64-bit arithmetic evaluation.
In some cases the assembler, using 32-bit arithmetic, will generate instructions that produce mathematically incorrect results in 64-bit mode. However, it appears in this case that the assembler is savvy to negative displacements; the manual may not have caught up yet, or may not be explicit on the matter. --gil
