On Mon, 7 May 2012 08:09:45 -0600, Steve Comstock wrote:

>On 5/7/2012 7:54 AM, Tom Marchant wrote:
>> On Sun, 6 May 2012 23:23:14 -0400, Robert A. Rosenberg wrote:
>>
>>> The problem is that before 64 AMODE you had 3 AMODE Choices -
>>> 24-Only, 31-Only, or BOTH 24 and 31 (ie: Any).
>>
>> Where does AMODE(ANY) mean both?  Certainly not on the
>> AMODE assembler instruction or in the binder.
>
>AMODE ANY means the program will be given control in
>the AMODE of its invoker

No, it doesn't.

Regardless of AMODE specification, a program that is invoked 
with BASR or BALR will get control in the AMODE of its caller. 
A program that is invoked with BASSM will have the AMODE set 
based upon the value of bits 32 and 63 in register 15 (assuming 
standard linkage conventions).

When a load module that is marked AMODE ANY is LOADed, which 
way are these bits set in the entry point address?

Of course, if a module that was assembled AMODE ANY is 
bound with another module that has its AMODE set to 24 or 31, 
the resulting load module will have its AMODE set to 24 or 31, 
respectively.

-- 
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to