DOS_stub

New Executable

New Executable

File format in early Windows and OS/2


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,[1] 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.[2] It utilizes the 286 protected mode.

Quick Facts Filename extension, Type of format ...

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.[3] 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.

Share this article:

This article uses material from the Wikipedia article DOS_stub, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.