I would expect that the issue is that your SWREQ plist has a bad address. The 0C4 is in the middle of the SWAREQ module.
I would suggest verifying that you get the PLIST you expect. If the dump is difficult, try passing a specific character string as a parameter and verify that you receive it properly. On Tue, 22 Sep 2015 08:39:50 +0000 Michael Knigge <[email protected]> wrote: :>All, :> :>since about 4 days Im trying to get a simple ASM-Prog running under Java in vain . I hope someone can help me or bring me in the right direction :> :>I need to get all Data Set Names that are allocated to a DD. So I step down the TIOT and get al SVA addresses for a DD. Then I try to call a C-Module (the glue) that calls a ASM-Prog that issues SWAREQ. Everything is working but not the SWAREQ. The ASM-Prog runs fine if I run it (called by a C-dummy) in MVS environment. Everything works as expected. :> :>But when I :> :>- build the same sources under USS into a shared library, :> :>- load this shared library from my Java code, :> :>- invoke the C-Code that will call my ASM-Module SWAREQ :> :> :>than my module SWAREQ will crash with a S0C4. The CEEDUMP ist weired: :> :>Location: :> Program Unit: SWAREQ Entry: SWAREQ Statement: Offset: -1E3F943A :> Possible Bad Branch: Statement: Offset: -E1C06BBA :> :>I could imagine that something is wrong with the R13 back chain and my module dies when the macro SWAREQ returns. But when I got the IBM manuals right, then the CEEENTRY Makro provides a Sava-Area and R13 will point to it. :> :>I hope someone has an idea Ill attach my code maybe I did something completely wrong . :> :> :>Bye & thanks for any hint! :>Michael :> :> :>R0 EQU 0 :>R1 EQU 1 :>R2 EQU 2 :>R3 EQU 3 :>R4 EQU 4 :>R5 EQU 5 :>R6 EQU 6 :>R7 EQU 7 :>R8 EQU 8 :>R9 EQU 9 ADDR OF PARM FROM CALLER :>R10 EQU 10 :>R11 EQU 11 BASE :>R12 EQU 12 COMMON ANCHOR AREA :>R13 EQU 13 DSA :>R14 EQU 14 :>R15 EQU 15 :>*-------------------------------------------------------------------- :>*---- PARAMETERS (GETS ALLOCATED AMODE31 BY THE CALLER) ------------- :>*-------------------------------------------------------------------- :>PARM DSECT :>PARM_SVA_ADDR DS F INPUT: 24 BIT SVA :>PARM_REAL_ADDR DS F OUTPUT: REAL 31 BIT ADDR :>PARM_RC DS F OUTPUT: RC FROM SWAREQ :>PARM_EPA_PTR DS F WORK: ADDRESS OF EPA :>PARM_EPA DS XL28 WORK: EPA :>PARM_SWAPARMS DS XL8 WORK: PARMS FOR SWAREQ :>*-------------------------------------------------------------------- :>*---- ENTRY-POINT --------------------------------------------------- :>*-------------------------------------------------------------------- :>SWAREQ CEEENTRY PPA=MAINPPA,NAB=NO,MAIN=NO,EXPORT=NO,BASE=R11 :>* :> USING CEECAA,R12 COMMON ANCHOR AREA :> USING CEEDSA,R13 DYNAMIC STORAGE AREA :>* :> L R9,0(R1) LOAD ADDR OF PARMS TO R9 :> USING PARM,R9 ADDRESS PRAMS USING R9 :>* :> LA R7,PARM_EPA LOAD ADDR OF EPA TO R7 :> ST R7,PARM_EPA_PTR SAVE ADDRESS TO PARM_EPA_PTR :> USING ZB505,R7 ADDRESS EPA :> XC SWAEPA,SWAEPA INITIALIZE EPA :> L R6,PARM_SVA_ADDR LOAD 24 BIT SVA IN R6 :> STCM R6,B'0111',SWVA STORE 3 RIGHT BYTES TO SWVA :>* :> SWAREQ FCODE=RL, X :> UNAUTH=YES, X :> EPA=PARM_EPA_PTR, X :> MF=(E,PARM_SWAPARMS) :>* :> ST R15,PARM_RC SAVE RETURN CODE :> LTR R15,R15 IS RC ZERO :> BNZ EXITERR OH NO..... :>* :> MVC PARM_REAL_ADDR,SWBLKPTR SAVE REAL 31 BIT ADDR :> B EXIT GO HOME... :>* :>EXITERR DS 0H :> MVC PARM_REAL_ADDR,=F'0' SET 31 BIT ADDR TO ZERO :> B EXIT GO HOME :>* :>EXIT DS 0H :> CEETERM RC=PARM_RC BACK TO CALLER.... :>* :>*-------------------------------------------------------------------- :>*---- CONSTANTS ----------------------------------------------------- :>*-------------------------------------------------------------------- :> LTORG :>* :>MAINPPA CEEPPA PROGRAM PROLOG AREA :>* :>*-------------------------------------------------------------------- :>*---- DSECTS -------------------------------------------------------- :>*-------------------------------------------------------------------- :> CEEDSA DSECT: DYNAMIC SAVE AREA :> CEECAA DSECT: COMMON ANCHOR AREA :> CEEEDB DSECT: ENCLAVE DATA BLOCK :>* :> CVT DSECT=YES DSECT: COMM. VECTOR TABLE :> IEFZB505 LOCEPAX=YES DSECT: ZB505 (EPA) :> IEFJESCT DESCT: JES CONTROL TABLE :>* :> END SWAREQ :> :> :>Mit freundlichen Grüßen :> :>Michael Knigge :>Software Engineer :> :>SET GmbH :>Lister Straße 15 :>30163 Hannover :> :>phone: +49 511 39780-23 :>fax: +49 511 39780-65 :> :>www.set.de :>[email protected] -- Binyamin Dissen <[email protected]> http://www.dissensoftware.com Director, Dissen Software, Bar & Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
