Machine Characteristics - Boot Registers
Table of Contents

This is one of a number of machine-characteristics.

Boot-Time Registers

When the boot sector code gets control what information does it receive from the BIOS? The table below shows some of the important register contents as found on different machines.

Machine Direction Flag Interrupt Flag1 Start Address Initial Stack2 DS Floppy Boot DL3 USB HDD-Image Boot DL4
Dell Latitude XP 475D laptop. 80486 75MHz. Phoenix BIOS 1.10 0 1 0000:7C00 0030:0100
1024
0000 0
AOpen motherboard. Pentium 3 600MHz. Award BIOS 3.60 0 0 0000:7C00 0000:0400
1024
0000 0
Viglen MPC-L. Geode 399MHz. ION A503 BIOS 0 0 0000:7C00 1000:7FE2
98,274
4000 0 0x80
Asus EEE 4G netbook. Celeron M ULV 630MHz. AMI ASUS 701 BIOS 0 1 0000:7C00 0000:7BD2
31,698
9FC0 0 0x80
Gateway laptop. Dual-core Core 2 T5300 1.7GHz. Phoenix BIOS 0 1 0000:7C00 0000:03E2
994
0040 0 0x80

Notes

  • The location of the data segment (shown as DS) is very varied.
  • The location of the boot-time stack is just as varied.
  • Some machines give control with interrupts enabled (interrupt flag set to 1), others with interrupts disabled.
  • Bear in mind that there is no guarantee the values will always be as shown. These are just outputs from testing and may be specific to a certain implementation of the BIOS. However, they do show the kind of information you can expect. If writing a boot sector you will probably want to establish a valid environment by setting your own stack, enabling or disabling interrupts, setting segment registers etc.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License