码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统开发之——打开A20

时间:2015-08-15 12:02:11      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:操作系统

我们在上一篇文章提到,如何制作Bootsect,当然,人总是贪婪的,制作完Bootsect又想着做Setup了,Setup主要工作是打开A20,进入保护模式,等等。

一、介绍A20

这是一个历史性问题,在intel处理器8086中,“段:偏移”最大能表示的内存地址是FFFF:FFFF,即10FFEFh,可是8086只有20位寻址地址总线,只能寻址到1MB,如果试图访问1MB以上的内存地址,并不会发生错误,而是回卷,即又回到0000:0000地址,又从零开始寻址,可是到了80286时,真的可以访问到1MB以上的内存了,如果遇到同样的情况,系统不会再回卷寻址,这就造成了向上不兼容,为了保证100%兼容,IBM想出了一个办法,使用8042键盘控制器来控制第20个地址位,这就是A20地址线。

二、实践操作

直接贴代码,又恐吓读者呵呵:

;打开A20地址线
	IN	AL,0x92	;进入南桥芯片
	OR	AL,00000010b ;打开南桥芯片的第2位(A20控制位)
	OUT 0x92,AL ;将修改过的配置送回南桥芯片

这里用的另一种方法,并非使用8042键盘控制器,注释里面已经说了,还有,这段代码要在Ring0的特权级下运行,如果还要往后继续操作,需要JMP指令以及进入保护模式,我们在下一篇文章再介绍进入保护模式。

如果还有问题可以联系我:Email:2608184397@qq.com

如果读者朋友也有开发操作系统的想法,可以联系我。


版权声明:本文为博主原创文章,未经博主允许不得转载。

操作系统开发之——打开A20

标签:操作系统

原文地址:http://blog.csdn.net/imcjysy/article/details/47679919

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!