On 27 August 2014 10:30, SUBSCRIBE IBM-MAIN Harold Gray
<[email protected]> wrote:
> I have a working SUBSYS interface.  My code processes a few of the interfaces 
> (OPEN, ALLOC,... etc.) and previously resided below the line. I am trying to 
> move the code above the line.  Everything works fine except one item.  In my 
> OPEN routine, I put my input/output routine's address into the field ACBINRTN 
> which is now an above the line address.  As it turns out, when JES (IGG019DJ) 
> invokes my I/O routine, it does a BASR R14,R15 and is in AMODE 24. This 
> causes a S0C4 as it doesn't get to my code but branches to the 24-bit address 
> instead.  R15 has the correct address in it (above the line).  I tried 
> setting the high order bit to 1 to signify this routine is a 31-bit address 
> (this is a technique I had to use to get the other routines to be invoked in 
> the  correct AMODE by z/OS).  I would have thought that z/OS would have the 
> capability to do the AMODE 31 call for I/O at my level (2.1).
>
> Any ideas on how to let JES  exit know to invoke ACBINRTN in AMOCE 31?

I don't think this is a reasonable expectation. The ACB-based macros
have supported 24-bit callers forever, and I can't think it's open to
your routine to force a caller to be in 31-bit mode.

Probably you need a little stub to do a BASSM or the like.

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