Chapter
1
I
System Calls
Fatal
Error
Abort Address
Interrupt
24H
If a fatal disk error occurs during execution
of
one
of
the
disk I/O function calls, control transfers to the Interrupt
24H vector in the vector table. This address is copied into
the Program Segment Prefix from the Interrupt 24H vec-
tor
when the segment is created. You can set this address
using Function Call 25H.
BP:SI contains the address
of
a Device Header Control
Block from which additional information can be retrieved.
Interrupt 24H is not issued if the failure occurs during
execution
of
Interrupt 25H (Absolute Disk Read)
or
Inter-
rupt 26H (Absolute Disk Write). These errors are usually
handled
by
the MS-DOS error routine in COMMAND.COM
that retries the disk operation and then gives the user
the choice
of
aborting, retrying the operation,
or
ignoring
the error.
Entry Conditions:
BP:SI
=
Device Header Control
Block
address
Error Returns:
When an error handling program gains control from Inter-
rupt 24H, the
AX
and DI registers contains codes that
describe the error. If Bit
7
of
AH is
1,
either the error
is
a
bad image
of
the File Allocation Table
or
an error
occurred on
a
character device. The device header passed
in BP:SI can be examined
to
determine which case exists.
If the attribute byte high-order bit indicates a block de-
vice, then the error was a bad FAT. Otherwise, the error
is on
a
character device.
17