《30天自制操作系统》学习笔记(四)

第一天--第三天小结

这部分完成了操作系统的启动过程(将软盘内容读入到磁盘中,并执行相应的指令

一、系统启动
(一)制作启动区
    主要完成读入软盘内容到内存中的任务,该部分需控制在512字节以内,并且符合系统引导程序的要求

(二)将文件保存到软盘中以便读取
    书中使用了nask.exe将操作系统文件(暂时这样称呼)生成了sys文件,同时使用了edimg.exe将sys文件写入到sys之中。

(三)开始执行操作系统
    书中总结了空白软盘保存文件时的规则(文件名和文件内容存储的位置),结合了org和jmp指令,实现了在读取完成后跳转到操作系统指令开始执行。

流程:系统启动-->读取操作系统文件到内存-->跳转-->开始执行操作系统指令

二、32位模式前准备
(一)存储相关画面信息
            设定开始地址,然后赋值。如VARM EQU 0X0FF8    MOV DWORD [VARM],0X000A0000

(二)开始导入C语言
            了解C语言编译成机器代码的过程,最后在sys文件中,C语言文件和asmhead.nas文件的内容会合在一起,C语言文件的内容编程bootpack标号下的指令
        
            C语言中调用汇编函数的方式

三、其它注意点
        在读取软盘文件时,设置了从0磁头、0柱面、2扇区开始,所以书中在读取软盘内容时采取了一个比较简单的方式,降低了理解难度,但是会把与文件无关的内容也读入到内存中
        阅读代码时要结合Makefile文件

四、问题
        本书在进入保护模式时不像其它的书中写的有一个明显的16位到32位的跳转指令,暂时没明白是如何实现的?



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值