On 15 May 2018 at 12:53, Jousma, David
<[email protected]> wrote:

> SMF30 RAXFLAGS is kicking out the a  module for which I selectively pulled 
> out the DSPSERV code for allocating USERKEY SCOPE=COMMON Data space.   Is it 
> possible that this line "DSPSERV  DC    A(*+4+X'80000000')" is what is 
> setting the storage key just prior to execution?  i.e. KEY 8?  I didn't 
> create the code, I'm just trying to understand it.
>
>          MODESET MODE=SUP              SET TO SUPERVISOR STATE
>          L     R15,DSPSERV             INSURE 31 BIT MODE
>          BSM   0,R15                   SET 31 BIT MODE
> DSPSERV  DC    A(*+4+X'80000000')
> *
>          DSPSERV CREATE,               CREATE A DATA SPACE
...

The A(*+4+X'80000000') is just the address of the instruction
following the adcon (in this case whatever the DSPSERV CREATE expands
to), with the high bit on to indicate 31-bit mode. The BSM, uh
Branches and Sets Mode. These days you can just use the SAM31
instruction, but that and its friends SAM24 and SAM64 didn't come
along until zArch.

The adcon's X'80000000' has nothing to do with the key of the data space.

Tony H.

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

Reply via email to