I'd suggest using LOADPT= to get an address not contaminated with addressing mode bits, but this doesn't support returning 64-bit values yet.
Robert Ngan CSC Financial Services Group IBM Mainframe Assembler List <[email protected]> wrote on 2015/08/19 11:29:31: > From: Paul Gilmartin <[email protected]> > To: [email protected] > Date: 2015/08/19 11:31 > Subject: Re: LOADING An AMODE64 Program > Sent by: IBM Mainframe Assembler List <[email protected]> > > On 2015-08-19, at 08:42, Steve Smith wrote: > > > Speaking of RMODE 64, I see that HLASM supports it, but the Binder doesn't > > on z/OS. So it's unclear if LOAD supports RMODE 64 yet. Assuming support > > is added someday, I presume LINK will not. > > > Does this mean that one can't create a data module to be loaded above-the-bar? > One must obtain STORAGE and copy into it? Can one IDENTIFY an address above- > the-bar? > > > However, assuming the Binder is consistent and requires AMODE 64 on an > > RMODE 64 module, LOAD will always return an odd address, although you can't > > directly use it for anything! (Based on the assumption that above-the-bar > > execution is still not supported). > > > That matter seems moot if the Binder (or anything else) can't create > an RMODE 64 object. If it did, it could still be used for data. > > A while back I heard in these fora that one could branch to code above- > the-bar provided interrupts were disabled; interrupts above-the-bar > were lethal. More recently that interrupts are supported, but no > (few?) system services can be invoked from above-the-bar. > > > On Wed, Aug 19, 2015 at 7:47 AM, Peter Relson <[email protected]> wrote: > >> > >> Might the programmer declare an odd address as an ENTRY for the > >> purpose of accessing data at that address? > >> This becomes smbiguous with AMODE(64). > >> That is an interesting question. I wonder how IBM handled the case. > >> > >> Yes they might. We chose not to "handle" it. In a word (well, 3 words), > >> "don't do that". > >> > Again, for data, what about RMODE(64) AMODE(24) to avoid overlaying > bit 32 (as by AMODE 31) or bit 63 (as by AMODE 64)? > > The corresponding problem doesn't occur for RMODE(31) because bit 0 > of a fullword address is not used for addressing (except to select > addressing mode in some branch instuctions.) > > -- gil
