[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 31 P - DPMI 0.9+ - SIMULATE REAL MODE INTERRUPT
        AX = 0300h
        BL = interrupt number
        BH = flags
            bit 0: reset the interrupt controller and A20 line (DPMI 0.9)
                   reserved, must be 0 (DPMI 1.0+)
            others must be 0
        CX = number of words to copy from protected mode to real mode stack
        ES:(E)DI = selector:offset of real mode call structure (see below)
Return: CF clear if successful
            real mode call structure modified (all fields except SS:SP, CS:IP
              filled with return values from real mode interrupt)
        CF set on error
            AX = error code (DPMI 1.0+) (8012h,8013h,8014h,8021h)(see AX=0000h)
        protected mode stack unchanged
Notes:  16-bit programs use ES:DI as pointer, 32-bit programs use ES:EDI
        CS:IP in the real mode call structure is ignored for this call,
          instead, the indicated interrupt vector is used for the address
        the flags in the call structure are pushed on the real mode stack to
          form an interrupt stack frame, and the trace and interrupt flags are
          clear on entry to the handler
        DPMI will provide a small (30 words) real mode stack if SS:SP is zero
        the real mode handler must return with the stack in the same state as
          it was on being called
SeeAlso: INT 21/AX=2511h,INT 21/AH=E3h"OS/286"

Format of real mode call structure:
Offset  Size    Description
 00h    DWORD   EDI
 04h    DWORD   ESI
 08h    DWORD   EBP
 0Ch    DWORD   reserved (00h)
 10h    DWORD   EBX
 14h    DWORD   EDX
 18h    DWORD   ECX
 1Ch    DWORD   EAX
 20h    WORD    flags
 22h    WORD    ES
 24h    WORD    DS
 26h    WORD    FS
 28h    WORD    GS
 2Ah    WORD    IP
 2Ch    WORD    CS
 2Eh    WORD    SP
 30h    WORD    SS

See Also: 310302
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson