For the general case (i.e. modules that could be any AMODE), use:
LLGF R15,PROG@64
BASSM R14,R15
Robert Ngan
CSC Financial Services Group
IBM Mainframe Assembler List <[email protected]> wrote on
2015/08/09 09:22:39:
> From: "[email protected]" <[email protected]>
> To: [email protected]
> Date: 2015/08/09 09:25
> Subject: Re: LOADING An AMODE64 Program
> Sent by: IBM Mainframe Assembler List <[email protected]>
>
> Andreas and Bob
> Thank You
>
> Let me see if I understand this
> After the load I would issue the following
> Rx - GeneralPurpose Registers
> Gx - 64Bit Registers
>
> After the Load
> ST R0,FWD
> LLGTR G15,R0
> STG G15,PROG64@
> .
> .
> PROG64@ DC 2A(0)
> FWD DC A(0)
> .
> .
> * To Invoke the 64Amode Module
> LARL R1,STRUCT31 31 Bit Structure
> LG R15,PROG64@ Ensure R15 Has a Good Address
> OILL R15,X'0001' Ensure bit 63 is 1
> BASSM R14,R15 Call PROG64 in AMODE 64
> *
> So if the above sequence of instructions is corect Do I still Need
> the OILL instruction ?
>
> Paul D'Angelo
> *************
>
>
>
> ---------- Original Message ----------
> From: "Andreas F. Geissbuehler" <[email protected]>
> To: [email protected]
> Subject: Re: LOADING An AMODE64 Program
> Date: Sat, 8 Aug 2015 21:58:53 -0400
>
> Bob Rutledge wrote:
> > Yes, but note: If the loaded program is _marked_ AMODE 64, the
> LOAD service
> > will do all that stuff for you and return the 64-bit address in R0.
> >
> > On 8/8/2015 5:53 PM, Paul wrote:
> >> Thanks Again
> >> SO the sequenec of Instructions should look like this.
> >>
> >> LARL R1,STRUCT31 31 Bit Structure
> >> L R15,PROG64@ Get Target Routine Address from Load
> >> LLGTR R15,R15 Ensure R15 Has a Good Address
> >> OILL R15,X'0001' Ensure bit 63 is 1
> >> BASSM R14,R15 Call PROG64 in AMODE 64
> >>
> >> *
> >> *31 Bit Storage
> >> DS 0D
> >> PROG64$ DC CL8'PROG64 '
> >> PROG64@ DC A(0)
> >> *
> >> STRUCT31 DS CL256
>
> Paul, just in case you or someone decides to add AMODE 64 I'd change
> PROG64@ DC A(0) --> 2A(0)
>
> Andreas Geissbuehler