On 12/20/2012 12:36 PM, [email protected] wrote:
I have a program that loads CSRSI, It obtains Storage for the response area, and invokes CSRSI via a CallI wanted to replace the STORAGE MACRO with IAVR64 So I believe the program could be re-wriiten as follows: * LOAD EP=CSRSI Load CSRSI Function ST R0,CSRSI@ Save Address Of CSRSI Function * IARV64 REQUEST=GETSTOR,SEGMENT==AD(MAXSIZE), ORIGIN=ORIGIN,MF=E,IARV64,COMPLETE) * LG R0,ORIGIN Get Starting Address Of Memory Object STG R0,CSRSI_INFO@ Store Mem-Obj Address for CSRSI SYSSTATE AMODE64=YES,ARCHLVL=2 L R15,CSRSI@ Load R15 with CSRSI Address CALL (R15),(CSRSI_TYPE,CSRSI_INFOLEN,CSRSI_INFO@,CSRSI_RC) LTR R15,R15 Examine Return code BNZ BAD_CSRSI No, Exit
Multiple issues here. If this service *could* be called in 64-bit mode, then you would probably need to use LGF with LINKINST=BASSM to invoke it and probably using PLIST8 for the parm list. But, that is all moot because the service supports 24- and 31-bit addresses only. -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 http://www.phoenixsoftware.com/
