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