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

Reply via email to