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
                                    -♦-