Yep, serious, at least as far as a moot & hypothetical discussion of
history goes.  There are (hypothetically) other ways to handle those issues.

Having R15 as the incoming EPA has never been more than a convenience
anyway. The first example program in my first assembler class (long before
MVS/XA, much less relative addressing) used BALR 12,0 to set the base
address.

sas

On Wed, Nov 27, 2019 at 1:35 PM Jonathan Scott <[email protected]>
wrote:

> 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
>


-- 
sas

Reply via email to