Ref:  Your note of Wed, 27 Nov 2019 13:16:33 -0500

> My point is that XA took away 7 bits that were used for various purposes.
> Taking all 8 wouldn't have been a lot more painful.
>
> sas

Are you serious?  The main problem with going from 24-bit to
32-bit addressing was that the standard linkage convention since
OS/360 used the top bit to indicate the end of a variable length
parameter list (for example via the VL option on CALL) and also
in many cases a fixed length parameter list too, just in case it
might be expanded in future.  This usage was very widespread.

In contrast, many 24-bit programs could be updated to run in
31-bit addressing mode without any change to the code,
especially once the data management macros such as GET and PUT
were modified to clean the branch address.

And the use of the high bit for switching between AMODE 24 and
31 was also very neat.  The use of the low bit for AMODE 64
switching is somewhat less neat in that it means that a
different address value is needed for a mode switching call and
the entry point register does not contain the entry point
address when a mode switching call is used.  However, it is
still usable enough in conjunction with relative addressing.

Jonathan Scott, HLASM
IBM Hursley, UK

Reply via email to