I have a program that loads CSRSI, It obtains Storage for the response area,
and invokes CSRSI via a Call
I 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
USING SIV1,R8 Map SYSIB
*
ORIGIN DC AD(0)
SRSI_TYPE DS A CSRSI Type Indicator
CSRSI_INFOLEN DS A Length Of Infor Area
CSRSI_INFO@ DS AD Infor Area Address
CSRSI_RC DS A Return Code
CSRSI@ DS A CSRSI Routine Address
*
Does the above code sequence look reasonably correct.
After the call statement will the memory object addressed by CSRSI_INFO@,
contain the data returned by CSRSI ?
Paul D'Angelo