《X86汇编语言从实模式到保护模式》第05章:编写主引导扇区代码

从第5章开始写起,第一部分主要是介绍写基础知识,看书即可,从第5章开始涉及代码编写。

这些文章的主要结构如下:

  1. 总结书中涉及的知识点。
  2. 调试和验证书中的代码部分。

1:知识点

1.1 主引导扇区

在电脑已启动就会去读0面0道1扇区,这个扇区就是主引导扇区(main boot sector)。

程序从0X7C00开始,一个扇区是512字节(0X200),所以主引导扇区是从0X7C00--0X7E00。主引导扇区的最后两个字节是0X55,0XAA。BIOS检查该标志,如果有效,则跳转到0X7C00继续执行。后续的操作系统的自举代码由MBR加载到内存之后,跳转到操作系统的入口地址继续执行。

 

1.2 8086的地址空间

8086总共20根地址线,访问2^20(1M地址),其中:

0x00000----0x9FFFF为常规内存

0XF0000--0xFFFFF(64K)为BIOS所用

0XA000-0XEFFFF(320K)由外围设备提供。

地址0XB8000---0XBFFFF就是留给显示用的,就是我们操作该地址就可以操作显卡,把显卡这段地址表示成段地址:偏移地址的形式,则表示为段地址0XB800,偏移地址是从0x0000----0xFFFF。

用段寄存器ES来定义段的开始,intel规定不允许将一个立即数送到段寄存器,比如:

mov es,0xb800

只允许通用寄存器和内存单元送到段寄存器

mov 段寄存器,通用寄存器
mov 段寄存器,内存单元

 

1.3 显存的访问

要把一个字符显示在屏幕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值