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

Reply via email to