I never saw the initial post, but the program provided as an example with
the BR 14 was incorrect. It was off by a level of indirection.

This was what was posted:
MODESET  KEY=ZERO,MODE=SUP
STORAGE  OBTAIN,LENGTH=2,SP=227
LR       R5,R1
MVC      0(2,R5),=X'07FE'
IEAMSCHD EPADDR=(R5),ENV=STOKEN,TARGETSTOKEN=STOKEN

Ignoring the fact that this is somewhat wrong if reentrant (as it ought to
use list/execute forms), when a reg form is used for IEAMSCHD, the reg is
to contain the address of a word that contains the entry point address.
Your reg contains the address of the routine itself.

As coded, this SRB uses as an AMODE 31 entry point x'07FExxxx' and (if
you're lucky) blows up and will have no effect whatsoever on the issuing
task or the target space. I suppose if you're unlucky there could be
instructions at that address and just about anything could happen.

If you want the SRB to run synchronously with respect to the caller, you
could consider the SYNCH=YES keyword of IEAMSCHD.

I do find it distressing that experienced people on this forum would give
advice about using non-programming interfaces such as CVTSRBRT.

I urge the originator of this thread to try to find someone local who has
addtional experience to provide some guidance with respect to writing
authorized code, to avoid adversely affecting a customer's system, either
functionally or integrity-wise.

It was mentioned that the desire is to do VSMLIST. Why? What will you do
with the information? Maybe there are other pieces of information available
in the system without going through the trouble (and cycles) of retrieving
VSMLIST and analyzing the conl structures.

Peter Relson
z/OS Core Technology Design
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to