INT 31 P - DPMIsee DOS Protected-Mode Interface 0.9+ - CALL REAL MODE PROCEDURE WITH IRET FRAME AX = 0302h 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 at INT 31/AX=0300h) 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 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 the real mode procedure must exit with an IRET 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=0300h