Code Comments
Programming Forum and web based access to our favorite programming groups.IIRC (and I may not) SB00 means a program check during EXCP. There may be several causes, but the one I am familiar with is a problem (probably a S0C4) caused by the buffer being too small for the block size. Now, when you run it under the debugger the storage after the buffer may exist (ie. be GETMAINed) and be purloined by EXCP for the duration of an I/O operation. If it's a READ, the block may not be long enough to overlay the appropriated storage, so no data corruption occurs, and everything works. Without the debugger, the storage after the buffer does not exist and a S0C4 results from EXCP trying to access (page fix?) it, hence SB00. One thing to try is to extend the buffer size to the maximaum allowed (32760 unless you're using a new-age LBI or whatever, in which case why aren't you telling us the details?) and see if the problem persists. If so, then I guess this was not your problem. If not, you can try to figure out "Why is it so?" (Thank you Prof. Julius Sumner Miller. :) Good luck! GP Lolobg wrote: > I'm currently starting with assembler language > > While executing one of my assembler program that read a pds member I've > got a ABEND SB00 . Message : A program check occured during EXCP > processing of an I/O request. > > The same program works when running under my debugger (ASG smartest). > I've made many tests changing AMODE/RMODE but I cannot find out what's > going wrong with it? > > This program is reentrant an compiled with AMODE=24 RMODE=24 > > Could someone explain in simple terms what a program check is ? > Does anyone have an idea in which way I should investigate? >
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.