Ios – State of Registers After Bootup


I'm working on a boot loader on an x86 machine.

When the BIOS copies the contents of the MBR to 0x7c00 and jumps to that address, is there a standard meaning to the contents of the registers? Do the registers have standard values?

I know that the segment registers are typically set to 0, but will sometimes be 0x7c0. What about the other hardware registers?

Best Solution

This early execution environment is highly implementation defined, meaning the implementation of your particular BIOS. Never make any assumptions on the contents of registers. They might be initialized to 0, but they might contain a random value just as well.

from the OS dev Wiki, which is where I get information when I'm playing with my toy OS's

Related Question