July 2004
Intermediate to advanced
1744 pages
35h 3m
English
While executing a DOS task in VM86 mode, a task switch results when an interrupt or exception selects an entry in the Protected Mode IDT that contains a Task Gate. A classic example would be the hardware interrupt generated by the timeslice timer. This interrupt typically selects an IDT entry that contains a Task Gate and a task switch occurs.
When the DOS task is suspended, the current contents of most of the processor's registers are saved in the DOS task's TSS. The copy of the EFlags register saved in the TSS has EFlags[VM] set to one. The processor's registers (including EFlags) are then loaded from the new task's TSS.
If the new task is also a DOS task, the copy of EFlags read from the new task's TSS ...
Read now
Unlock full access