Re: Addressing mode for SYNAD exit

2023-11-06 Thread Seymour J Metz
No; "Using Data Sets" documents the high bits of R0 and R1, so if you're 
running AMODE=31 then it's your responsibility.

IMHO they'd have done better to have a SYNADX= parameter in the DCBE with a 
fully 31-bit interface.
-- 
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי




From: IBM Mainframe Discussion List  on behalf of 
Charles Hardee 
Sent: Monday, November 6, 2023 12:46 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Addressing mode for SYNAD exit

To answer  Seymour J. Metz's question first, it's specified in the DCB.

To answer Charles Mills' question, the module is defined as RMODE 24, AMODE
ANY, so the I/O was issued in 31-bit mode.

Which now rings a bell, I, too, vaguely remember that SYNAD is called in
the A-Mode of the code issuing the I/O.

So, does this mean IBM has an issue in that they aren't clearing the flags
from the DCB address when they load it for passing to the SYNAD exit, or is
it my responsibility to clear the high byte before trying to use the DCB
address in the low 3?

C-

On Mon, Nov 6, 2023 at 11:34 AM Charles Mills  wrote:

> My notes from 2005 seem to imply that the SYNAD exit may be called in
> 31-bit mode. I think it is called in the mode under which the GET or PUT
> was issued.
>
> Charles
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Addressing mode for SYNAD exit

2023-11-06 Thread Seymour J Metz
They can't strip the high bits without breaking the documented interface.

-- 
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי




From: IBM Mainframe Discussion List  on behalf of 
Charles Hardee 
Sent: Monday, November 6, 2023 1:32 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Addressing mode for SYNAD exit

Yep!
I've already done that, added an NILH to strip away the high byte, but it
does make for an interesting question.



On Mon, Nov 6, 2023 at 12:30 PM Charles Mills  wrote:

> > does this mean IBM has an issue in that they aren't clearing the flags
> >from the DCB address when they load it for passing to the SYNAD exit, or
> is
> >it my responsibility to clear the high byte
>
> Not sure, but I can darn sure tell you what the fastest resolution would
> be!
>
> Charles
>
>
> On Mon, 6 Nov 2023 11:46:16 -0600, Charles Hardee <
> charleshhar...@gmail.com> wrote:
>
> >To answer  Seymour J. Metz's question first, it's specified in the DCB.
> >
> >To answer Charles Mills' question, the module is defined as RMODE 24,
> AMODE
> >ANY, so the I/O was issued in 31-bit mode.
> >
> >Which now rings a bell, I, too, vaguely remember that SYNAD is called in
> >the A-Mode of the code issuing the I/O.
> >
> >So, does this mean IBM has an issue in that they aren't clearing the flags
> >from the DCB address when they load it for passing to the SYNAD exit, or
> is
> >it my responsibility to clear the high byte before trying to use the DCB
> >address in the low 3?
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Addressing mode for SYNAD exit

2023-11-06 Thread Charles Hardee
Yep!
I've already done that, added an NILH to strip away the high byte, but it
does make for an interesting question.



On Mon, Nov 6, 2023 at 12:30 PM Charles Mills  wrote:

> > does this mean IBM has an issue in that they aren't clearing the flags
> >from the DCB address when they load it for passing to the SYNAD exit, or
> is
> >it my responsibility to clear the high byte
>
> Not sure, but I can darn sure tell you what the fastest resolution would
> be!
>
> Charles
>
>
> On Mon, 6 Nov 2023 11:46:16 -0600, Charles Hardee <
> charleshhar...@gmail.com> wrote:
>
> >To answer  Seymour J. Metz's question first, it's specified in the DCB.
> >
> >To answer Charles Mills' question, the module is defined as RMODE 24,
> AMODE
> >ANY, so the I/O was issued in 31-bit mode.
> >
> >Which now rings a bell, I, too, vaguely remember that SYNAD is called in
> >the A-Mode of the code issuing the I/O.
> >
> >So, does this mean IBM has an issue in that they aren't clearing the flags
> >from the DCB address when they load it for passing to the SYNAD exit, or
> is
> >it my responsibility to clear the high byte before trying to use the DCB
> >address in the low 3?
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Addressing mode for SYNAD exit

2023-11-06 Thread Charles Mills
> does this mean IBM has an issue in that they aren't clearing the flags
>from the DCB address when they load it for passing to the SYNAD exit, or is
>it my responsibility to clear the high byte

