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 <[email protected]>
To: [email protected]
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, [email protected] 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 <[email protected]>
> To: [email protected]
> Subject: Re: LOADING An AMODE64 Program
> Date: Sat, 8 Aug 2015 12:11:12 -0400
>
> On 8/8/2015 10:29 AM, [email protected] 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
>