On 4/14/2016 1:11 PM, Savor, Thomas (Alpharetta) wrote:
CHECK DECB1
LH WORK1,DCBBLKSI Block size at time of READ
L WORK2,DECB1+16 Status area address
SH WORK1,14(WORK2) WORK1 has block length
Of course being curious it looks to me that DECB+16 points to IOB Address
Then looking at the IOB DSECT (IEZIOB), 14 from the beginning = returned block
length.
14 from the beginning is accurate...from my dump.
However when trying to map this with IEZIOB, it seems to have wrong
displacement.
ORG IOBPREFX @L3A
The macro expands a prefix, either in-line or as a DSECT. To get correct
results, use USING IOBSTDRD,...
Or you could gamble a little and subtract A(IOBSTDRD-IOBPREFX) from the
DECB1+16 obtained address, but that may break if/when the macro is
modified. Offset 14 points into the CSW, subtracting the unread count.
If you plan to use this for production, note that the count is an
unsigned halfword, and will produce incorrect results when someone plays
with the CCWs.
Gerhard Postpischil
Bradford, VT
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN