看板 ASM 關於我們 聯絡資訊
※ 引述《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
zlw:謝謝,V86真的蠻複雜的,比保護模式難理解 02/24 14:22
suhorng:重點是保護模式要回到真實模式唯一的辦法就是重開機吧... 02/24 18:53
wowtiger:沒有吧 只要不改到 segment/select 就沒事了 02/25 01:20
wowtiger:不過我說的是 Real->Protect->Real 這樣子 02/25 01:21
ggg12345:286進protection mode後只能用reset才能clear cr0,但 386 02/25 04:46
ggg12345:改掉286必須用TimerRAM,A20與reset的限制.386另外加入v86 02/25 04:51
ggg12345:虛擬機以支援window/protection下的DOS prompt(8086) 02/25 04:57