Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当 BIOS 将控制权交给从 MBR 加载的代码时,第一条指令似乎是
jmpi go, BOOTSEG
其中 go 是下一条指令之前的另一个标签,BOOTSEG 是 0x07c0。执行这样一条指令的原因似乎是当 BIOS 传递控制权时,段寄存器设置为零,该指令将段寄存器设置为适当的值(在本例中为 0x07c0)。
我的问题是:为什么要将段寄存器设置为该值?jmp 指令按预期执行的事实表明,加载的 MBR 代码可以在不更改段值的情况下正常执行。如果不进行此段更改会发生什么?