At last I must mov to al the code one of ignore, retry, abort, fail
What is diferent between ignore & fail ??
Both return with error state CF+1
Quote from: Rockphorr on April 02, 2009, 05:48:25 PM
At last I must mov to al the code one of ignore, retry, abort, fail
What is diferent between ignore & fail ??
Hello,
For DOS the Int 24H error handler issues the Abort, Retry,
Fail, or Ignore, message when a request to a device fails. Given
an attempt to copy a floppy with bad sectors as an example:
Abort terminates the copy operation.
Retry does just that, it tries to read the sectors again.
Fail returns to COPY with an error indicated. COPY will
(on my DOS system) go on to try a couple more times to complete
the copy.
Ignore returns to COPY with no or bad data.
According to the "MS-DOS Programmer;s Reference" if you
create your own critical error handler, when you return to
DOS, you should put a number in AL to tell the system what to
do: 0 = Ignore the error, 1 = Retry the operation, 2 =
Terminate the program, or 3 = Terminate the function.
HTH,
Steve N.
Is it your own INT 24 handler?
From RBIL
Quote
if IGNORE specified but not allowed, it is turned into FAIL
if RETRY specified but not allowed, it is turned into FAIL
if FAIL specified but not allowed, it is turned into ABORT
It depends on which part of DOS triggered the interrupt - some will allow 'ignore' and others won't. On entry to the INT, AH has the bits set of what is allowed.
One other thing
Quote"Abort is always allowed"
Abort here means 'forcibly terminate this program' with no chance of the program cleaning up (restoring hooked INTs for example).
Ignore, if allowed, returns to the caller as if the function had completed successfully.
Fail, if allowed, terminates the function and returns an error to the caller. This is the one to select if the code that called the function needs to handle the error.
Quote from: sinsi on April 03, 2009, 04:43:52 AM
Is it your own INT 24 handler?
From RBIL
Quote
if IGNORE specified but not allowed, it is turned into FAIL
if RETRY specified but not allowed, it is turned into FAIL
if FAIL specified but not allowed, it is turned into ABORT
It depends on which part of DOS triggered the interrupt - some will allow 'ignore' and others won't. On entry to the INT, AH has the bits set of what is allowed.
One other thingQuote"Abort is always allowed"
Abort here means 'forcibly terminate this program' with no chance of the program cleaning up (restoring hooked INTs for example).
Hi!
What is RBIL ??
Give mi please link to it.
Thanx
Quote from: MichaelW on April 03, 2009, 06:40:18 AM
Ignore, if allowed, returns to the caller as if the function had completed successfully.
Fail, if allowed, terminates the function and returns an error to the caller. This is the one to select if the code that called the function needs to handle the error.
HI MichaelW
I try ignore & fail in my int24 handler with get curdir on empty floppy drive.
Both returned error with cf=1
RBIL = Ralf Brown's Interrupt List
An HTML version is here:
http://www.ctyme.com/rbrown.htm
And the download version here:
http://www-2.cs.cmu.edu/~ralf/files.html
When the Interrupt 24h handler is called, bits 3, 4, and 5 of AH specify which actions are allowed:
Bit 3 = 1 if handler can terminate function.
Bit 4 = 1 if handler can retry the function.
Bit 5 = 1 if handler can ignore the error.
Quote from: MichaelW on April 04, 2009, 03:04:14 PM
RBIL = Ralf Brown's Interrupt List
An HTML version is here:
http://www.ctyme.com/rbrown.htm
And the download version here:
http://www-2.cs.cmu.edu/~ralf/files.html
When the Interrupt 24h handler is called, bits 3, 4, and 5 of AH specify which actions are allowed:
Bit 3 = 1 if handler can terminate function.
Bit 4 = 1 if handler can retry the function.
Bit 5 = 1 if handler can ignore the error.
thanx.