On 8/12/2013 9:40 AM, Tom Marchant wrote:
On Tue, 6 Aug 2013 16:35:58 -0400, John Parke wrote:

The prolog code I am using is sample code from IBM...

The sample code executes:

LLILH 12,X'C6F4'
OILL  12,X'E2C1'
ST    12,4(,13)

Which is IBM's way of marking savearea with "F4SA".

This may be the way that Metal C does it, but it is not the way it is
documented in the Assembler Services Guide, which is the authoritative
reference for linkage conventions.

The above fragment might do the correct thing, depending upon when the
above sequence is included in the code.  I know that Metal C was doing
it incorrectly a few years ago and it is my understanding that their
code has since been changed, but I don't know when.

"F4SA" must be stored in the new save area.

Really? "Must"? Is there anything that won't work correctly
if I omit that string? I think not.

--

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


In other words, the above
sequence does the correct thing only if it is AFTER register 13 is
loaded with the address of the new save area.  If you store it in the
caller's save area, you will cause a problem when your caller tries to
return to its caller.

--
Tom Marchant

Reply via email to