Misplaced Pages

New Executable

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
(Redirected from DOS stub) File format in early Windows and OS/2

New Executable
Filename extension .exe, .dll, .fon, .drv
Type of formatExecutable, dynamic-link library
Extended fromDOS MZ executable
Extended toPortable Executable

The New Executable (abbreviated NE or NewEXE) is a 16-bit executable file format, a successor to the DOS MZ executable format. It was used in Windows 1.0–3.x, Windows 9x, multitasking MS-DOS 4.0, OS/2 1.x, and the OS/2 subset of Windows NT up to version 5.0 (Windows 2000). An NE is also called a segmented executable. It utilizes the 286 protected mode.

History

The first product to be released using the New Executable format was Windows 1.0 in 1985, followed by the 1986 multitasking MS-DOS 4.0, which was a separate branch of MS-DOS development, released between mainstream MS-DOS versions 3.2 and 3.3, and sometimes referred to as "European MS-DOS 4.0".

The Portable Executable (PE) format replaced NE format in 32-bit and 64-bit versions of Windows, while Linear Executables (LX) replaced NE for 32-bit programs in OS/2. VxD in Windows 9x also use LE format.

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. 64-bit versions of Windows completely lack native support for running NE executables, because 64-bit Windows cannot 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 "This program cannot be run in DOS mode" and exits. This constitutes a minimal form of a so-called fat binary. Windows 1.0 executables, however, have their file header formatted in such a way that DOS refuses to run them with the "Program too big to fit in memory" error message; see Windows 1.0 Features.

See also

References

  1. Brooks, Vernon C. "Information about the little known multitasking MS-DOS 4.0". PC DOS Retro. Archived from the original on 2020-02-21. Retrieved 2014-02-13.
  2. "Executable-File Header Format". Microsoft. https://support.microsoft.com/en-us/kb/65260. Archived from the original on 2023-09-06. Retrieved 2014-02-13.
  3. 16-Bit Icons Are So Passé: Windows Confidential - TechNet Magazine
Executable and object file formats
OS/2
Developers
Companies
People
Major versions
Components
Technology
and concepts
Successors
See also
Categories: