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:
//INPUT    DD  *,SYMBOLS=JCLONLY
OUTPUT DATASET &OUTDSN *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

Reply via email to