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