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.
Bob
On 8/8/2015 5:53 PM, esst...@juno.com 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
.
---------- Original Message ----------
From: Bob Rutledge <deerh...@ix.netcom.com>
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: LOADING An AMODE64 Program
Date: Sat, 8 Aug 2015 16:54:10 -0400
Since LLGTR supplies 33 zero-bits at the high-order end and that OILL supplies a
one-bit at the low-order end, I'd say no. Add, not replace.
Bob
On 8/8/2015 4:17 PM, esst...@juno.com wrote:
Bob Rutledge wrote
In order to have BASSM switch to 64-bit addressing, R15 (in >your example) must
be (arithmetically) odd; bit 63 must be 1.
Can I replace LLGTR R15,R15 with OILL R15,X'0001'
.
.
Thanks
---------- Original Message ----------
From: Bob Rutledge <deerh...@ix.netcom.com>
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: LOADING An AMODE64 Program
Date: Sat, 8 Aug 2015 12:11:12 -0400
On 8/8/2015 10:29 AM, esst...@juno.com wrote:
I want to load a program that has AMODE 64 from a Program with AMODE 31.
.
.
I looked at David Bonds Share Session 8158 - August. 2003
64-Bit z/OS Assembler Coding.
.
It was very informative.
.
.
So I issue a Load for PROG64 which has AMODE 64, from a program with AMODE 31.
*
LARL R2,PROG64$
LOAD EPLOC=(R2) ISSUE LOAD
STM R15,R1,SVLOADZ SAVE REGISTERS FROM LOAD ST
R0,PROD64@ STOR MODULE ADDRESS
.
.
At a Latter Time,I want to invoke this module passing a structure whose address
is in Register 1, using the following instructions.
*
LARL R1,STRUCT31 31 Bit Structure
L R15,PROG64@ Get Target Routine Address from Load
LLGTR R15,R15 Ensure R15 Has a Good Address
BASSM R14,R15 Call PROG64 in AMODE 64
.
*
*31 Bit Storage
DS 0D
PROG64$ DC CL8'PROG64 '
PROG64@ DC A(0)
*
STRUCT31 DS CL256
.
.
Are the above sequence of instructions correct ?
Do I need to issue LLGTR ?
What am I mis understanding to accomplish this ?
In order to have BASSM switch to 64-bit addressing, R15 (in your example) must
be (arithmetically) odd; bit 63 must be 1.
Bob