自制一个简单的启动扇区,打印hello,world!

自制一个简单的启动扇区,可以打印hello,world!

0,0
0,0

准备工作

计算机启动过程:按指令执行顺序划分为3个过程

  1. BIOS启动,第一条指令地址位于bios的映射(把bios的所有指令映射进内存)地址,所以bios启动,执行硬件检测和初始化,激活鼠标键盘,最后jmp到0x07c00处,这是code约定。
  2. 启动扇区启动,硬盘把启动扇区的指令映射到0x07c00处,指令从该扇区执行,最后jmp到IPL,也就是初始化程序加载器的内存地址
  3. 程序加载器启动, IPL作为加载器加载非常多的其他软件实现OS的启动。

启动扇区:
启动扇区位于硬盘的0面0道1扇区,只有512个字节,判断一个扇区是否为启动扇区,cpu只是简单的做了两次判断:

  1. 启动扇区的第一个字节不为0字节。
  2. 最后两个字节为0x55,0xaa。

这两个条件满足,就认为是启动扇区。

所以做一个简单的启动扇区只需要按下面这样做:
就3条汇编指令,“;”后面的都是注释。

;最简单的启动扇区
;启动扇区的判断条件:第一个字节不为0x00字节,最后两个字节为0x55,0xaa
;cpu执行全为0x00字节时会跳过,然后就会停住
;一个扇
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值