zhanshi
驱动牛犊
驱动牛犊
  • 注册日期2002-08-04
  • 最后登录2002-12-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1378回复:2

救命罢

楼主#
更多 发布于:2002-08-04 23:20
BIOS 的int 0x15 的0xe820的资料
shyeagle
驱动老牛
驱动老牛
  • 注册日期2002-04-30
  • 最后登录2007-07-31
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-05 13:33
INT 15 - newer BIOSes - GET SYSTEM MEMORY MAP
AX = E820h
EAX = 0000E820h
EDX = 534D4150h (\'SMAP\')
EBX = continuation value or 00000000h to start at beginning of map
ECX = size of buffer for result, in bytes (should be >= 20 bytes)
ES:DI -> buffer for result (see #00581)
Return: CF clear if successful
   EAX = 534D4150h (\'SMAP\')
   ES:DI buffer filled
   EBX = next offset from which to copy or 00000000h if all done
   ECX = actual length returned in bytes
CF set on error
   AH = error code (86h) (see #00496 at INT 15/AH=80h)
Notes: originally introduced with the Phoenix BIOS v4.0, this function is
 now supported by most newer BIOSes, since various versions of Windows
 call it to find out about the system memory
a maximum of 20 bytes will be transferred at one time, even if ECX is
 higher; some BIOSes (e.g. Award Modular BIOS v4.50PG) ignore the
 value of ECX on entry, and always copy 20 bytes
some BIOSes expect the high word of EAX to be clear on entry, i.e.
 EAX=0000E820h
if this function is not supported, an application should fall back
 to AX=E802h, AX=E801h, and then AH=88h
the BIOS is permitted to return a nonzero continuation value in EBX
 and indicate that the end of the list has already been reached by
 returning with CF set on the next iteration
this function will return base memory and ISA/PCI memory contiguous
 with base memory as normal memory ranges; it will indicate
 chipset-defined address holes which are not in use and motherboard
 memory-mapped devices, and all occurrences of the system BIOS as
 reserved; standard PC address ranges will not be reported
SeeAlso: AH=C7h,AX=E801h\"Phoenix\",AX=E881h,MEM xxxxh:xxx0h\"ACPI\"

Format of Phoenix BIOS system memory map address range descriptor:
Offset Size Description (Table 00580)
 00h QWORD base address
 08h QWORD length in bytes
 10h DWORD type of address range (see #00581)

(Table 00581)
Values for System Memory Map address type:
 01h memory, available to OS
 02h reserved, not available (e.g. system ROM, memory-mapped device)
 03h ACPI Reclaim Memory (usable by OS after reading ACPI tables)
 04h ACPI NVS Memory (OS is required to save this memory between NVS
 sessions)
 other not defined yet -- treat as Reserved
SeeAlso: #00580
[url=http://www.01study.com]01空间网[/url] [url=http://www.01study.com/forum/dispbbs.asp?boardID=73&ID=193&skin=0]版主招募[/url] [img]http://shy2003.vip.sina.com/map/yjs.gif[/img]
zhanshi
驱动牛犊
驱动牛犊
  • 注册日期2002-08-04
  • 最后登录2002-12-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-05 19:35
真是太感谢啦
游客

返回顶部