Re: [問題] 怎麼切換到保護模式
※ 引述《swhpp (qq)》之銘言:
: 最近要寫一個可以讀取cpu msr的程式
: 在網路上看到可用rdmsr指令但會有
: instruction or register not accepted in current CPU mode
: 的錯誤,查了一下有人說要在保護模式下才可,
: 不知道有沒有大大會,或者有沒有其他辦法可以實現讀取cpu msr
: 麻煩大家賜教囉^^
: 另外我在網路上看到有用改CR0的方式
: 但我用MOV EAX,0
: MOV CR0,EAX
: 也是一樣有PRIVILEGE INSTRUCTION的問題
: 目前只讀得到cpuid不知道對取得cpu msr是否有幫助?
: 不曉得大家有沒有什麼方法可以實現?
在386↑ 基本上進到保護模式都是用
mov eax, cr0
or eax, 1
mov cr0, eax
然後經過一個跨段的jump之後,重新載入選擇子,才是真的進到保護模式
jmp dword SELECTOR32:CODEOFF32 ;用nasm的
不過 windows早就工作在保護模式下了
所以像crX、trX.....等等的暫存器 非在ring0下不可存取
如果你要玩保護模式的東西 除了從軟碟開機 真實模式下啟動外 (DOS 或 自己寫)
可以用Virtual PC 來玩 比較方便XD
另外 如果真的想玩這方面的
推薦一本書: 《自己動手寫作業系統》 在台灣由 文魁資訊出版 于淵‧編著
大陸 電子工業出版社的書翻譯過來的XDDD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.137.72.12
→
09/03 11:04, , 1F
09/03 11:04, 1F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章