0x7c00引导地址详解
来源:互联网 发布:网络作家沙漠作品 编辑:程序博客网 时间:2024/06/06 15:29
0x7C00是BIOS加载MBR到内存时的起始地址,操作系统或者引导程序必须假设它们的汇编代码从内存的0x7C00地址开始。
这时 你可能会想:
1.我阅读了intel x86(32位机)程序手册,但是却并没有看到任何关于0x7C00的信息。
0x7C00 与x86的cpu没有关系,自然你不能再intel的程序手册中找到其相关信息。
2.0x7C00=31KB,这个地址的意思或者说这个 地址容量的大小表示什么意思?
任何人都可以决定它,但是他为什么要用过一个半字节的地址(32KB-1KB)呢?
对于 0x7C00来说,有另个问题是需要回答的。
1.谁决定了0x7C00?
2.0x7C00本身代表了什么意思?
0x7C00 第一次出现的地方是在IBM PC 5150的BIOS处理int 19(19号中断)的时候。
IBM PC 5150是x86(32位)IBM PC/AT系列的祖先,这款PC于1981年发布,使用intel8088(16位)的处理器和16KB的RAM内存,BIOS和微软的基本指令均放在该内存当中。
当打开电脑电源,BIOS开始自检,然后触发19号中断。在处理19号中断时,BIOS检测电脑是否具有软盘/硬盘/固定磁盘,如果电脑具有任何可以的磁盘,BIOS就把磁盘的第一个扇区(512B)加载到内存的0x7C00地址处。
现在你知道为什么在x86的文档中找不到0x7C00的相关信息了,因为它是与BIOS相 关的。
其他的0x7C00的问题,现在的问题是0×0000—0x7c00地址呢?
在原文中具有这样的一个表:
+——————— 0×0
| Interrupts vectors(中断向量表)
+——————— 0×400
| BIOS data area(BIOS的数据区域)
+——————— 0×5??
| OS load area(操作系统加载区域)
+——————— 0x7C00
| Boot sector(引导区域)
+——————— 0x7E00
| Boot data/stack(引导数据/堆栈)
+——————— 0x7FFF
| (not used)
+——————— (…)
关 于这个问题,广为流传的一片文章:
http://www.glamenv-septzen.net/en/view/6
这时 你可能会想:
1.我阅读了intel x86(32位机)程序手册,但是却并没有看到任何关于0x7C00的信息。
0x7C00 与x86的cpu没有关系,自然你不能再intel的程序手册中找到其相关信息。
2.0x7C00=31KB,这个地址的意思或者说这个 地址容量的大小表示什么意思?
任何人都可以决定它,但是他为什么要用过一个半字节的地址(32KB-1KB)呢?
对于 0x7C00来说,有另个问题是需要回答的。
1.谁决定了0x7C00?
2.0x7C00本身代表了什么意思?
0x7C00 第一次出现的地方是在IBM PC 5150的BIOS处理int 19(19号中断)的时候。
IBM PC 5150是x86(32位)IBM PC/AT系列的祖先,这款PC于1981年发布,使用intel8088(16位)的处理器和16KB的RAM内存,BIOS和微软的基本指令均放在该内存当中。
当打开电脑电源,BIOS开始自检,然后触发19号中断。在处理19号中断时,BIOS检测电脑是否具有软盘/硬盘/固定磁盘,如果电脑具有任何可以的磁盘,BIOS就把磁盘的第一个扇区(512B)加载到内存的0x7C00地址处。
现在你知道为什么在x86的文档中找不到0x7C00的相关信息了,因为它是与BIOS相 关的。
其他的0x7C00的问题,现在的问题是0×0000—0x7c00地址呢?
在原文中具有这样的一个表:
+——————— 0×0
| Interrupts vectors(中断向量表)
+——————— 0×400
| BIOS data area(BIOS的数据区域)
+——————— 0×5??
| OS load area(操作系统加载区域)
+——————— 0x7C00
| Boot sector(引导区域)
+——————— 0x7E00
| Boot data/stack(引导数据/堆栈)
+——————— 0x7FFF
| (not used)
+——————— (…)
关 于这个问题,广为流传的一片文章:
http://www.glamenv-septzen.net/en/view/6
0 0
- 0x7c00引导地址详解
- 为什么主引导记录的内存地址是0x7C00?
- 为什么主引导记录的内存地址是0x7C00?
- 为什么主引导记录的内存地址是0x7C00?
- 为什么主引导记录的内存地址是0x7C00?
- 为什么主引导记录的内存地址是0x7C00?
- 为什么主引导记录的内存地址是0x7C00?
- 为什么主引导记录的内存地址是0x7C00?
- 为什么主引导记录的内存地址是0x7C00?
- 为什么GRUB起始地址为0x7c00.
- 为什么bios将mbr装载到0x7c00地址,0x7c00怎么来的?
- 为什么bios将mbr装载到0x7c00地址,0x7c00怎么来的?
- 为什么bios将mbr装载到0x7c00地址,0x7c00怎么来的?(翻译)
- 为什么bios将mbr装载到0x7c00地址,0x7c00怎么来的?
- BIOS加载MBR到内存地址0x7C00的由来
- BIOS加载MBR到内存地址0x7C00的由来
- 0x7c00解疑
- ORG 0x7C00
- Hdu 2433 Travel 删边+最短路之和
- Android SDK中找不到Google Play Services解决方法
- json入门及相关
- Qt on Android 之设置应用名为中文
- Effective Java 2nd edition 摘要
- 0x7c00引导地址详解
- Android Studio最全解析
- C3P0连接池的配置
- Oracle PostgreSQL (ROW_NUMBER() OVER)分析函数
- [ZK]zookeeper简单介绍
- Sublime Text 3 安装插件管理 Package Control
- 索引聚簇因子
- 翻转句子中单词的顺序
- uva 1586 - Molar mass