On Fri, 1 Dec 2017 20:51:00 -0600, John McKown wrote: >[quote from >https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.ceeam00/overv.htm >] > >An AMODE 64 Language Environment® application supports XPLINK linkage only >and the C runtime environment is always initialized. A new library, >CELQLIB, is shipped for AMODE 64 support, while the existing libraries >continue to be shipped and supported.
There are two different flavors of XPLINK. 31-bit XPLINK is not compatible with XPLINK-64, and LE does not provide an easy way to call 31-bit XPLINK applications from an XPLINK-64 application. If you want to know more about how this works, it is documented in the LE Vendor Interfaces manual. An XPLINK application can call a non-XPLINK assembler program. Because XPLINK-64 has the stack located above the bar, a non-XPLINK program that is called from an XPLINK-64 program must be AMODE 64 in order to save its caller's registers. It can then acquire storage below the bar and call AMODE 31 programs. Transitioning between XPLINK and non-XPLINK is expensive, much more so than transitioning between AMODE 31 and AMODE 64 non-XPLINK programs. The stubborn refusal of LE to support non-XPLINK AMODE 64 programs makes no sense to me. As someone mentioned, PL/I has begun to support AMODE 64, and there has been talk that eventually Cobol will too. Many system services require non-XPLINK program calls. GET and PUT, for example, are extensively used in Cobol programs. I suspect that it might be possible for an XPLINK-64 program to create a new enclave and call a 31-bit XPLINK program or a non-XPLINK LE enabled program. I have not looked into doing this yet, and have no idea whether it will work, or if it will, how well it will work. And if it works, I expect that the cost in CPU cycles will be quite high. -- Tom Marchant ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
