On Tue, 6 Aug 2013 16:07:01 -0400, Tom Marchant <
m42tom-...@YAHOO.COM>
wrote:
Manual(s) Read:
z/OS V1R13.0 Metal C Programming Guide and Reference
z/OS V1R13.0 XL C/C++ User’s Guide
The program I am referring to is written in Assembler and is calling a
metal-C subroutine (assembled with HLASM).
I execute the program like this:
//TESTDRV EXEC PGM=TESTDRV <= hand written test program in ASM
This program is supposed to set up the parm list address then branch to
Metal-C program. When the program TESTDRV is executed it abends with an 0C4.
I looked into the dump and saw R1 value of something like 00006FF8.
I thought that this address looked like it was rather low in storage, so I
re-submitted the job with:
//TESTDRV EXEC PGM=TESTDRV,PARM='someparm' <= not the way I want to
execute
Now when the program abends, I see the text "someparm" at the address
(preceded by half word length field).
This leads me to believe that the parm list is not being passed correctly.
I confirmed the instruction being executed at abend:
ACTIVE LOAD MODULE ADDRESS=1E800000 OFFSET=0000A78E
NAME=TESTDRV
DATA AT PSW 1E80A788 - E3401000 0004E55C 40200001
Which corresponds to:
000000E8 E340 1000 0004 00000000 183 LG 4,@79plist
000000EE E55C 4020 0001 00000020 184 CHSI 32(4),1
Thanks for the help and suggestions.
John