环境
Time 2022-11-12
WSL-Ubuntu
QEMU
(资料图片仅供参考)
NASM
前言
说明
参考:/entering-longmode/
目标
从保护模式切换到长模式。
定位代码段
因为当前还是执行的 32 的指令,所以需要执行跳转,重新选择 GDT,这里给代码段加了一个标记。
跳转指令
和之前一样,如果模式切换了,需要执行远跳指令,刷新流水线,重新加载指令。
同时增加了一个 extern 64 位的入口。
64 位汇编
修改编译和链接
效果
总结
从之前的保护模式,经过一系列的操作,进入了长模式,即 64 位模式。
附录
long_
关键词: