LiteOS-从bios到MBR引导代码

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 

启动步骤

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

LiteOS-从bios到MBR引导代码_第1张图片

运行

LiteOS-从bios到MBR引导代码_第2张图片

 

 

转载于:https://my.oschina.net/kkkkkkkkkkkkk/blog/899297

你可能感兴趣的:(LiteOS-从bios到MBR引导代码)