【30天自制操作系统】第二天

本文详细介绍了自制操作系统的初始步骤,包括使用Notepad++编辑代码,理解启动区代码的作用,了解BIOS加载过程,以及通过makefile进行编译和运行。在启动区代码中,涉及了初始化寄存器、显示字符和调用显卡BIOS等关键操作。通过连续的四次跳跃,最终进入操作系统的世界。同时,文章也解析了makefile的工作原理,用于生成ipl.bin和helloos.img等镜像文件。
摘要由CSDN通过智能技术生成

1.编辑器用Notepad++就行
2.代码核心区解释

在这里插入图片描述
(1)ORG 0x7c00h是这段代码的拷贝在内存中的首地址
(文件编译后存在磁盘里,BIOS从磁盘的启动盘引导)

(2)接着就是初始化各种寄存器

(3)设置SI为msg的地址

(4)putloop也是一个地址,putloop:到jmp putloop指令为止这段汇编指令是从msg所在的内存地址一次取8位,即一个字节到al寄存器中,然后设置显示的格式,其中的CMP AL,0是看有没有取完字符串,取完就跳转到fin,让CPU待机。

(5)int 10是调用显卡BIOS

3.书中所说的制作启动区,就是我们写的这些代码
电脑开机过程:
(1)按下开机键,CPU 将 PC 寄存器的值强制初始化为 0xffff0,这个位置是 BIOS 程序的入口地址(一跳)

(2)该入口地址处是一个跳转指令,跳转到 0xfe05b 位置,开始执行(二跳)

(3)执行了一些硬件检测工作后,最后一步将启动区内容加载到内存 0x7c00,并跳转到这里(三跳)
(4)启动区代码主要是加载操作系统内核,并跳转到加载处(四跳)

经过这连续的四次跳跃,终于来到了操作系统的世界了&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值