z/OS doesn't support RMODE=64 modules at present. Since LLGF loads a 32-bit
address into a 64-bit register, it'll work for all valid 32-bit entry point
address values.  For 64-bit address fields, use LG.

Robert Ngan
CSC Financial Services Group

IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> wrote on
2015/08/10 18:00:04:

> From: Bob Rutledge <deerh...@ix.netcom.com>
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Date: 2015/08/10 18:01
> Subject: Re: LOADING An AMODE64 Program
> Sent by: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU>
>
> If PROG@64 us a 64-bit address field; branching to its high-order word
will
> currently head for location 0.
>
> If PROG@64 is a 32-bit address field LLGF will leave bit 33 on and head
for
> never-never land.
>
> Bob
>
> On 8/10/2015 6:30 PM, Robert Ngan wrote:
> > 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 <ASSEMBLER-LIST@LISTSERV.UGA.EDU> wrote on
> > 2015/08/09 09:22:39:
> >
> >> From: "esst...@juno.com" <esst...@juno.com>
> >> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> >> Date: 2015/08/09 09:25
> >> Subject: Re: LOADING An AMODE64 Program
> >> Sent by: IBM Mainframe Assembler List
<ASSEMBLER-LIST@LISTSERV.UGA.EDU>
> >>
> >> 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" <afg0...@videotron.ca>
> >> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> >> 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