为什么BIOS INT 0x19加载Bootloader为"0x7C00"?

Gap*_*pry 6 operating-system bootloader

我们知道BIOS中断(INT)0x19搜索引导签名(0xAA55).如果找到,则加载并执行我们的引导加载程序0x7C00.

我的问题:为什么是0x7C00?是什么原因 ?如何通过一些方法评估它?

小智 0

这可能已经死了,但我会回答。

在任何引导加载程序开始时,当您将段的原点设置为时,0x7c00寄存器也会将地址跳转到该地址。因此,理想情况下,如果您查看一些告诉您如何使用 int0x19命令的在线资源,它们将指导您如何跳转到另一个地址。

要解决此问题,理想情况下,在每次跳转到新地址时将堆栈重置为 0。