Thanks
Joe Reichman 170-10 73 rd ave Fresh meadows NY 11366 > On Oct 29, 2019, at 1:02 PM, scott Ford <idfli...@gmail.com> wrote: > > Joe, > > I have called it in Cobol . I thought there some pretty good examples in > the IBM Doc. > Let us know .. > > Scott > >> On Tue, Oct 29, 2019 at 11:50 AM Joseph Reichman <reichman...@gmail.com> >> wrote: >> >> Peter thanks so much if I need a C main then this exercise in CELQPIPI is >> irrelevant >> >> Now I need to figure out how to call a C main from non LE assembler as all >> of my code is that >> >>> On Oct 29, 2019, at 11:45 AM, Farley, Peter x23353 < >>> peter.far...@broadridge.com> wrote: >>> >>> Joe, >>> >>> From my somewhat limited experience with CEEPIPI (only to enable 31-bit >> COBOL calls from 31-bit non-LE assembler subroutines called from 31-bit >> COBOL main), it looks to me like your 64-bit assembler code needs to set up >> a CEEPIPI INIT_SUB not an INIT_MAIN since you are calling the DLL as a >> subroutine. >>> >>> You may also need to use a "stub" C main program to just call your >> assembler 64-bit code and then exit just to establish the C main >> environment, since as you found the CELQPRLG doesn't allow you to make your >> assembler code look like a 64-bit C main. >>> >>> HTH >>> >>> Peter >>> >>> -----Original Message----- >>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On >> Behalf Of Joseph Reichman >>> Sent: Tuesday, October 29, 2019 11:32 AM >>> To: IBM-MAIN@LISTSERV.UA.EDU >>> Subject: Re: Return code X'20' 32 from CELQPIPI INIT_MAIN >>> >>> It was my understanding after a lot of digging that I couldn’t call 64 >> bit C from assembler because the 64 bit LE assembler prologue macro >> CELQPRLG doesn’t support main like CEEENTRY and there for the LE >> environment isn’t established I just thought that CELQPIPI would do that >> for assembler but am having a hard time getting that working with a 64 bit >> LE assembler Thanks >>> >>> On Oct 29, 2019, at 11:26 AM, scott Ford <idfli...@gmail.com >>> >>>> wrote: >>>> >>>> Joe, >>>> >>>> I havent dont 64bit C ..but I would be surprised the guys here on the >>>> listserv havent . >>>> I understand 64bit in theory but working as a ISV my mgmt is stuck in >>>> the Cobol back woods. >>>> >>>> Scott >>>> >>>>> On Tue, Oct 29, 2019 at 9:42 AM Joseph Reichman >>>>> <reichman...@gmail.com> >>>>> wrote: >>>>> >>>>> I am trying to call a AMODE 64 bit C DLL (exported function) from >>>>> assembler and because CELQPRLG (LE 64 bit prologue) doesn't support >>>>> main like CEEENTRY (MAIN=YES) Cannt seem do it I thought the >>>>> INIT_MAIN function for CELQPIPI would do the trick for me >>>>> >>>>> Thanks >>>>> >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On >>>>> Behalf Of scott Ford >>>>> Sent: Tuesday, October 29, 2019 9:35 AM >>>>> To: IBM-MAIN@LISTSERV.UA.EDU >>>>> Subject: Re: Return code X'20' 32 from CELQPIPI INIT_MAIN >>>>> >>>>> Joe: >>>>> >>>>> What are you trying to accomplish exactly so we can better assist you ? >>>>> Scott >>>>> >>>>> On Tue, Oct 29, 2019 at 8:52 AM Joseph Reichman >>>>> <reichman...@gmail.com> >>>>> wrote: >>>>> >>>>>> I guess I could do a series of calls to the exports things is they >>>>>> all share a global area >>>>>> >>>>>> Thanks >>>>>> >>>>>> >>>>>> On Oct 29, 2019, at 8:47 AM, David Crayford <dcrayf...@gmail.com> >> wrote: >>>>>>> >>>>>>> Why do you need a DLL? Can you just use PIPI to call a static >> program? >>>>>>> >>>>>>>> On 2019-10-29 8:15 PM, Joseph Reichman wrote: >>>>>>>> This is add_entry I was using INIT_SUB, INIT_MAIN regardless >>>>>>>> that’s a >>>>>> good idea to try to use add_entry >>>>>>>> After init_sub/MAIN >>>>>>>> This is the program I trying to initiate as in Assembler LE 64 bit >>>>>> prolog CELQPRLG does not have a main and I cannot call a 64 C DLL I >>>>>> was thinking CELQPIPI would resolve these issues >>>>>>>> >>>>>>>> Thanks >>>>>>>> TEST64A CELQPRLG FETCHABLE=RENT,PSECT=MYPSECT,ENTNAME=TEST64A >>>>>>>> YREGS >>>>>>>> * LOAD EP=CEETEST >>>>>>>> * LR R15,R0 >>>>>>>> * BASR R14,R15 >>>>>>>> CELQCALL opendata,(SYSADATA),WORKREG=10 >>>>>>>> XR R15,R15 >>>>>>>> CELQEPLG >>>>>>>> SYSADATA DC CL8'SYSADATA' >>>>>>>> * CEEPDDA opendata,SCOPE=IMPORT >>>>>>>> PARM1 DC A(COMMANDS) >>>>>>>> PARM2 DC A(FEEDBACK) >>>>>>>> DS 0H >>>>>>>> DC H'9' >>>>>>>> COMMANDS DC C'AT ENTRY ' >>>>>>>> FEEDBACK DS CL12 >>>>>>>> CEEDSA SECTYPE=XPLINK PING OF THE DYNAMIC SAVE AREA >>>>>>>> CEECAA MAPPING OF THE COMMON ANCHOR AREA >>>>>>>> *LLPPA CEEPPA >>>>>>>> WORKAREA DSECT >>>>>>>> DS 0D >>>>>>>> WORKSIZE EQU *-WORKAREA >>>>>>>> * CEEEDB MAPPING OF THE ENCLAVE DATA BLOCK >>>>>>>> END >>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -----Original Message----- >>>>>>>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On >>>>>> Behalf Of Joe Monk >>>>>>>> Sent: Tuesday, October 29, 2019 3:34 AM >>>>>>>> To: IBM-MAIN@LISTSERV.UA.EDU >>>>>>>> Subject: Re: Return code X'20' 32 from CELQPIPI INIT_MAIN >>>>>>>> >>>>>>>> So .... according to: >>>>>>>> >>>>>>>> "20 The routine_name contains only blanks and the routine_entry >>>>>>>> was >>>>>> zero. >>>>>>>> The PreInit table was not updated." >>>>>>>> >>>>>>>> >>>>>> https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos >>>>>> .v >>>>>> 2r1.ceeam00/ceeam141.htm >>>>>>>> >>>>>>>> Joe >>>>>>>> >>>>>>>> On Mon, Oct 28, 2019 at 8:55 PM Joseph Reichman >>>>>>>> <reichman...@gmail.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> The listing has the SYSSTATE set AMODE 64 The LISTPSW >>>>>>>>> indicates botH the EA and BA BITS of the PSW as one indicating >>>>>>>>> AMODE 64 at location F8 right before the call CELQPIPI >>>>>>>>> >>>>>>>>> >>>>>>>>> CEEWQPIP: LOADing CELQPIPI >>>>>>>>> CEEWQPIP: Doing CELQPIPI INIT_MAIN IKJ57024I AT +F6 TEST istpsw >>>>>>>>> IKJ57652I PSW LOCATED AT 8BA068 >>>>>>>>> XRXXXTIE KEY XMWP AS CC PROGMASK EA BA INSTR ADDR >>>>>>>>> 00000111 8 1101 00 00 0000 1 1 >>>>> 1F7010F6 >>>>>>>>> >>>>>>>>> TEST >>>>>>>>> t +f8 >>>>>>>>> TEST >>>>>>>>> o >>>>>>>>> CEEWQLOD: Called to LOAD "TEST64A " >>>>>>>>> IKJ57024I AT +F8 >>>>>>>>> TEST >>>>>>>>> >>>>>>>>> The program is AMODE 64 >>>>>>>>> >>>>>>>>> ________ TEST64A 00000D30 0001D6 00 >>>>>> 64 >>>>>>>>> ANY >>>>>>>>> >>>>>>>>> This is a listing of the table >>>>>>>>> +CEEXPTBL DC CL8'CELQPTBL' Eyecatcher >>>>>>>>> + DC A(CELQPIT0058) Number of e >>>>>>>>> + DC F'16' Entry size >>>>>>>>> + DC F'100' Version >>>>>>>>> ice routines >>>>>>>>> >>>>>>>>> Source Statement HLASM R6 >>>>>>>>> + DC AL1(0) >>>>>>>>> + DC 3X'00' >>>>>>>>> CELQPITY TEST64A,0 ically load CE >>>>>>>>> + DC CL8'TEST64A' Name, set t >>>>>>>>> + DC AD(0) Load dblwd >>>>>>>>> CELQPITS , End of CELQPIP >>>>>>>>> +CELQPIT0058 EQU 1 Number of e >>>>>>>>> * >>>>>>>>> Here is the listing of TEST64A >>>>>>>>> >>>>>>>>> TEST64A CELQPRLG FETCHABLE=RENT,PSECT=MYPSECT,ENTNAME=TEST64A >>>>>>>>> YREGS >>>>>>>>> * LOAD EP=CEETEST >>>>>>>>> * LR R15,R0 >>>>>>>>> * BASR R14,R15 >>>>>>>>> CELQCALL opendata,(SYSADATA),WORKREG=10 >>>>>>>>> XR R15,R15 >>>>>>>>> CELQEPLG >>>>>>>>> SYSADATA DC CL8'SYSADATA' >>>>>>>>> * CEEPDDA opendata,SCOPE=IMPORT >>>>>>>>> PARM1 DC A(COMMANDS) >>>>>>>>> PARM2 DC A(FEEDBACK) >>>>>>>>> >>>>>>>>> Here is the link >>>>>>>>> For TEST64A >>>>>>>>> >>>>>>>>> //***************************************************************** >>>>>>>>> //* LINK EDIT THE PROGRAM * >>>>>>>>> //*************************************************************** >>>>>>>>> * >>>>>>>>> * >>>>>>>>> //STEP0200 EXEC PGM=IEWL,COND=(0,LT,STEP0100), >>>>>>>>> // PARM='AMODE(64),LIST,MAP,XREF,CASE=MIXED,DYNAM=DLL' >>>>>>>>> //SYSPRINT DD SYSOUT=* >>>>>>>>> //SYSDEFSD DD SYSOUT=* >>>>>>>>> //OBJ DD DSN=&&HEXOBJ,DISP=(OLD,PASS) >>>>>>>>> //SYSLIB DD DISP=SHR,DSN=IBMUSER.DBGR.DLLLIB >>>>>>>>> // DD DISP=SHR,DSN=CEE.SCEEBND2 >>>>>>>>> // DD DISP=SHR,DSN=CEE.SCEELKED >>>>>>>>> //SYSLMOD DD DISP=SHR,DSN=IBMUSER.DBGR.DLLLIB >>>>>>>>> //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(3,2)),DSN=&SYSUT1 >>>>>>>>> //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FB,BLKSIZE=3509) >>>>>>>>> //SYSLIN DD * >>>>>>>>> IMPORT CODE64,'SYSADATA','opendata' >>>>>>>>> INCLUDE OBJ(TEST64A) >>>>>>>>> ENTRY TEST64A >>>>>>>>> NAME TEST64A(R) >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 84 * >>>>>>>>> 85 >>>>>>>>> >>>>> ********************************************************************* >>>>> * >>>>>>>>> 86 * >>>>>>>>> 00000000 00000000 000007B0 87 CEEWQPIP CSECT >> , >>>>>>>>> 88 CEEWQPIP AMODE >>>>> 64 >>>>>>>>> 89 CEEWQPIP RMODE >>>>> 31 >>>>>>>>> 90 SYSSTATE >>>>>>>>> AMODE64=YES >>>>>>>>> 91+* THE VALUE >>>>> OF >>>>>>>>> SYSSTATE IS NOW SET TO ASCENV=P AMODE64=YES ARCHLX01-SYSSTATE >>>>>>>>> + VL=2 >>>>>>>>> OSREL=00000000 >>>>>>>>> 00000000 010E 92 SAM64 >> , >>>>>>>>> 93 * >>>>>>>>> 94 * >>>>>>>>> 95 * Standard >>>>>> 64-bit >>>>>>>>> entry linkage >>>>>>>>> 96 * >>>>>>>>> ----------------------------- >>>>>>>>> 97 * >>>>>>>>> 00000002 EBEC D008 0024 00000008 98 STMG >>>>>>>>> R14,R12,SAVF4SAG64RS14-SAVF4SA(R13) Save caller regs >>>>>>>>> 00000008 0DB0 99 BASR >>>>>> R11,0 >>>>>>>>> Set up basereg >>>>>>>>> R:B 0000000A 100 USING >>>>>> *,R11 >>>>>>>>> Addressabliity >>>>>>>>> 101 GETMAIN >>>>>>>>> RU,LV=DSA_L Obtain DSA >>>>>>>>> 0000000A 103+ DS 0H >>>>>>>>> @P5C 01-GETMAIN >>>>>>>>> 0000000A 104+IHB0002C DS 0H >>>>>>>>> 01-GETMAIN >>>>>>>>> 0000000A 5800 B36E 00000378 105+ L >>>>>>>>> 0,=A(DSA_L) LOAD LENGTH 01-GETMAIN >>>>>>>>> 0000000E 58F0 B372 0000037C 106+ L >>>>>>>>> 15,=AL1(B'00000000',(0),(0),B'00000010') X01-GETMAIN >>>>>>>>> + >>>>>>>>> LOAD GETMAIN PARMS >>>>>>>>> 00000012 1B11 107+ SR 1,1 >>>>>>>>> ZERO RESERVED REG 1 01-GETMAIN >>>>>>>>> 00000014 0A78 108+ SVC 120 >>>>>>>>> ISSUE GETMAIN SVC 01-GETMAIN >>>>>>>>> 00000016 E3D0 1080 0024 00000080 109 STG >>>>>>>>> R13,SAVF4SAPREV-SAVF4SA(,R1) Set backchain >>>>>>>>> i0000001C E310 D088 0024 00000088 110 STG >>>>>>>>> R1,SAVF4SANEXT-SAVF4SA(,R13) Set fwd chain >>>>>>>>> Sample AMODE64 PreInit DRIVER with service routines >>>>>>>>> Page 5 >>>>>>>>> Active Usings: CEEWQPIP+X'A',R11 >>>>>>>>> Loc Object Code Addr1 Addr2 Stmt Source Statement >>>>>>>>> HLASM R6.0 2019/10/28 20.02 >>>>>>>>> 00000022 D203 D004 B376 00000004 00000380 111 MVC >>>>>>>>> SAVF4SAID-SAVF4SA(R4,R13),=A(SAVF4SAID_VALUE) "F4SA" >>>>>>>>> 00000028 B904 00D1 112 LGR >>>>>>>>> R13,R1 Set up DSAreg >>>>>>>>> R:D 00000000 113 USING >>>>>>>>> DSA,R13 Addressability >>>>>>>>> 114 * >>>>>>>>> 115 * >>>>>>>>> 116 * Issue LOAD >>>>>> for >>>>>>>>> CELQPIPI (will ABEND if LOAD fails) >>>>>>>>> 117 * >>>>>>>>> ----------------------- >>>>>>>>> 118 * >>>>>>>>> 119 WTO >>>>>>>>> 'CEEWQPIP: LOADing CELQPIPI',ROUTCDE=11 >>>>>>>>> 0000002C 121+ CNOP 0,4 >>>>>>>>> 01-WTO >>>>>>>>> 0000002C A715 0013 00000052 122+ BRAS >>>>>>>>> 1,IHB0004A BRANCH AROUND MESSAGE @LCC 01-WTO >>>>>>>>> 00000030 001E 123+ DC >>>>>> AL2(30) >>>>>>>>> TEXT LENGTH @YA17152 01-WTO >>>>>>>>> 00000032 8000 124+ DC >>>>>>>>> B'1000000000000000' MCSFLAGS 01-WTO >>>>>>>>> 00000034 C3C5C5E6D8D7C9D7 125+ DC >>>>>>>>> C'CEEWQPIP: LOADing CELQPIPI' X01-WTO >>>>>>>>> 0000003C 7A40D3D6C1C48995 + >>>>>>>>> MESSAGE TEXT @L6C >>>>>>>>> 0000004E 0000 126+ DC >>>>>>>>> B'0000000000000000' DESCRIPTOR CODES 01-WTO >>>>>>>>> 00000050 0020 127+ DC >>>>>>>>> B'0000000000100000' ROUTING CODES 01-WTO >>>>>>>>> 00000052 128+IHB0004A DS 0H >>>>>>>>> 01-WTO >>>>>>>>> 00000052 0A23 129+ SVC 35 >>>>>>>>> ISSUE SVC 35 @L6A 01-WTO >>>>>>>>> 130 * >>>>>>>>> 131 LOAD >>>>>>>>> EP=CELQPIPI LOAD LE main module >>>>>>>>> 00000054 133+ CNOP 0,4 >>>>>>>>> @L2P 01-LOAD >>>>>>>>> 00000054 A7F5 0006 00000060 134+ BRAS >>>>>>>>> 15,LOAD2_0006 BRANCH AROUND CONSTANT(S) 01-LOAD >>>>>>>>> 00000058 135+LD2_0006 DS 0H >>>>>>>>> 01-LOAD >>>>>>>>> 00000058 C3C5D3D8D7C9D7C9 136+LE2_0006 DC >>>>>>>>> CL8'CELQPIPI' ENTRY POINT NAME 01-LOAD >>>>>>>>> 00000060 137+LOAD2_0006 DS >> 0H >>>>>>>>> 01-LOAD >>>>>>>>> 00000060 4100 F000 00000000 138+ LA >>>>>>>>> 0,LE2_0006-LD2_0006(,15) ADDR OF PARAMETER 01-LOAD >>>>>>>>> 00000064 1B11 139+ SR 1,1 >>>>>>>>> SHOW NO DCB PRESENT 01-LOAD >>>>>>>>> 00000066 0A08 140+ SVC 8 >>>>>>>>> 01-LOAD >>>>>>>>> 00000068 E300 B366 0080 00000370 141 NG >>>>>>>>> R0,=X'00000000FFFFFFFE' Clear low (AMODE64) bit >>>>>>>>> 0000006E E300 D090 0024 00000090 142 STG >>>>>>>>> R0,CELQPIPI_EP Save CELQPIPI E.P. Address >>>>>>>>> 143 * >>>>>>>>> 144 * >>>>>>>>> 145 * Set up >>>>>> Service >>>>>>>>> Routine Vector and parm >>>>>>>>> 146 * >>>>>>>>> -------------------------------------- >>>>>>>>> 147 * >>>>>>>>> 00000074 D24F D0E0 B696 000000E0 000006A0 148 MVC >>>>>>>>> SV_DYNAMIC,SV_STATIC Copy over into DSA >>>>>>>>> 0000007A 41F0 D1E8 000001E8 149 LA >>>>>>>>> R15,USER_AREA Point to 1000-byte user area >>>>>>>>> 0000007E E3F0 D0E8 0024 000000E8 150 STG >>>>>>>>> R15,SV_UWORD SV user word -> user area >>>>>>>>> 00000084 41F0 D0E0 000000E0 151 LA >>>>>>>>> R15,SV_DYNAMIC Address of modifiable SV >>>>>>>>> 00000088 E3F0 D0A0 0024 000000A0 152 STG >>>>>>>>> R15,SERVICE_RTNS Save as parm for INIT_MAIN >>>>>>>>> 153 * >>>>>>>>> 154 * >>>>>>>>> 155 * Do >>>>> CELQPIPI >>>>>>>>> INIT_MAIN >>>>>>>>> 156 * >>>>>>>>> --------------------- >>>>>>>>> 157 * >>>>>>>>> 158 WTO >>>>>>>>> 'CEEWQPIP: Doing CELQPIPI INIT_MAIN',ROUTCDE=11 >>>>>>>>> 0000008E 0700 160+ CNOP 0,4 >>>>>>>>> 01-WTO >>>>>>>>> 00000090 A715 0017 000000BE 161+ BRAS >>>>>>>>> 1,IHB0008A BRANCH AROUND MESSAGE @LCC 01-WTO >>>>>>>>> 00000094 0026 162+ DC >>>>>> AL2(38) >>>>>>>>> TEXT LENGTH @YA17152 01-WTO >>>>>>>>> 00000096 8000 163+ DC >>>>>>>>> B'1000000000000000' MCSFLAGS 01-WTO >>>>>>>>> 00000098 C3C5C5E6D8D7C9D7 164+ DC >>>>>>>>> C'CEEWQPIP: Doing CELQPIPI INIT_MAIN' X01-WTO >>>>>>>>> 000000A0 7A40C49689958740 + >>>>>>>>> MESSAGE TEXT @L6C >>>>>>>>> 000000BA 0000 165+ DC >>>>>>>>> B'0000000000000000' DESCRIPTOR CODES 01-WTO >>>>>>>>> i000000BC 0020 166+ DC >>>>>>>>> B'0000000000100000' ROUTING CODES 01-WTO >>>>>>>>> Sample AMODE64 PreInit DRIVER with service routines >>>>>>>>> Page 6 >>>>>>>>> Active Usings: CEEWQPIP+X'A',R11 DSA,R13 >>>>>>>>> Loc Object Code Addr1 Addr2 Stmt Source Statement >>>>>>>>> HLASM R6.0 2019/10/28 20.02 >>>>>>>>> 000000BE 167+IHB0008A DS 0H >>>>>>>>> 01-WTO >>>>>>>>> 000000BE 0A23 168+ SVC 35 >>>>>>>>> ISSUE SVC 35 @L6A 01-WTO >>>>>>>>> 169 * >>>>>>>>> 000000C0 B982 0000 170 XGR >>>>> R0,R0 >>>>>>>>> 000000C4 E3F0 D090 0004 00000090 171 LG >>>>>>>>> R15,CELQPIPI_EP Address of CELQPIPI E.P. >>>>>>>>> 172 * >>>>>>>>> 174 CALL >>>>> (15), >>>>>>>>> X >>>>>>>>> >>>>>>>>> (INIT_MAIN, CELQPIPI INIT_MAIN request X >>>>>>>>> >>>>>>>>> CEEXPTBL_ADDR, Address of CELQPIPI table X >>>>>>>>> >>>>>>>>> SERVICE_RTNS, Address of service rtn vector X >>>>>>>>> >>>>>> TOKEN), >>>>>>>>> Token from INIT_MAIN X >>>>>>>>> >>>>>>>>> MF=(E,CALL_PL) >>>>>>>>> 000000CA 176+ DS 0H >>>>>>>>> 01-CALL >>>>>>>>> 000000CA 4110 D138 00000138 181+ LA >>>>>>>>> 1,CALL_PL LOAD PARAMETER REG 1 >> 03-IHBINNRR >>>>>>>>> 000000CE 4100 B386 00000390 182+ LA >>>>>>>>> 0,INIT_MAIN PICKUP PARAMETER >> 02-IHBOPLTX >>>>>>>>> 000000D2 E300 1000 0024 00000000 183+ STG >>>>>> 0,0(0,1) >>>>>>>>> STORE INTO PARAM. LIST 02-IHBOPLTX >>>>>>>>> 000000D8 4100 B57E 00000588 184+ LA >>>>>>>>> 0,CEEXPTBL_ADDR PICKUP PARAMETER >> 02-IHBOPLTX >>>>>>>>> 000000DC E300 1008 0024 00000008 185+ STG >>>>>> 0,8(0,1) >>>>>>>>> STORE INTO PARAM. LIST 02-IHBOPLTX >>>>>>>>> 000000E2 4100 D0A0 000000A0 186+ LA >>>>>>>>> 0,SERVICE_RTNS PICKUP PARAMETER >> 02-IHBOPLTX >>>>>>>>> 000000E6 E300 1010 0024 00000010 187+ STG >>>>>>>>> 0,16(0,1) STORE INTO PARAM. LIST >> 02-IHBOPLTX >>>>>>>>> 000000EC 4100 D098 00000098 188+ LA >>>>>> 0,TOKEN >>>>>>>>> PICKUP PARAMETER 02-IHBOPLTX >>>>>>>>> 000000F0 E300 1018 0024 00000018 189+ STG >>>>>>>>> 0,24(0,1) STORE INTO PARAM. LIST >> 02-IHBOPLTX >>>>>>>>> 000000F6 05EF 190+ BALR >>>>> 14,15 >>>>>>>>> BRANCH TO ENTRY POINT 01-CALL >>>>>>>>> 191 * >>>>>>>>> 192 * >>>>>>>>> 193 * Check >>>>>> results >>>>>>>>> of INIT_MAIN >>>>>>>>> 194 * >>>>>>>>> 000000F8 B902 002F 195 LTGR >>>>>>>>> >>>>>>>>> -----Original Message----- >>>>>>>>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On >>>>>>>>> Behalf Of Jon Perryman >>>>>>>>> Sent: Monday, October 28, 2019 8:38 PM >>>>>>>>> To: IBM-MAIN@LISTSERV.UA.EDU >>>>>>>>> Subject: Re: Return code X'20' 32 from CELQPIPI INIT_MAIN >>>>>>>>> >>>>>>>>> The CALL macro supports 32 and 64 bit parm addresses. I believe >>>>>>>>> it defaults to 32 bit and the SYSSTATE macro is used to change it. >>>>>>>>> Does CELQPITY require 64 bit parm list? If so, make sure you have >>>>>>>>> SYSSTATE prior to the call. Also make sure SYSSTATE is before the >>>>> CALL MF=L. >>>>>>>>> >>>>>>>>> I've never used TEST so I'm not familiar with the specifics. Your >>>>>>>>> listing below seems to show it running the program with AMODE=31 >>>>>>>>> and the L commands only display fullwords. Did you switch to >>>>>>>>> AMODE64 >>>>>> before calling CELQPITY? >>>>>>>>> >>>>>>>>> >>>>>>>>> Jon. >>>>>>>>> >>>>>>>>> On Monday, October 28, 2019, 05:08:58 PM PDT, Joseph Reichman >>>>>>>>> < reichman...@gmail.com <mailto:reichman...@gmail.com> > wrote: >>>>>>>>> >>>>>>>>> Just tried it with the service_rtns parm exactly as it was in the >>>>>>>>> sample with the exception That the CELQPITY points to my 64 bit >>>>>>>>> assembler program TEST64A program and do X'20' DECIMAL 32 >>>>>>>>> >>>>>>>>> CALL (15), >>>>>>>>> X >>>>>>>>> (INIT_MAIN, CELQPIPI INIT_MAIN request X >>>>>>>>> CEEXPTBL_ADDR, Address of CELQPIPI table X >>>>>>>>> SERVICE_RTNS, Address of service rtn vector >>>>> X >>>>>>>>> TOKEN), Token from INIT_MAIN >>>>>>>>> X >>>>>>>>> MF=(E,CALL_PL) >>>>>>>>> >>>>>>>>> I traced the CEEWQLOAD it loaded TEST64A which had bit 63 as a >>>>>>>>> one After the load >>>>>>>>> >>>>>>>>> IKJ57382I ENTRY POINT AT 1F790140 AMODE=31 TEST L +F6 >>>>>>>>> +F6 05EFB902 TEST AT +F6 TEST AT +F8 TEST GO >>>>>>>>> CEEWQPIP: LOADing CELQPIPI >>>>>>>>> CEEWQPIP: Doing CELQPIPI INIT_MAIN IKJ57024I AT +F6 TEST GO >>>>>>>>> CEEWQLOD: Called to LOAD "TEST64A " IKJ57024I AT +F8 TEST L 15R >>>>>>>>> 15R >>>>>>>>> 00000020 >>>>>>>>> >>>>>>>>> ----------------------------------------------------------------- >>> >>> This message and any attachments are intended only for the use of the >> addressee and may contain information that is privileged and confidential. >> If the reader of the message is not the intended recipient or an authorized >> representative of the intended recipient, you are hereby notified that any >> dissemination of this communication is strictly prohibited. If you have >> received this communication in error, please notify us immediately by >> e-mail and delete the message and any attachments from your system. >>> >>> >>> ---------------------------------------------------------------------- >>> For IBM-MAIN subscribe / signoff / archive access instructions, >>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >> >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >> > > > -- > > > > *IDMWORKS * > > Scott Ford > > z/OS Dev. > > > > > “By elevating a friend or Collegue you elevate yourself, by demeaning a > friend or collegue you demean yourself” > > > > www.idmworks.com > > scott.f...@idmworks.com > > Blog: www.idmworks.com/blog > > > > > > *The information contained in this email message and any attachment may be > privileged, confidential, proprietary or otherwise protected from > disclosure. If the reader of this message is not the intended recipient, > you are hereby notified that any dissemination, distribution, copying or > use of this message and any attachment is strictly prohibited. If you have > received this message in error, please notify us immediately by replying to > the message and permanently delete it from your computer and destroy any > printout thereof.* > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN