The discussion also seems to meld inappropriately two related but
independent concepts:

- Running in AMODE 64
- Using the high halves of registers (such as for temporary storage, the
high parts of large integers, etc.)

It is certainly possible and I think common to do the latter without the
former. 

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of Peter Relson
Sent: Monday, October 25, 2021 6:55 AM
To: [email protected]
Subject: Re: Question about negative indexes

This discussion has morphed into a discussion of linkage conventions which 
are clearly spelled out in the publications, such as with respect to save 
area sizes and formats.
I suggest that those interested take the time to re-read those sections.

A "legacy" AMODE 24 or AMODE 31 routine will not even know about high 
halves and thus has no need to save/restore them and thus its 72-byte save 
area linkage works just fine. For z/OS, unless otherwise stated, the high 
halves of regs 0,1,15 are not to be expected to be preserved across any 
interface.

Whether the target routine saves information in a caller-provided save 
area, or some in such an area and more elsewhere, or on the linkage stack 
is up to its interface definition that the caller is expected to comply 
with. 

Peter Relson
z/OS Core Technology Design


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

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

Reply via email to