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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to