What is POST (definition)

All computers that derive from the Intel 8088, start after being turned on at the memory position F000H:FFF0H with their execution. At this position of the BIOS-ROM one finds the jump command to a routine/handler which will test the system and its extensions. Doing this it initializes several hardware components. This procedure is called Power-On self test, abbreviated with POST.


What do we need the POST for?

The POST is necessary to detect failure of hardware as early as possible and thus to avoid errors during program execution, which are harder to localize. Such errors can be broken memory or a graphic card that refuses to work.


What gets tested by the POST?

The tests can get grouped into 2 sections. First we have the tests at the central PC hardware. This includes memory, DMA, processor and so on. Whereas the second group covers extensions as a SCSI controller of the graphic adapter.


Will the same POST-procedure get called at every start?

No. A complete POST will only be done on a cold start. If the PC has just done a warm start, is detected by the BIOS by checking the flag in memory segment 0040h:0072h. In case of a warm start, this flag will be set to 1234h and the POST will skip the memory check.

POST-procedure 1st part

Also the order of the following tests is not obligatory, most BIOS-suppliers stick to them, more or less.


The POST-tests at the central hardware include:


So first the processor gets tested for heart and some other organs (not all functions are checked). An important point at the tests are the registers. If any error occurs while testing them, the system gets stopped. There will be no output of an error message.

POST-procedure -- 2nd part

The tests at the extensions of the system include:


Furthermore the variables of the BIOS and the interrupt vector table get initialized.

As the PC can be can be upgraded with components unknown to the system, the BIOS has to look for any ROM-extensions. Those extensions will enable the system to work with the new components. Those ROM-extensions can be placed both at the mainboard and on an extension card (e.g. video card, SCSI controller). Those extensions can expand or even replace BIOS functions (e.g. VGA card). To enable the POST-procedure to detect the extensions, the first two byte of their memory will contain the codes 55h and AAh. The following third byte contains the size of the ROM module in blocks of 512 byte.

POST-procedure -- messages on screen

What a user sees at a typical POST:

  1. Dump of some information about your graphic card, as producer, version of your video BIOS and video memory available
  2. Display of BIOS version copyright
  3. counting up your main memory (sometimes accompanied with ticks)
  4. if the POST was successful and the BIOS is ready to call the operating system, a table of the system configuration will be displayed