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
>

Reply via email to