Overview of the general memory-layout of PC/XT/AT while operating.

Address   Name / Description
0000:0000   Interrupt vector table: 256 4-byte addresses
0040:0000   ROM-BIOS data area.
                                    See  BIOS Data Area  for details
0050:0000   DOS data area.
xxxx:0000   DOS low-level BIOS code (read from IO.SYS on boot disk)
xxxx:0000   DOS interrupt handlers, including INT 21H  (IBMDOS.COM)
xxxx:0000   DOS buffers, data areas, and installed device drivers
xxxx:0000   resident portion of COMMAND.COM
  includes handlers for INT 22H  INT 23H and INT 24H
xxxx:0000   TSR-style programs and data
xxxx:0000 | Currently-executing application program (.COM or .EXE program)
| Programs initially own all of memory up to 640K (a000:0000) or
| whatever is the memory-ceiling in the PC.
xxxx:0000   Transient portion of COMMAND.COM.  Command processor, internal
  commands, etc.  Gets reloaded if any program overwrites this are
xxxx:0000   Extended BIOS Data Area on PS/2 (highest memory below 640K)
a000:0000   On 386+ CPUs, addresses from a000:0 to f000:0 that are not
through    occupied by ROM are available as UMBs  when supported by
e000:ffff   EMM386.EXE or other memory-management software
a000:0000   EGA and VGA memory for certain video modes
b000:0000   MDA display adapter video memory (also Hercules & clones)
b800:0000   CGA video memory (also Hercules page 2)
c800:0000   External ROM code.  ROM-BIOS looks here (in 2K-block increments)
through    for code to be executed at boot time.  Such ROMS usually install
e000:0000   a device handler (e.g., hard disk or EGA BIOS); see ROM-Scan
also      Physical paging addresses for EMS expanded memory.
e000:0000   AT motherboard ROM modules in 64K-block increments.
through    See ROM-Scan
f600:0000   ROM-resident BASIC interpreter (ancient IBM-logoed PC only)
fe00:0000   ROM-BIOS: POST, boot code, interrupt handlers, the whole banana
f000:fff0   JMP instruction to first opcode to execute on power up or reset
f000:fff5   BIOS release date (in ASCII)
f000:fffe   IBM PC identification code.  See BIOS Data Area (end of table)
ffff:0000   This is the High Memory Area, available to 286+ computers.
through    It is the first 64K (less 16 bytes) of extended  memory, but is
ffff:fff0   set up to be accessible while in real mode.
  Above 1M  
Area above 1 MB is extended  memory available to AT-class computers via
BIOS function INT 15H and (when HIMEM.SYS or other XMS provider is
installed) XMS Services.  The CPU is switched into protected mode to make
this memory accessible.  See also: About DPMI.

Extended memory is currently used by DOS only for RAM-disk, disk caching,
and by a few DOS TSRs.

Windows, OS/2, Xenix, and other operating systems or control programs may
use this area for multitasking or general-purpose memory.

See Also: BIOS Data Area
- -

General Memory Map