INT 31H 0305H: Query State Save/Restore Addresses
Compatibility: DPMI 0.9+
Expects: AX 0305H
Returns: CF NC (this fn always succeeds)
AX size of buffer, in bytes, required to save the state
BX:CX real-mode address of routine to save/restore state
SI:DI (or SI:EDI) protected mode addr of save/restore routine
Info: This is used by applications which perform low-level mode
switching. It obtains the addresses of the DPMI routine which
saves and restores the task state.
See INT 31H 0306H (query raw mode-switch address) for related
AX When you perform the call the "save/restore" state routine, you
will need to supply this much memory (in bytes).
BX:CX this address can be called by real-mode applications to save the
state of a protected-mode task's registers, stack, etc.
SI:(E)DI this address can be called by protected-mode applications to save
the state of a real-mode task's registers, stack, etc.
Both of these routines are accessed via FAR CALL and expect:
AL = requested action: 00H = save the state
01H = restore the state
ES:(E)DI = address of save/restore buffer
See Also: DPMI API
INT 2fH: Multiplex Interrupt