DOS/32 Advanced DOS Extender - D32A C/C++ Run-Time Library Reference
6.04 - DOS/32 Advanced D32A Library function - d32a_int86xpm()
Synopsys:
#include <d32a.h>
void d32a_int86xpm(int IntNum, D32A_REGS *InRegs, D32A_REGS *OutRegs, D32A_SREGS *SegRegs);
Description:
The d32a_int86xpm function issues a software interrupt IntNum in the
Protected Mode. Before the interrupt, the 32-bit CPU registers are loaded
from the structure located by InRegs and the segment registers are loaded
from the structure located by SegRegs. Although the function checks the
values in the SegRegs structure to be valid Protected Mode Selectors before
loading the segment registers, you should always make sure that none of the
fields of the SegRegs structure contains invalid values that may cause
protection violation. When the interrupt is completed, the structure OutRegs
is filled with the contents of the CPU registers. The following CPU
registers are passed to the interrupt handler: EAX, EBX, ECX, EDX, ESI, EDI,
EBP, Eflags, DS, ES, FS, GS. Please note that the interrupt IntNum is
executed in the Protected Mode if a protected mode handler for this
interrupt is installed. Otherwise, the interrupt IntNum will be reflected to
the Real Mode by the DOS Extender, where it will be handled by a Real Mode
interrupt handler.
Returns:
The OutRegs structure is filled with contents of the CPU registers and
the SegRegs structure is filled with the contents of the segment registers
when the interrupt IntNum completes. This function does not return any
value.
Copyright © DOS/32 Advanced Team 1996-2002 All Rights Reserved
|