Not sure, but I can darn sure tell you what the fastest resolution would be!

Charles


On Mon, 6 Nov 2023 11:46:16 -0600, Charles Hardee  
wrote:

>To answer  Seymour J. Metz's question first, it's specified in the DCB.
>
>To answer Charles Mills' question, the module is defined as RMODE 24, AMODE
>ANY, so the I/O was issued in 31-bit mode.
>
>Which now rings a bell, I, too, vaguely remember that SYNAD is called in
>the A-Mode of the code issuing the I/O.
>
>So, does this mean IBM has an issue in that they aren't clearing the flags
>from the DCB address when they load it for passing to the SYNAD exit, or is
>it my responsibility to clear the high byte before trying to use the DCB
>address in the low 3?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Addressing mode for SYNAD exit

2023-11-06 Thread Charles Hardee
To answer  Seymour J. Metz's question first, it's specified in the DCB.

To answer Charles Mills' question, the module is defined as RMODE 24, AMODE
ANY, so the I/O was issued in 31-bit mode.

Which now rings a bell, I, too, vaguely remember that SYNAD is called in
the A-Mode of the code issuing the I/O.

So, does this mean IBM has an issue in that they aren't clearing the flags
from the DCB address when they load it for passing to the SYNAD exit, or is
it my responsibility to clear the high byte before trying to use the DCB
address in the low 3?

C-

On Mon, Nov 6, 2023 at 11:34 AM Charles Mills  wrote:

> My notes from 2005 seem to imply that the SYNAD exit may be called in
> 31-bit mode. I think it is called in the mode under which the GET or PUT
> was issued.
>
> Charles
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Addressing mode for SYNAD exit

2023-11-06 Thread Charles Mills
My notes from 2005 seem to imply that the SYNAD exit may be called in 31-bit 
mode. I think it is called in the mode under which the GET or PUT was issued.

Charles

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Addressing mode for SYNAD exit

2023-11-06 Thread Seymour J Metz
Where did you specify your SYNAD exit? What was the AMODE when you issued the 
GET or CHECK?






-- 
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי




From: IBM Mainframe Discussion List  on behalf of 
Charles Hardee 
Sent: Monday, November 6, 2023 11:20 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Addressing mode for SYNAD exit

Hello All,

I have been under the impression for decades that SYNAD exits are called in
24-bit mode.

Recently I have been having problems in one of my programs.
The problem goes as follows:
I am reading an input file that is defined as:
//INPUTDD  *,SYMBOLS=JCLONLY
OUTPUT DATASET  *other parameters*
/*

When the value of OUTDSN is long enough that the OUTPUT input statement is
greater than 80 characters, my SYNAD exit is called, but in 31-bit mode. R1
is passed to the SYNAD exit but has flag settings in the upper byte
followed by the 3-byte address of my DCB.
Since I am now in 31-bit mode, the flag bits cause the DCB address to be
unavailable and I get a S0C4 when trying to access the DCB.
If I insert a "NILH R1,X'00FF'" as the first instruction of my SYNAD code,
all works as before and I get a wrong length record error, rightfully so,
since the input record passed by the OS is greater than 80 characters.

So, after my long winded explanation, my question is, when did the calling
of SYNAD exits change to 31-bit? Or am I just still living in the dark ages?

Thanks,
Chuck

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Addressing mode for SYNAD exit

2023-11-06 Thread Charles Hardee
Hello All,

I have been under the impression for decades that SYNAD exits are called in
24-bit mode.

Recently I have been having problems in one of my programs.
The problem goes as follows:
I am reading an input file that is defined as:
//INPUTDD  *,SYMBOLS=JCLONLY
OUTPUT DATASET  *other parameters*
/*

When the value of OUTDSN is long enough that the OUTPUT input statement is
greater than 80 characters, my SYNAD exit is called, but in 31-bit mode. R1
is passed to the SYNAD exit but has flag settings in the upper byte
followed by the 3-byte address of my DCB.
Since I am now in 31-bit mode, the flag bits cause the DCB address to be
unavailable and I get a S0C4 when trying to access the DCB.
If I insert a "NILH R1,X'00FF'" as the first instruction of my SYNAD code,
all works as before and I get a wrong length record error, rightfully so,
since the input record passed by the OS is greater than 80 characters.

So, after my long winded explanation, my question is, when did the calling
of SYNAD exits change to 31-bit? Or am I just still living in the dark ages?

Thanks,
Chuck

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN