basic input output system

The BIOS is one of the things every PC has and provides a ver useful programming interface. Though this programming interface is very constant, the BIOS itself is internally different between any PC model or manufacturer and even may be updated by loading a newer version to the flash memory chip it is stored in. It is the basic program any PC performs after the start button or power on button is pressed or sometimes if the power itself is applied to the hardware ("server-mode").

This specific piece of software is absolutely hardware-dependant, initializes and grants correct function and availability on every single piece of hardware that can be found on the mainboard (or "motherboard" = MOBO) and even tries to get rid of the cards that are plugged in the slots. The most essential piece it is specialized for is the CPU, the heart and heater of the machine.

The software interface provided by the BIOS via software interrupts, which remained quite constant over the years and enables the operating system to work on any machine despite the underlying hardware. This interface must be used, if one wants to write "primitive" programs that has the ability work on different (but "compatible") PCs. Sometimes, when existing hardware-components have a well defined stable and easy to access hardware definition, like the line printer port (LPT) or the serial communication port (COM) or even sound cards (sound blaster compatible), the software you write could work directly with the hardware without using the BIOS, but its not recommended.

The BIOS also provides a configuration menu for tuning the hardware that can be presented at PC startup and the changes are saved in a battery buffered seperate memory. Using old PCs, its better to change the battery for new projects as it would have been there for years. If the board has no battery but a DALLAS chip with integrated battery - throw that PC away!!!

Some basic BIOS access programs can be found at my basic project parallel printer port. All programs here are coded in Assembler language.


Last change: May 22, 2011 *** Online since: March 17, 2011 ***

I do not take any responsibility for the content of linked sites.