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总是加载
bootloaderto的原因0x07C00是历史的。
在早期,PC只保证拥有
64 KB的RAM内存。
下面的内存0x07C00是为中断向量、
BIOS和BASIC等保留的。
第一个操作系统可用内存从0x08000.
所以
bootloader加载到0x07C00,它在1 KB 下面 0x08000。