Ref:  Your note of Tue, 5 Apr 2022 12:09:44 +0000

Shmuel (Seymour J.) Metz writes:
> What is the effect if both end and upper limit are present? That should be
> documented in the reference manual.

The USING statement is only used to resolve an address if all
relevant constraints are satisfied.  So for a reference using a
12-bit displacement, the address is checked to ensure it is
greater than or equal to the first base register address and
less than any end value, and if lower or upper limits are
present it is also checked to ensure it is greater than or equal
to any lower limit and less than any upper limit.  For a 20-bit
displacement, any lower and upper limits are checked, and the
displacement must lie within the 20-bit signed range.

The lower and upper limits are treated in a somewhat different
way from the base and end values, in that if an address is
outside the range of the limits then the USING statement is
assumed not to apply at all, but if a 12-bit displacement is
outside the range between the base and the end that may be
reported as an addressability error because of being some number
of bytes outside the range of the best USING statement.

A documentation update is included in the APAR page, and we hope
this rule should be clear from the update.

The actual documentation update is still in progress (partly
because we are also trying to find a workaround for some
problems with mapping our example listings into the current
IBM Docs style).

Jonathan Scott, HLASM
IBM Hursley, UK

Reply via email to