This problem is a side-effect of the way in which dependent
USING actually works.  When you declare that field LKINFO can be
based on WKINFO, you are effectively telling HLASM it can assume
that R13 points to LKINFO-(WKINFO offset from R13).  So when it
goes past that offset, it assumes it can use R13 as a base
register.

There has been a requirement to do something to make this safer
to use (while remaining compatible) for a very long time, and
this was finally addressed by APAR PH42816 early this year.
That adds new lower and upper limits on the USING statement,
which apply both to 12-bit and 20-bit displacements, so you can
ensure that a USING statement will not be used to address data
outside the intended range.  However, you should also limit the
range of the overall USING for the area that includes that
dependent range, otherwise you will still have multiple USINGs
for the same range.  For details, see the APAR page:

  https://www.ibm.com/support/pages/apar/PH42816

The weird USING heading may be in error, in that some problems
with dependent USING headers were also fixed by PH42816 and
earlier APAR PH42050 (which added 20-bit displacement support
for dependent USING).

Jonathan Scott, HLASM
IBM Hursley, UK

Reply via email to