There are no address registers or data registers, only general registers, which prior to z were 32 bits. XA and ESA mode only used 31 bits for addressing, with the high bit designating addressing mode (except when it didn't). The behavior of some instructions is different in 24 bit mode.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Tony Thigpen <[email protected]> Sent: Wednesday, May 9, 2018 10:31 PM To: [email protected] Subject: Re: GETMAIN LOC=32 Paul said: > You're quibbling over semantics. A program that > uses 32-bit data registers and 32-bit address > registers and 32-bit code pointers and 32-bit > data pointers is a 32-bit load module. There is just so much wrong with that statement. Address registers are only 31bit, not 32bit. The first bit is ignored on real IBM hardware. Same for data registers, code pointers and data pointers. And there is not such thing as a "32-bit load module" on *REAL* IBM hardware. (If you want to talk 64-bit, that is another animal.) No matter how many time you say it, it does not make it true. 32bit does not exist on any IBM mainframe. You keep saying it is semantics. It's as much semantics as saying Red is Blue. Tony Thigpen Paul Edwards wrote on 05/09/2018 08:26 PM: > On Wed, 9 May 2018 19:17:37 -0500, Joe Monk <[email protected]> wrote: > >> There is no such thing as a 32-bit load module on any of the platforms you >> have mentioned. > > You're quibbling over semantics. A program that > uses 32-bit data registers and 32-bit address > registers and 32-bit code pointers and 32-bit > data pointers is a 32-bit load module. > >> IBM 370 machines running MVS 3.8J (OS/VS2 3.8) are incapable of running >> 32-bit code due to their use of the high bit for passing parameter lists, >> which is the entire reason for the existence of the 2GB-4GB bar. > > That is not correct. You can run in AMODE 64 > so long as you step down to AMODE 24/31 > (wherever you were loaded) prior to executing > whatever code requires the parameter list > convention. You also need to obtain the memory > for the parameters from 31-bit storage. AM64 > means that 32-bit modules no longer need to > be constrained by the 2GiB bar, which is the > entire reason for this thread. > > BFN. Paul. > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN > > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
