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

Reply via email to