The EXE executable format has its root in MS-DOS and is still widely used today. The first versions were pure 16 bit DOS executables, identified by either "MZ" or "ZM" as the first two bytes. Later on, lots of additional formats were added, like Windows' NE (New Executable) extension, OS/2's LE and LX (Linear Executable), and later Win32's PE executable (a variant of COFF), as well as some DOS extenders adding overlays, resources and other information into it.
This is an incomplete outline of the EXE family of formats.
- Ralf Brown's Interrupt List, INT 21h, Function 4Bh, describes lots of the "older" style EXE formats
See also the articles for the specific EXE formats.