Default Interrupt Reflection


DPMI hosts provide interrupt vectors for all 100h (256
decimal) interrupts for protected mode clients. When the
DPMI client initializes, all interrupt vectors will point to
code that will automatically reflect the interrupt to real
mode (except for Int 31h and Int 21h, AH=4Ch). When a
default interrupt reflection handler is executed it will
switch to real mode, preserving the EAX, EBX, ECX, EDX, ESI,
EDI, and EBP registers and flags, and reflect the interrupt
in real mode. When the real mode interrupt returns, the
default interrupt reflection code will switch back to
protected mode and return with the modified values of EAX,
EBX, ECX, EDX, ESI, EDI, EBP, and flags. Segment registers
and the stack pointer will not be passed between modes.
Therefore, any API that passes pointers or information in
segment registers will need to be translated by a DOS
extender.