LiteOS-从bios到MBR引导代码
LiteOS-从bios到MBR引导代码
梦想游戏人 发表于11个月前
LiteOS-从bios到MBR引导代码
  • 发表于 11个月前
  • 阅读 102
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

 

启动步骤

1.BIOS 加电启动后,开始进入计算机启动流程

2.自检,该过程主要用于检查基本硬件故障,如内存,CPU等,该过程可以再BIOS设置里面关闭,自检通过后许多旧年代的主板会蜂鸣器 表示通过。

3.从BIOS配置的启动设备启动,可以是HDD 光驱,也可以是软盘。找到后开始读取MBR(主引导记录),这里就是关键了,

扇区开始的

第一段为:引导程序占用446个字节,并且引导程序第一段指令为org 7c00h,bios吧程序加载到0000:7c00处开始执行,为什么是这个值 http://blog.csdn.net/mirage1993/article/details/29908929  解释地清楚

第二段为分区表:16*4个字节

第三段为结束标示值为0xaa55 ,2字节

一共512字节。

4.加载引导程序

前面446字节记录着引导程序代码,

编写引导代码boot.asm

 


org 7c00h

mov ax, cs
mov es, ax 
mov ax, logo
mov bp, ax
mov cx, len
mov ax, 1301h
mov bx, 000fh
mov dl, 0
int 10h

logo: db "LiteOS 0.1 (c) 2013-2017 dreamyouxi.com"
len: equ $ - logo
times 510 - ($ - $$) db 0
dw 0aa55h

用masm工具 生成二进制代码  start nasm boot.asm -o boot.bin,生成的文件就是我们需要的512字节的MBR。

新建一个vm虚拟机 ,把设备文件设置为生成的BMR

运行

 

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 34
博文 400
码字总数 115331
×
梦想游戏人
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: