INT 31 P - DPMIsee DOS Protected-Mode Interface 0.9+ - SIMULATE REAL MODE INTERRUPT AX = 0300h BL = interrupt number BH = flags bit 0: reset the interrupt controller and A20(Address line 20) The 80286 and higher CPUs allow addresses in real mode to extend slightly beyond the one megabyte mark, which causes an incompatibility with some older programs which expect such addresses to wrap back to the beginning of the address space. For complete compatibility with the 8088, newer machines thus contain circuitry which permits the twenty-first address line (A20) to be disabled. The CPU then effectively has only twenty address lines in real mode, just as the 8088 does, and addresses which would extend beyond the one megabyte mark wrap to the beginning of the address space. See also High Memory Area, Real Mode. line (DPMIsee DOS Protected-Mode Interface 0.9) reserved, must be 0 (DPMIsee DOS Protected-Mode Interface 1.0+) others: reserved, 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 #03148) Return: CF clear if successful real mode call structure modified (all fields except SS:SP, CS:IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite. See also TCP, TCP/IP. filled with return values from real mode interrupt) CF set on error AX = error code (DPMIsee DOS Protected-Mode Interface 1.0+) (8012h,8013h,8014h,8021h)(see #03143) protected mode stack unchanged Notes: 16-bit programs use ES:DI as pointer, 32-bit programs use ES:EDI CS:IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite. See also TCP, TCP/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 DPMIsee DOS Protected-Mode Interface 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: AX=0302h,AX=FF01h,INT 21/AX=2511h,INT 21/AH=E3h"OS/286" SeeAlso: INT 2C/AX=0026h,INT 2F/AX=FB42h/BX=000Dh Format of DPMIsee DOS Protected-Mode Interface real mode call structure: Offset Size Description (Table 03148) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. EDI 04h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. ESI 08h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. EBP 0Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. reserved (00h) 10h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. EBX 14h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. EDX 18h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. ECX 1Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. EAX 20h WORD flags 22h WORD ES 24h WORD DS 26h WORD FS 28h WORD GS 2Ah WORD IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite. See also TCP, TCP/IP. 2Ch WORD CS 2Eh WORD SP 30h WORD SS