The Booting Process =================== Turning on the Computer's power causes a "Cold Boot". The Processor enters a reset state, clears all memory locations to zero, performs a parity check of memory, and sets the CS register to segment address FFFF[0]H and IP register to offset zero. The CS refers to Code Segment register and IP refers to Instruction Pointer regsiter. The first Instruction to execute therefore, is at the address formed by CS:IP pair, which is FFFF0H, the entry point to BIOS in ROM. The BIOS routine beginning at FFFF0H checks various ports to identify and initialize devices that are attached to the Computer. BIOS then establishes two data areas: 1. An Interrupt Service Table that begins in low memory at location 0 and contains addresses for interrupts that occur. 2. A BIOS data area beginning at location 40[0], largely concerned with attached devices. Map of Physical Memory Start Address Purpose Dec Hex |=============================| | | | 64K Base System ROM | 960K F0000 | | |=============================| | | | 192K Memory Expansion | | area (ROM) | 768K C0000 | | |=============================| | | | 128K Video Display | | area (RAM) | 640K A0000 | | |=============================| | | | 640K Memory (RAM) | | | Zero 00000 | | |=============================| The ROM Basic Input/Output System (BIOS) begins at 768K and handles I/O devices, such as a Hard Disk controller. ROM beginning at 960K controls the Computer's basic functions, such as the Power-On-Self-Test, dot patterns for Graphics, and the Disk Self Loader. When you switch on the Power, ROM performs various check-outs and loads special data from disk in RAM. BIOS next determines whether a disk containing the Operating System Files is present and if so, it accesses the Bootstrap Loader from the Disk. When the DOS Operating System is found in the Disk, then this program loads system files IO.SYS and MSDOS.SYS from disk into memory and transfers control to the entry point of IO.SYS, which contains device drivers and other hardware-specific code. IO.SYS relocates itself in memory and transfers control in its turn to MSDOS.SYS. This module initializes internal DOS tables and the DOS portion of the interrupt table. Finally the control is passed to COMMAND.COM, which processes the AUTOEXEC.BAT file, displays its prompt, and monitors the keyboard for input. - by Suresh (suresh_cprog@softcodez.com). For any comments or errors please feel free to e-mail me. DISCLAIMER: =========== I verify the information contained in this file to the best of my ability, but I cannot be held responsible for any problems caused by use or misuse of the information.