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
