欢迎光临散文网 会员登陆 & 注册

0180-进入 64 位模式

2023-08-20 19:21 作者:jiangbo4444  | 我要投稿

环境

  • Time 2022-11-12

  • WSL-Ubuntu 22.04

  • QEMU 6.2.0

  • NASM 2.15.05

前言

说明

参考:https://os.phil-opp.com/entering-longmode/

目标

从保护模式切换到长模式。

定位代码段

因为当前还是执行的 32 的指令,所以需要执行跳转,重新选择 GDT,这里给代码段加了一个标记。

跳转指令

和之前一样,如果模式切换了,需要执行远跳指令,刷新流水线,重新加载指令。

同时增加了一个 extern 64 位的入口。

64 位汇编

修改编译和链接

效果

切换到长模式

总结

从之前的保护模式,经过一系列的操作,进入了长模式,即 64 位模式。

附录

long_mode.asm

boot.asm


0180-进入 64 位模式的评论 (共 条)

分享到微博请遵守国家法律