On 5/7/2012 9:29 AM, Tom Marchant wrote:
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.

Well, OK. I am talking about an invoker using system
services LOAD / LINK / ATTACH / XCTL.

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).

Yes, yes.



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

LOAD is a system service; it will set the bits to the AMODE
of the program issuing the service call.


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.


Unless you override it with binder control statements. You
can, indeed, shoot yourself in the foot here, if you work
at it.


--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-355-2752
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
  + Training your people is an excellent investment

* Try our tool for calculating your Return On Investment
    for training dollars at
  http://www.trainersfriend.com/ROI/roi.html

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

Reply via email to