一步一步实现一个简单的OS(HelloWorld)

这篇博客介绍如何从头实现一个简单的操作系统,首先从编写显示'HelloWorld'的引导加载器开始。内容涉及BIOS自检、CMOS设置、引导扇区加载到内存的流程,以及使用INT 10H的视频服务在屏幕上显示文字。通过编译链接生成boot.bin,并使用dd命令写入硬盘镜像,最终在模拟环境中运行验证。
摘要由CSDN通过智能技术生成

先弄个HelloWorld吧,虽然这个网上一大堆,不过不知道的人还是不少,就简单的弄一个吧。。。。。。。

系统启动时,第一步是BIOS自检(这个不管),然后从CMOS中设置的默认引导介质中加载第一个扇区(512字节)到内存的0x07C00处(0x0000:0x7C00),

之后,跳转执行。

所以,引导启动系统的第一部分就是对这512字节进行编程。。。

这次呢,就写一个简单的HelloWorld(启动后,在屏幕显示HelloWorld)。

其它功能不考虑,

下面我就开始整了,思想有写乱,你们讲究的看吧。

显示服务(Video Service——INT 10H)

13H号功能

入口:

AH = 13H

AL = 输出方式(用1号,具体为什么自己百度去)

BH = 页码(咱用0号的)

BL = 字符属性

CX = 字符串长度

DH,DL = (x, y) 坐标

ES:BP = 字符串地址


OK

开始吧


# bootasm.S    这里,扩展名必须大写,具体为什么,问GCC去

.globl start

start:   # 入口地址

    .code16     # 声明是16位代码(为什么启动时要用16位代码。。。。自己百度去,,,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值