Ref:  Your note of Wed, 5 Nov 2014 23:42:24 -0500

The purpose of an RFE is primarily for IBM to determine
requirements and priorities.  You do not need to specify the
solution in detail, only the overall requirement.

HLASM is already aware of three specific requirements in the
USING/DROP area, all of which I discussed with John Ehrman some
years ago.  We came up with suggested solutions too, so if these
areas are considered sufficiently high priority in future, there
is already a provisional solution defined (although there is of
course no guarantee that HLASM will actually do it that way, if
at all).

1.  Dependent USING support for long displacements

    For 20-bit displacement support, a dependent USING should be
    able to be defined anywhere within the 20-bit addressable
    range of an existing base register.  (This was also discussed
    on the mailing list some time ago).

    The suggested solution is that if the OPTABLE specifies an
    instruction set which includes 20-bit displacement support,
    the base address of a dependent USING will be considered
    valid if it is addressable using a 20-bit displacement,
    otherwise it must be addressable using a 12-bit displacement
    as at present.

    Obviously, if a dependent USING was accepted as being
    addressable only using 20-bit support but was then used to
    resolve a 12-bit addressable reference, this would still give
    an error as usual, but only on the reference, not on the
    USING.

2.  USING support for long displacement limits

    USING needs additional support for lower and upper limits for
    20-bit displacements.

    The suggested solution is to extend the first parameter of
    the USING statement to the following form with two new
    optional subparameters:

    USING (base,limit,lower,upper),...

    The first limit field only applies to 12-bit displacements,
    for total compatibility with existing code.  The base also
    effectively acts as a lower limit for 12-bit displacements.
    The new lower and upper limits apply to both 12-bit and
    20-bit displacements.  For a 12-bit displacement, a location
    is only addressable if it lies within both sets of limits.
    Note that the lower limit may be greater than the base, to
    limit the addressability to an area which does not include
    the base address.

    If a location is outside the range limits, this does not
    directly cause an error, but merely means that it is not
    addressable via that USING statement, as at present.

    The above change for USING limits also allows the same base
    registers to be used to address multiple discontiguous parts
    of the same section, for example as follows:

      USING (codebase,,code,code_end),R3,R4,R5
      USING (codebase,,static,static_end),codebase
      USING (codebase,,literals,literals_end),codebase

    There is a complication that the USING map part of the
    listing would need enhancement to reflect the new
    information, and there now seems to be too much information
    to fit on a single line for each USING, so the layout of that
    section might need to change somewhat.

3.  DROP by address

    It would be more convenient to DROP a USING statement by
    reference to a location addressed via that USING statement
    rather than having to specify a base register or qualifier.
    For example, one could DROP the name of a DSECT rather than
    its base registers.

    The suggested solution is that if an operand to DROP is a
    relocatable expression rather than a register, it drops the
    USING statement that would be used to resolve the relevant
    address.

    This would also finally provide a method of dropping a
    dependent USING, which is another subject that was previously
    mentioned on the mailing list.

John Ehrman has previously recorded customer requirements for all
three of the above, but I think that only the first of these has
also been recorded on the new RFE tool, so if you want to request
either of the other enhancements mentioned above someone will
need to create a new RFE.

Jonathan Scott
IBM Hursley, UK

Reply via email to