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

Reply via email to