Machine Characteristics - Boot Registers
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.
page revision: 0, last edited: 04 Nov 2014 13:37