Page 1 of 1

How to evaluate the value "0x7C00" ?

Posted: Mon Mar 25, 2013 7:08 pm
by gapry
As we know the BIOS Interrupt (INT) 0x19 which searches for a boot signiture (0xAA55).Loads and executes our bootloader at 0x7C00 if it found.

My Question : Why 0x7C00? What is the reason ? How to evaluate it through some methods?

Re: How to evaluate the value "0x7C00" ?

Posted: Mon Mar 25, 2013 7:37 pm
by TightCoderEx
The general rule of thumb, for no other reason that it can be that way, was to put disposable code in high memory. That way, once it's served its purpose it could be overwritten. At the time of the first BIOS in the mid 70's for the IBM compatibles, 32K was a big deal. Hence 7C00H is right near the top of 8000H. As technology evolved, this paradigm should possibly have changed, but there is something to be said for backward compatibility and as time went on, this location didn't seem to be a burden on more advanced architectures, so why change, but change it did and along came EUFI.