Jump to content

New Executable

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Be..anyone (talk | contribs) at 11:55, 27 February 2014 (Compatibility: Bitmapped fonts (*.fon) on Windows 7 64bit (ab)use the NE format, WP.OR using a hex. editor). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
New Executable
Filename extension
.exe, .dll
Type of formatExecutable, dynamic-link library
Extended fromDOS 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. The NE format is also still used as (non-executable) container for .fon Microsoft Windows bitmapped fonts.

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

  1. ^ Vernon Brooks. "Information about the little known multitasking MS-DOS 4.0". PC DOS Retro. Retrieved 2014-02-13.
  2. ^ "Executable-File Header Format". Microsoft. Archived from the original on 2001-04-03. Retrieved 2014-02-13.
  3. ^ http://books.google.com/books?id=pzwEAAAAMBAJ&pg=PA6
  4. ^ http://www.skrause.org/computers/dos_history.shtml
  5. ^ Ralf Brown's Interrupt List, Interrupt 21, AH=80h - EXECUTE PROGRAM IN BACKGROUND.
  6. ^ http://www.ctyme.com/intr/rb-2939.htm
  7. ^ 16-Bit Icons Are So Passé: Windows Confidential - TechNet Magazine