New Executable
Filename extension |
.exe, .dll |
---|---|
Type of format | Executable, dynamic-link library |
Extended from | DOS MZ executable |
The New Executable (abbreviated NE or NewEXE) is a 16-bit .exe file format, a successor to the DOS MZ executable format. It was used in Windows 1.0, multi-tasking MS-DOS 4.0,[1] Windows 2.x, OS/2 1.x, Windows 3.x, and the OS/2 subset of Windows NT up to version 5.0 (Windows 2000). A NE is also called a segmented executable.[2]
History
New Executable made its first appearance in Windows 1.0 in 1985 and then was used in the multi-tasking MS-DOS 4.0 (1986),[3][4] which falls between mainstream MS-DOS versions 3.2 and 3.3.,[5] and OS/2 in 1987. The target operating system field in the file header makes 01=OS/2 02=Windows 03=European MS-DOS 4.0 [6] suggesting that OS/2 support was planned when this file format was developed, knowing that the Joint Development Agreement of IBM and Microsoft for OS/2 started in August 1985, a few months before Windows 1.0 was released in November 1985.
The Portable Executable format replaced NE format in 32-bit and 64-bit versions of Windows, while LX Linear Executables replaced NE for 32 bits programs in OS/2.
Compatibility
While designed for 16-bit OSes, NE executables can be run on 32-bit Windows. Beginning with Windows Vista, icon resources inside New Executables are not extracted and shown even by the 32-bit shell.[7] 64-bit versions of Windows completely lack native support for running NE executables, because 64-bit Windows can't run 16-bit programs on the processor without the help of an emulator.
Due to the rare and fairly complex nature of these files, only a few .EXE packers support it: WinLite, PackWin, PKLite 2.01, and SLR Optloader or NeLite for OS/2.
DOS stub
New (NE), linear (LX), and portable (PE) executables retain the DOS MZ format file header for backward compatibility with DOS. When run under DOS, a so-called DOS stub is executed which usually prints a message and exits. However, Windows 1.0 executables have their file header formatted in such a way that DOS refuses to run them with the "program too large to fit in memory" error message, see Windows 1.0 Features.
See also
References
- ^ Vernon Brooks. "Information about the little known multitasking MS-DOS 4.0". PC DOS Retro. Retrieved 2014-02-13.
- ^ "Executable-File Header Format". Microsoft. Archived from the original on 2001-04-03. Retrieved 2014-02-13.
- ^ http://books.google.com/books?id=pzwEAAAAMBAJ&pg=PA6
- ^ http://www.skrause.org/computers/dos_history.shtml
- ^ Ralf Brown's Interrupt List, Interrupt 21, AH=80h - EXECUTE PROGRAM IN BACKGROUND.
- ^ http://www.ctyme.com/intr/rb-2939.htm
- ^ 16-Bit Icons Are So Passé: Windows Confidential - TechNet Magazine