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 <[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