Technical Reference Guide
                                                               Compa Deskpro EP Series of Personal Computers
First Edition- April 1998
7-13
7.4.5  SYSTEM MAP RETRIEVAL
The BIOS function INT 15, AX=E820h will return base memory and ISA/PCI memory
contiguous with base memory as normal memory ranges. This real mode call will indicate
chipset-defined address holes not in use, motherboard memory-mapped devices, and all
occurrences of the system BIOS as reserved. Standard PC address ranges will not be reported.
Input:
EBX  = continuation value or 00000000h to start at beginning of map
ECX  = number of bytes to copy (>=20)
EDX  = 534D4150h ('SMAP')
ES:DI  = buffer for result (see below)
Offset   Size     Description
  00h  QWORD    Base address
  08h  QWORD    Length in bytes
  10h  DWORD    Type of address range
  01h  Memory available to OS
  02h  Reserved, not available (e.g. system ROM,
memory-mapped device)
  other:  not defined
Output:
If CF=0 (success)
EAX  = 534D4150h ('SMAP')
EBX  = next offset from which to copy or 00000000h if finished
ECX  = actual length returned in bytes
ES:DI  = buffer filled
If CF=1 (failure)
AH  = Error Code (86h)
In order to determine the entire memory map, multiple E820 calls must be made.
For example, the first E820 call would be:
Input:
EDX = 534D4150h
  EBX  = 00h
  ECX  = 14h
  ES:DI  = some buffer to store information.
Output:
EAX = 534D4150h
EBX = 01h
ECX = 14h
ES:DI  = 00 00 00 00    00 00 00 00    00 FC 09 00    00 00 00 00    01 00 00 00
(indicates 0-639k is available to the OS)
Consecutive calls would continue until EBX returns with 0, indicating that the memory map is
complete.