作者TKyo (暗黑贵公子)
看板ASM
标题Re: [问题] 想请问各位大大有关写作业系统@@>
时间Tue Feb 24 03:26:02 2009
※ 引述《zlw (洞房不败)》之铭言:
: XP 是保护模式,好像顶多透过 V86 模式可以像 debug.exe 一样稍微跑一下?
保护模式一旦回到真实模式, 想再回去保护模式
GDT/IDT/TSS...等等表格要重新载入, 这...几乎等於重新载入 OS = ="
况且重点是它无法被多工, 也就是说你无法同时使用多个真实模式
至於 VM 软体, 那就是 Emulator ...之类程式的范畴了
而 V86 Mode 是保护模式中的一种 Mode, 它可以被允许同时存在多个
且拥有个别真实模式的记忆体空间
底下是大约方法, 我就不细说原理了
Real Mode -> Set and Load GDT Table (GDT 表必要, TSS/IDT 表则不一定)
-> Set Cr0 bit 0 and jump -> Protect Mode
Protect Mode -> Clear Cr0 bit 0 and jump -> Real Mode
Real Mode -> Set and Load GDT/TSS/IDT Table (GDT/TSS/IDT 表必要)
-> Set Cr0 bit 0 and ltr TSS Table -> V86 Mode
Protect Mode -> ltr TSS Table
(IDT/TSS Table 在进入 Protect Mode 前必须先行被建立)
-> V86 Mode
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.168.73
1F:推 zlw:谢谢,V86真的蛮复杂的,比保护模式难理解 02/24 14:22
2F:推 suhorng:重点是保护模式要回到真实模式唯一的办法就是重开机吧... 02/24 18:53
3F:推 wowtiger:没有吧 只要不改到 segment/select 就没事了 02/25 01:20
4F:→ wowtiger:不过我说的是 Real->Protect->Real 这样子 02/25 01:21
5F:推 ggg12345:286进protection mode後只能用reset才能clear cr0,但 386 02/25 04:46
6F:→ ggg12345:改掉286必须用TimerRAM,A20与reset的限制.386另外加入v86 02/25 04:51
7F:→ ggg12345:虚拟机以支援window/protection下的DOS prompt(8086) 02/25 04:57