Yep, looking at the z/os xl c/c++ manuals there are examples of Hlasm
calling C,
You have to use XPLINK for 64bit and there are prologs and epilogs.

Scott

On Tue, Oct 29, 2019 at 2:22 PM David Crayford <dcrayf...@gmail.com> wrote:

> On 2019-10-29 11:50 PM, Joseph Reichman wrote:
> > Peter thanks so much if I need a C main then this exercise in CELQPIPI
> is irrelevant
>
>
> We use CEEPIPI and don't use main. We use subroutines with the following
> (this is C++ code)
>
> #pragma linkage(FUWIPSTR, fetchable) // required for PIPI init_sub/call_sub
>
>
> >
> > 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
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
-- 
Scott Ford
IDMWORKS
z/OS Development

----------------------------------------------------------------------
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