Int 67/AX=DE0Ch

Prev Next Ralf Interrups Categories Contents

------

Virtual Control Program Interface - SWITCH TO PROTECTED MODE

AX = DE0Ch
ESI = linear address in first megabyte of values for system
registers (see #03665)
interrupts disabled

Return:
Interrupts disabled GDTR, IDTR, LDTR, TR loaded SS:ESP must have at least 16 bytes space, and the entry point is required to set up a new stack before enabling interrupts EAX, ESI, DS, ES, FS, GS destroyed

Note: In protected mode, calling the protected-mode VCPI entry point with AX = DE0Ch DS = segment selector mapping entire linear address space obtained via AX=DE01h SS:ESP in first megabyte of linear memory STACK:QWORD return address from FAR call to 32-bit segment DWORD EIP DWORD CS DWORD reserved for EFLAGS DWORD ESP DWORD SS DWORD ES DWORD DS DWORD FS DWORD GS and interrupts disabled, will switch to virtual86 mode with interrupts disabled, all segment registers loaded, and EAX destroyed.

See Also: AH=3Fh - INT 15/AH=89h - INT D4/AH=10h

Format of system register values for switch to protected mode: Offset Size Description (Table 03665) 00h DWORD value for CR3 04h DWORD linear address in first megabyte of value for GDTR 08h DWORD linear address in first megabyte of value for IDTR 0Ch WORD value for LDTR 0Eh WORD value for TR 10h PWORD CS:EIP of protected mode entry-point

Category: DOS Extenders - Int 67h - V

------

Prev Next Ralf Interrups Categories Contents