All,
since about 4 days I’m 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… I’ll 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]
Handelsregister: HRB52778 Amtsgericht Hannover
Geschäftsführer: Till Dammermann, Dr. Bernd Huber
Weitere Informationen finden Sie auf unserer Homepage...<http://www.set.de>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN