BIOS

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(correct offset of jump instruction)
m (Fix inter-wiki link for PC.)
Line 4: Line 4:
 
|extensions={{ext|bin}}, {{ext|rom}}
 
|extensions={{ext|bin}}, {{ext|rom}}
 
}}
 
}}
'''BIOS''' (Basic Input Output System), is a [[Read Only Memory|ROM]] chip containing code (firmware) to control peripherals attached to a [[wikipedia:PC]].
+
'''BIOS''' (Basic Input Output System), is a [[Read Only Memory|ROM]] chip containing code (firmware) to control peripherals attached to a [[Wikipedia:PC|PC]].
  
 
The x86 BIOS entry point is located at physical address <code>0xfffffff0</code> (usually corresponding to 16 bytes from the end of the BIOS image) and is executed in 16-bit real mode; it usually contains a jump instruction (either far or near). There are no other guarantees about BIOS image layout, although many vendors have developed in-house formats.
 
The x86 BIOS entry point is located at physical address <code>0xfffffff0</code> (usually corresponding to 16 bytes from the end of the BIOS image) and is executed in 16-bit real mode; it usually contains a jump instruction (either far or near). There are no other guarantees about BIOS image layout, although many vendors have developed in-house formats.

Revision as of 07:14, 2 August 2025

File Format
Name BIOS
Ontology
Extension(s) .bin, .rom

BIOS (Basic Input Output System), is a ROM chip containing code (firmware) to control peripherals attached to a PC.

The x86 BIOS entry point is located at physical address 0xfffffff0 (usually corresponding to 16 bytes from the end of the BIOS image) and is executed in 16-bit real mode; it usually contains a jump instruction (either far or near). There are no other guarantees about BIOS image layout, although many vendors have developed in-house formats.

UEFI firmware images usually contain an embedded Firmware File System.

Identification

ROM images start with bytes 0xaa 0x55. At offset 3 the initialization vector is stored. In many cases this is a 3 byte jump instruction starting with hexadecimal value 0xE9. Images for cards with PCI interface contain a 4 byte signature PCIR. Images for cards which support plug and Play feature contain a 4 byte signature $PnP.

Sample files

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox