Note: This API calls are shared between DOS and Win16 personality.
DOSX is a specialized version of DPMI. Windows standard and extended mode kernel is a DPMI client app. Standard and extended mode kernel differs minimally and shares common codebase. Standard mode is just DPMI client, exnhanced mode is DPMI client running under Virtual Machime Manager. Both modes shares DPMI interface for kernel communication. The OS/2 virtual DOS Protected Mode Interface (VDPMI) device driver provides Version 0.9 DPMI support for virtual DOS machines. Win16 provides Version 1.0 DPMI support, but reported as 0.9.
Int 31H, AH=00H, AL=07H
Set Segment Base Address
AX = 0007H BX = selector CX:DX = 32-bit linear base address of segment
if function successful Carry flag = clear if function unsuccessful Carry flag = set AX = error code 8022H invalid selector 8025H invalid linear address (changing the base would cause the descriptor to reference a linear address range outside that allowed for DPMI clients)
Sets the 32-bit linear base address field in the LDT descriptor for the specified segment.
A DPMI 1.0 host will automatically reload any segment register which contains the selector specified in register BX. It is suggested that DPMI 0.9 hosts also implement this.
Refer to the rules for descriptor usage in Appendix D.
Text based on http://www.delorie.com/djgpp/doc/dpmi/