MS-DOS EXE
MZ (also called by its extension EXE and by other names) is an executable file format used mainly by MS-DOS; the format is a successor of COM.
Many other executable formats are extensions of MZ, including New Executable (used by 16-bit Windows), Portable Executable (newer Windows versions) and Linear Executable (OS/2). Files in these formats usually begin with a short MZ program (called a DOS stub) which, when executed by DOS, prints a message like "This program cannot be run in DOS mode" or "This program requires Microsoft Windows" and immediately exits. Some programs contain a more functional DOS stub, e.g. the Windows 9x registry editor.
Identification
An MZ file begins with an ASCII signature of 'M' 'Z'
(or, rarely, 'Z' 'M'
), followed by a series of 16-bit fields. The field at offset 24 (the relocation table offset) is usually (but apparently not always) less than 64, and at least 28.
Links
- Wikipedia article
- MZ, from the OSDev Wiki
- http://www.delorie.com/djgpp/doc/exe/
- DOS EXE format
- EXE Explorer utility
- Ralf Brown's Interrupt Reference has an extensive list of (mostly older) MZ-based executable formats