-
为什么主启动寄存器的存储器地址为0x7C00?
当时的操作系统是86-DOS。
此操作系统至少需要32 KB的内存。
内存地址为0x0000,32 KB内存为0x0000至0x7FFF。
8088芯片本身必须占用0x0000?0x03FF才能保存一些中断处理程序存储位置。
(主启动寄存器本身是INT19h中断信号的驱动程序。
因此,内存中只能使用0x0400?0x7FFF。
主启动记录位于内存地址的末尾,以在操作系统中留下尽可能多的连续内存。
由于扇区是512字节,主引导记录也生成数据。这需要额外保存512个字节。
因此,您的预订位置如下。
0x7FFF-512-512 + 1 = 0x7C00
0x7C00就是这样。
计算机启动后,使用32 KB的内存。
+ ---------------------- 0x0
|中断向量
+ ---------------------- 0x400
| BIOS数据区
+ ---------------------- 0x5?
|操作系统负载区域
+ ---------------------- 0x7C00
|引导部门
+ ---------------------- 0x7E00
|引导数据/堆栈
+ ---------------------- 0x7FFF
|(未使用)
+ -------------------------(。
)
(完)
上一篇:世界上第一辆丰田2.0 T D.下一篇:Txt z摇香云9
相关文章: