打开A20地址线

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打开A20地址线相关的知识,希望对你有一定的参考价值。

这是 自己动手写操作系统 中的代码,
    ; 打开地址线A20
    in    al, 92h
    or    al, 00000010b
    out    92h, al

8086/8088 的地址线有 20 条:A0 ~ A19;
按字面意思来理解就是同时对这20根线置1或置0;

此文说有3种方法打开A20地址线;
The 3 methods for enabling the A20 Gate are
1. Keyboard Controller
2. Bios Function
3. System Port
https://blog.csdn.net/aisikaov5/article/details/50096071

此文对此问题讲的比较清晰;
    A20 地址线问题全面解析
    http://www.techbulo.com/703.html

8086/8088 的地址线有 20 条:A0 ~ A19,意味着 processor 可以将 20 位地址放上这 20 条地址线上,它的寻址能力是 1M (00000 ~ FFFFF),

在 OS 的 boot 阶段一般都要做打开 A20 gate 操作,虽然现在 A20 gate 缺省为开的。
打开 A20 gate 的方法最原始的是给 keyboard controller 8042 发送 A20 gate enable 命令字,就是上面所说的 0xDF 命令。

我还不太理解;先记一下;

以上是关于打开A20地址线的主要内容,如果未能解决你的问题,请参考以下文章

进入保护模式

在纯 UEFI 中启动时谁启用了 A20 线?

我对A20线检查代码的理解是否正确?

FLASH位宽为81632时,CPU与外设之间地址线的连接方法

转 A10/A20 Bootloader加载过程分析

四 . 树莓派A20 GPIO中断程序编写(1基本处理)