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
