The Computer Guys

Miami to Fort Lauderdale Since 1994

 

 

We Build the Best & Repair the Rest! ©

 

MEM Command Reports Less Than 640K Total Conventional Memory

FAQ Search Virus Alerts Hardware Faqs

 

Home
Up
Computer Repair
PC Maintenance
Disaster Recovery
SpyWare Removal
Company Profile
Disclaimer
Contact Information
Home Users

 

 

 

MEM Command Reports Less Than 640K Total Conventional Memory

 

 

The DOS MEM command will report 640K or 655,360 bytes of total conventional memory on most systems. Issuing the command as just MEM will show the total as 640K, issuing the command as MEM/C/P will show the total as 655,360 bytes.

 

If the BIOS has set up an Extended BIOS Data Area (EBDA or XBDA), then 1KB (1024 bytes) at the top of base memory will be allocated for the EBDA. This will cause the MEM command to report 639K or 654,336 bytes of total conventional memory.

 

If EMM386 (or certain other memory managers) is loaded, it will automatically relocate the EBDA to within the first 64KB of base memory (unless the NOMOVEXBDA parameter is used), which will cause the MEM command to report the full 640K or 655,360 bytes as the total amount of conventional memory. Windows 95 seems to automatically relocate the EBDA even if VMM32 is not loaded. There is no memory gained by relocating the EBDA - all that is changed is its location and whether DOS or the BIOS is keeping track of it.

 

The presence of an onboard PS/2 mouse port is one reason why an Extended BIOS Data Area would be used.

 

If the MEM command does report 639K as the total amount of conventional memory, the DEBUG command can be used to determine whether this is due to the use of an Extended BIOS Data Area.

 

Type DEBUG at the DOS prompt. This gives a dash prompt. Then type D 40:0. This will display several rows of pairs of hex characters. The last two pairs of the top row are a pointer to the EBDA. This pair of hex values is reversed, it represents a segment (or paragraph) address. The values will be C0 9F (9FC0:0000) if there is an Extended BIOS Data Area present at the top of conventional memory. These values will differ if the EBDA has been relocated. 32 0D (0D32:0000) is a typical value for the relocated EBDA. 80 9F (9F80:0000) indicates that the EBDA begins at 2K under the top of 640K. These values should be 00 00 if no EBDA has been allocated.

 

Another reason why less than 640K may be reported as the total amount of conventional memory is the presence of certain viruses in memory. Virus infections are very common and the most common PC viruses are boot sector infectors which load into memory every time the system is booted from an infected hard drive or floppy disk. To test for a virus, boot clean from a known uninfected, write-protected boot disk and run a good anti-virus utility

.

Yet another reason for less than 640K to be reported would be the presence of certain expansion cards, such as hard drive controller cards, which have not only a ROM BIOS Extension but also the need to store information such as hard drive parameters in system RAM. Some such cards may allocate 1K or more of conventional memory for their own use. A network adapter card with a boot ROM may do this also. To test for this, remove the card and run the MEM command again.

 

While every attempt is made to ensure the accuracy of our support documents, CpuCare.com provides these documents on an AS-IS basis for information purposes only.

 

Google
 

 

 

 

Copyright © 1998 The Computer Guys

 Back Home Up Next