This structure is used in the following DPMI API services:

    INT 31H 0300H (simulate real-mode interrupt)
    INT 31H 0301H (call real-mode for FAR RET return)
    INT 31H 0302H (call real-mode for IRET return)

   Offset Size Contents
   ▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
    +0      4  lRegDI  DI or EDI
    +4      4  lRegSI  SI or ESI
    +8      4  lRegBP  BP or EBP
   +0cH     4  lRes    (reserved, should be 00000000H)
   +10H     4  lRegBC  BX or EBX
   +14H     4  lRegDX  DX or EDX
   +18H     4  lRegCX  CX or ECX
   +1cH     4  lRegAX  AX or EAX
   +20H     2  wFlags  Flags (CPU status flags)
   +22H     2  wRegES  ES
   +24H     2  wRegDS  DS
   +26H     2  wRegFS  FS (not used in 16-bit applications)
   +28H     2  wRegGS  GS (not used in 16-bit applications)
   +2aH     2  wRegIP  IP (not used in fn 0300H)
   +2cH     2  wRegCS  CS (not used in fn 0300H)
   +2eH     2  wRegSP  SP (0000H=host provides real-mode stack)
   +30H     2  wRegSS  SS (0000H=host provides real-mode stack)
           50          size of a DpmiRegRec

   Notes: ■ When wRegSS and wRegSP are 0000H, the DPMI will supply a real-
            mode stack.

          ■ Values for segment registers must be valid for real mode (don't
            pass protected-mode selectors).

          ■ 16-bit applications need supply only the first two bytes of the
            4-byte lRegXX fields.

            16-bit applications need not supply values for FS and GS, even
            when running on a 80386+ CPU.

See Also: DPMI API
          INT 2fH: Multiplex Interrupt
          DOS Functions