On Mon, 11 Aug 2025 18:32:38 -0500 Jon Perryman <[email protected]> wrote:

:>On Mon, 11 Aug 2025 18:15:17 -0400, Joseph Reichman <[email protected]> 
wrote:

:>>Didn't Have register13 initialized

:>This is how to crash a system unless you're guaranteed the savearea will not 
be used (SVC, PC, ATTACH, ...).  Running key0 makes this especially dangerous. 
Always assume R13 is required unless you are 100% sure it's not required.

Services document what registers are required. No reason to assume that R13
must point to a save area unless documented as such.

For example IEANTCR has documented "Before issuing the IEANTCR callable
service, the caller does not have to place any information into any register
unless using it in register notation for a particular parameter, or using it
as a base register" and even though CALL is used, R13 need not be pointing to
a save area.

ETCON documents "If the caller has issued the SYSSTATE macro with the
OSREL=ZOSV1R6 parameter (Version 1 Release 6 of z/OS or later) before issuing
the ETCON macro, the caller does not have to place any information into any
general purpose register (GPR) unless using it in register notation for a
particular parameter, or using it as a base register. Otherwise, the caller
must ensure that the following general purpose register contains the specified
information: 
Register 13
The address of an 18-word save area". This means if running on a system that
might not support stacking PCs, you must set R13 which is used by the macro to
save state"

The doc of ISGXSRBW is wanting and should specify the requirements of R13.
Also IMHO it should be documented in the appropriate manual ( Authorized
Assembler Services Guide) 

--
Binyamin Dissen <[email protected]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to