Interrups | Categories | Contents |
AX = 0203h BL = exception number (00h-1Fh) CX:(E)DX = selector:offset of handler
Return:
CF clear if successful CF set on error AX = error code (DPMI 1.0+) (8021h,8022h) (see #03143)
Notes: 32-bit programs must supply an offset in EDX and use a 32-bit interrupt stack frame on chaining to the next exception handler. The handler should return using a FAR return. All fault stack frames contain an error code, but it is only valid for exceptions 08h and 0Ah-0Eh. Handlers will only be called if the exception occurs in protected mode, and the DPMI host does not transparently handle the exception. The handler may change certain values on the stack frame (see #03146,#03147). DPMI 1.0+ supports this function only for backward compatibility; use AX=0212h or AX=0213h instead. Not supported by MS Windows 3.0 in Standard mode
See Also:
AX=0202h - AX=0212h - AX=0213h - INT 2F/AX=FB42
Format of stack frame for 16-bit programs:
Format of stack frame for 32-bit programs:
Category:
DOS Extenders
-
Int 31h
-
D
(offset from SS:SP)
Offset Size Description (Table 03146)
00h DWORD return CS:IP (do not change)
04h WORD error code
06h DWORD CS:IP of exception
0Ah WORD flags
0Ch DWORD SS:SP
(offset from SS:ESP)
Offset Size Description (Table 03147)
00h DWORD return EIP (do not change)
04h WORD return CS selector (do not change)
06h WORD reserved (do not change)
08h DWORD error code
0Ch DWORD EIP of exception
10h WORD CS selector of exception
12h WORD reserved (do not change)
14h DWORD EFLAGS
18h DWORD ESP
1Ch WORD SS
1Eh WORD reserved (do not change)
Interrups | Categories | Contents |