Set Processor Exception Handler Vector
Sets the address of a handler for a CPU exception or fault,
allowing a protected mode application to intercept processor
exceptions (such as segment not present faults) that are not
handled by the DPMI host and would otherwise generate a
fatal error. This function should be avoided by DPMI 1.0
clients (see Notes).
Call With:
AX = 0203H
BL = exception/fault number (00H-1FH)
CX:(E)DX= selector:offset of exception handler
Returns:
if function successful
Carry flag= clear
if function unsuccessful
Carry flag= set
AX = error code
8021H invalid value (BL not in range 0-1FH)
8022H invalid selector
Notes:
o The value passed in CX should be a valid protected mode
code (executable) selector, not a real mode segment
address.
o 32-bit clients must supply a 32-bit offset in the EDX
register. If the client's handler chains to the next
exception handler, it must do so using a 32-bit interrupt
stack frame.
o Every exception is first examined by the DPMI host. If
the host does not handle the exception, it reflects the
exception to the first handler in the protected mode
exception handler chain. See page 30 for a complete
discussion of the environment and responsibilities of
protected mode exception handlers installed with this
function.
o Clients which run under DPMI 1.0 should use Int 31H
Functions 0212H and 0213H to set the addresses of
exception handlers. This function is supported by DPMI
1.0 hosts solely for compatibility with DPMI 0.9.
o Refer to the rules for descriptor usage in Appendix D.