Re: [問題] 想請問各位大大有關寫作業系統@@>

看板ASM (組合語言)作者 (暗黑貴公子)時間15年前 (2009/02/24 03:26), 編輯推噓4(403)
留言7則, 4人參與, 最新討論串3/3 (看更多)
※ 引述《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

02/24 14:22, , 1F
謝謝,V86真的蠻複雜的,比保護模式難理解
02/24 14:22, 1F

02/24 18:53, , 2F
重點是保護模式要回到真實模式唯一的辦法就是重開機吧...
02/24 18:53, 2F

02/25 01:20, , 3F
沒有吧 只要不改到 segment/select 就沒事了
02/25 01:20, 3F

02/25 01:21, , 4F
不過我說的是 Real->Protect->Real 這樣子
02/25 01:21, 4F

02/25 04:46, , 5F
286進protection mode後只能用reset才能clear cr0,但 386
02/25 04:46, 5F

02/25 04:51, , 6F
改掉286必須用TimerRAM,A20與reset的限制.386另外加入v86
02/25 04:51, 6F

02/25 04:57, , 7F
虛擬機以支援window/protection下的DOS prompt(8086)
02/25 04:57, 7F
文章代碼(AID): #19elXCyW (ASM)
文章代碼(AID): #19elXCyW (ASM)