Talk:X86 Assembly/Bootloaders

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

Should the code start at 0x0000 or 0x0100?

I'm not quite sure what you're referring to, but MS-DOS .COM files are loaded to address CS:0100h whereas boot loaders are loaded to address 0000:7C00h. AFAIK, all the segment registers are set to 0 by the BIOS, and IP then starts as 7C00h. Telling your assembler that the code will be positioned at 7C00h can ease the calculation of memory offsets. Artelius (talk) 00:51, 19 April 2008 (UTC)