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.v2r1.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
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to lists...@listserv.ua.edu <mailto: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

Reply via email to