Thanks; that's exactly what I needed to know. I apologize for thinking
of a different interpretation of "R2 must be zero".
Regards, Gary
Gary Weinhold
Senior Application Architect
DATAKINETICS | Data Performance & Optimization
Phone +1.613.523.5500 x216
Email: [email protected]
Visit us online at www.DKL.com
E-mail Notification: The information contained in this email and any attachments is confidential and may be subject to copyright or other intellectual property protection. If you are not the intended recipient, you are not authorized to use or disclose this information, and we request that you notify us by reply mail or telephone and delete the original message from your mail system.
__________
On 2015-12-16 00:22, Jim Mulder wrote:
I decided to start looking at the BSA instruction as part of a solution
to accessing memory in various keys using key 0.
I'm running a reentrant program from an authorized library (so it's
loaded in key 0) in problem state; I get a S0D3 abend, which I assume is
PIC 13 Special Operation exception, executing the following code:
LARL R6,BSA_RA Address for reduced authority routine
OILH R6,X'8000' Mark address 31-bit
LLILF R5,X'00C00090' preserve PKM, switch to Key 9
BSA R5,R6 Off to Reduced Authority routine
BSA_BA DS 0H Return to base authority
...
BSA_RA DS 0H Reduced authority routine
SR R6,R6 zero R6 in order to return
BSA R5,R6 Return to base authority
DC X'00DEAD00' If something unpredicted happens
I abend S0D3 in the BSA_RA routine on the BSA instruction. Until I had
the program in key 0 memory, I abended S0C4 as I entered the BSA_RA
routine at the SR R6,R6 instruction because the program was loaded in
key 8 fetch-protected memory.
The only reason listed for a Special Operation exception for BSA is if
R6 is non-zero when returning to base authority. And the dump shows it
is zero, and PSW is not updated with the address of BSA_BA.
Does anyone have any ideas of what probably obvious thing I'm missing
here?
Reconsider your interpretation of
"When BRANCH AND SET AUTHORITY is executed
in the reduced-authority state, as indicated by the
reduced-authority (RA) bit in the DUCT being one, R2
must be zero; otherwise, a special-operation exception
is recognized."
And then try
BSA R5,0 Return to base authority
Jim Mulder z/OS System Test IBM Corp. Poughkeepsie, NY