摘要: 本节讲学习如何编译和链接C源程序,以及查看最终文件与汇编代码的异同. 关键字:C语言; 目标代码;链接器;反汇编 目标:学习使用C语言编写与汇编语言功能相同的代码 在上一节中我们创建了平台无关的编译器,本节我们将使用该编译器的一些功能来编译、链接C源程序. 本节没有什么理论知识,主要是熟悉编译器的一 阅读全文
posted @ 2020-11-19 10:33 EwanHai 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 本节将学习如何使用汇编完成一个32bit模式下的全局描述符表(GDT) 关键字: GDT 目标:用汇编实现GDT结构 理论基础 之前的实模式下,我们用的寻址方法就是段地址 << 4 + 偏移地址,但是随着计算机理论的发展,人们发现,如果不在各种地址段之间加上访问权限的限制,计算机数据的安全性难以保障 阅读全文
posted @ 2020-11-19 10:32 EwanHai 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 终于要进入32-bit模式了,本节将完整的学习从boot sector进入32bit模式的流程 关键字: 中断; 流程 目标:进入32-bit保护模式并且测试前两节中学习到的(GDT设置,VGA打印功能)保护模式知识. 理论基础 进入32-bit保护模式需要进行以下几个步骤: 关闭所有中断(不响应所 阅读全文
posted @ 2020-11-19 10:32 EwanHai 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 本节将学习如何为特定目标平台创建专属编译器 关键字: 交叉编译器 目标: 创建一个可以用来建立我们的kernel的开发环境 理论基础 鉴于以后我们将使用C语言编辑我们的操作系统核,因此需要对开发环境进行新的布置,也就是创建一个交叉编译器. 为什么要搞一个交叉编译器? 事实上类Unix系统的编译环境已 阅读全文
posted @ 2020-11-19 10:32 EwanHai 阅读(310) 评论(0) 推荐(0) 编辑