This DPMI 0.9 Specification is hosted by Tenberry Software, Inc.

11.7 Get Raw Mode Switch Addresses


[Next Section] * [Previous Section] * [DPMI Index]
[Tenberry Home] * [Software Quality] * [DOS/4G] * [DOS/4GW] * [DOS/16M]

This function returns addresses that can be jumped to for low-level mode switching.

To Call

     AX = 0306h

Returns

     If function was successful:
     Carry flag is clear
     BX:CX = Real -> Protected mode switch address
     SI:(E)DI = Protected -> Real mode switch address

     If function was not successful:
     Carry flag is set

Parameters To State-Save Procedures

Execute a far jump to the appropriate address (real or pmode) with:

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

The processor will be placed in the desired mode. The DS, ES, SS, (E)SP, CS, and (E)IP will contain the values specified. The (E)BP register will be preserved across the call and so can be used as a pointer. The values in (E)AX, (E)BX, (E)CX, (E)DX, (E)SI, and (E)DI will be undefined. On an 80386 or 80486 the FS and GS segment registers will contain zero after the mode switch.

Programmer's Notes


[Next Section] * [Previous Section] * [DPMI Index]
[Tenberry Home] * [Software Quality] * [DOS/4G] * [DOS/4GW] * [DOS/16M]
This HTML edition of the DPMI 0.9 Specification is hosted by Tenberry Software, Inc., makers of the DOS/16M and the DOS/4G family of DOS extenders. Page last modified 2003.1.28, <webmaster@tenberry.com>