zoukankan      html  css  js  c++  java
  • 操作系统开发之——打开A20

    我们在上一篇文章提到。怎样制作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

    假设读者朋友也有开发操作系统的想法,能够联系我。


  • 相关阅读:
    java运行时异常与一般异常有何异同?
    B+树原理及mysql的索引分析
    ibatis in的用法
    brython的问题
    限流算法的原理
    Java8的CompletionService使用与原理
    命令行相关快捷键
    Java8 异步编排类CompletableFuture
    分布式系统ID生成方案
    curl 命令简介
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6855126.html
Copyright © 2011-2022 走看看