kar*_*ara 6 x86 operating-system intel bios osdev
来自维基百科
在 IBM PC 兼容机器上,BIOS 选择一个引导设备,然后将设备的第一个扇区(可能是 MBR、VBR 或任何可执行代码)复制到内存地址 0x7C00 处的物理内存中
我正在阅读操作系统中的引导过程,尤其是英特尔 x86
:所以我发现将引导加载程序BIOS
的第一个512 bytes
加载到内存位置
(segment, offset) = (0x0000,0x7C00) = 0x07C00
Run Code Online (Sandbox Code Playgroud)
并跳转到那里执行引导加载程序
我的问题是为什么BIOS
总是加载
引导程序到0x07C00
?
BIOS
总是加载
bootloader
to的原因0x07C00
是历史的。
在早期,PC
只保证拥有
64 KB
的RAM
内存。
下面的内存0x07C00
是为中断向量、
BIOS
和BASIC
等保留的。
第一个操作系统可用内存从0x08000
.
所以
bootloader
加载到0x07C00
,它在1 KB
下面 0x08000
。
归档时间: |
|
查看次数: |
701 次 |
最近记录: |