MS-DOS Includes MSD.COM and MSD.EXE (104993)
The information in this article applies to:
• Microsoft MS-DOS operating system 6.2
• Microsoft MS-DOS operating system 6.21
• Microsoft MS-DOS operating system 6.22
This article was previously published under Q104993
MS-DOS includes two files to run Microsoft Diagnostics (MSD): MSD.COM and
MSD versions 2.0, 2.0a, and 2.01 do not interact correctly with expanded
memory services (EMS) memory. MSD makes an INT 67h EMS call and passes an
incorrect buffer pointer. The result is corrupted memory when INT 67h
writes information to this invalid buffer.
To work around this problem, MSD.COM loads before MSD.EXE, hooks INT 67h,
and then monitors for the MSD.EXE INT 67h call. MSD.COM patches the buffer
pointer to point to the correct MSD.EXE data segment. This prevents the
MSD.COM is used rather than making the change in MSD.EXE because MSD.COM
can be used with any 2.x version of MSD.EXE. You can protect against memory
corruption simply by placing the MSD.COM file in the directory where
MSD.EXE is located.
Microsoft has confirmed this to be a problem in MSD versions 2.0, 2.0a, and
2.01. This problem was corrected in MSD version 2.1 (provided with Windows
for Workgroups version 3.11).
| Modification Type:
|| Last Reviewed: