中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-08-01 20:48
48,037 topics / 350,122 posts / today 2 new / 48,249 members
DOS开发编程 & 发展交流 (开发室) » How to get the total amount of physical memory installed on the current machine
Printable Version  1,511 / 5
Floor1 asbai Posted 2006-04-16 23:31
高级用户 Posts 252 Credits 653
As the title says, which expert knows

=======================
Solved by myself:

EAX: 0x0000E820
INT 15h

[ Last edited by asbai on 2006-4-17 at 08:55 ]
Floor2 xuantian Posted 2006-04-16 23:41
高级用户 Posts 282 Credits 587
Oh, the motherboard's power-on self-test will display it. What else do you need to get...
Floor3 asbai Posted 2006-04-16 23:57
高级用户 Posts 252 Credits 653
Is this the programming section? Of course it's for programming, heh.

Both assembly and C are okay. The interrupts I found can only check up to 64MB at most. Only the XMS Driver's Query Any Free Extended Memory (Function 88h) seems to be able to retrieve memory larger than 64MB, but it only returns free XMS, and in actual use it always doesn't work (for a machine with 1G memory, the EDX still only returns more than 60MB, don't know why)

[ Last edited by asbai on 2006-4-17 at 00:02 ]
Floor4 xuantian Posted 2006-04-17 23:22
高级用户 Posts 282 Credits 587
I remember that DOS can only manage up to 64M?
Floor5 asbai Posted 2006-04-18 02:59
高级用户 Posts 252 Credits 653
Originally posted by xuantian at 2006-4-17 23:22:
I remember that DOS can only manage 64M or so


DOS 7.1's built-in HIMEM.SYS supports the XMS 3.0 specification and can manage up to 4GB.

Another thing: int 15h is a BIOS interrupt, not a DOS one, heh
Floor6 xuantian Posted 2006-04-18 15:04
高级用户 Posts 282 Credits 587
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023