INT 31H 0306H: Query Raw Mode-Switch Address

                                                    Compatibility: DPMI 0.9+ 
 Expects: AX    0306H
          ──────────────────────────────────────────────────────────────────
 Returns: CF    NC (this fn always succeeds)
          BX:CX real-mode address of routine to switch to protected mode
          SI:DI (or SI:EDI) prot mode addr of routine to switch to real mode
          ──────────────────────────────────────────────────────────────────
    Info: This is used by applications which perform low-level mode
          switching.  It obtains the addresses of the DPMI routine which
          switches into or out of real mode.

          See INT 31H 0305H for a way to save and restore the state of a
          task when you perform raw mode-switching.

    BX:CX this address can be called by real-mode applications to switch to
          protected mode.

 SI:(E)DI this address can be called by protected-mode applications to
          switch to real mode.

          Both of these routines are accessed via FAR JMP and expect:

               AX = new DS
               CX = new ES
               DX = new SS
            (E)BX = new (E)SP
               SI = new CS
            (E)DI = new (E)IP

          The host switches modes, and sets DS, ES, SS, and (E)SP, and
          jumps to SI:(E)DI.

   Notes: ■ It is your responsibility to save and restore the CPU state
            (see INT 31H 0305H) when switching modes.

          ■ You will find it easier to use fns such as INT 31H 0300H to
            force mode switching, since they handle the overhead.

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