On 5/6/2016 7:24 AM, Jerry Callen wrote:
There is a short segment of 31-bit code that is generated on the fly by another
piece of software that I need to call. I don't control that piece of software,
and I'm putting the results of that computation into an above-the-bar chunk of
memory for later processing. No I/O.
Since it sounds as if the switching is fairly expensive, I'll see if there is some
reasonable way to batch the calls, rather than making the 64->31->64 switch for
every item.
We've been able to call fairly large 31-bit programs in 64-bit mode
simply by clearing the high halves before invoking. We've even
successfully passed pre-loaded 64-bit pointers to such code that were
used without difficulty. Most SVC and PC-based services, such as STORAGE
OBTAIN/RELEASE, etc. can be called with no ill effects. The only time
we've seen issues with this approach is when the 31-bit code loads a
fullword pointer with the high-order bit set or copies a pre-loaded
above-the-bar address from one register to another using LR or similar
non-modal technique.
--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
http://www.phoenixsoftware.com/
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN