0180-進入 64 位模式
2023-08-20 19:21 作者:jiangbo4444 | 我要投稿
環(huán)境
Time 2022-11-12
WSL-Ubuntu 22.04
QEMU 6.2.0
NASM 2.15.05
前言
說明
參考:https://os.phil-opp.com/entering-longmode/
目標(biāo)
從保護模式切換到長模式。
定位代碼段
因為當(dāng)前還是執(zhí)行的 32 的指令,所以需要執(zhí)行跳轉(zhuǎn),重新選擇 GDT,這里給代碼段加了一個標(biāo)記。
跳轉(zhuǎn)指令
和之前一樣,如果模式切換了,需要執(zhí)行遠跳指令,刷新流水線,重新加載指令。
同時增加了一個 extern 64 位的入口。
64 位匯編
修改編譯和鏈接
效果

總結(jié)
從之前的保護模式,經(jīng)過一系列的操作,進入了長模式,即 64 位模式。
附錄
long_mode.asm
boot.asm
標(biāo)簽:
0180-進入 64 位模式的評論 (共 條)
