INT 31H 0300H: Simulate Real Mode Interrupt
Compatibility: DPMI 0.9+
Expects: AX 0300H
BL interrupt number
BH flags: must be 00H
CX number of words to copy to the real-mode stack
ES:DI (or ES:EDI) address of a DpmiRegRec structure.
──────────────────────────────────────────────────────────────────
Returns: CF NC (clear) if successful; else AX = DPMI Error Code
ES:DI (or ES:EDI) the DpmiRegRec structure contains returned data
──────────────────────────────────────────────────────────────────
Info: Simulates a real-mode interrupt.
You may use this instead of the INT nn opcode to access
DOS Functions, Interrupts and BIOS Services, etc. The host
switches to real mode, loads the registers, performs INT [BL],
switches back to protected mode, copies the returned registers
into the caller's structure and returns the status.
ES:DI (or ES:EDI, when in 32-bit mode) points to a DpmiRegRec structure
that sets up the registers on entry and will contain the modified
register values upon return.
CX is used when you are expected to push data onto the stack before
invoking the interrupt (not a common scenario). When CX is non-
zero, the host copies that many 2-byte words from the protected
mode onto the real-mode stack before invoking the interrupt.
Note: The DPMI host automatically handles all INT nn opcodes to provide
BIOS and DOS services transparently. I'm not sure why you would
use this fn.
See Also: DPMI API
INT 2fH: Multiplex Interrupt
DOS Functions
-♦-