Exe2bin

Last updated
exe2bin
Developer(s) Microsoft, IBM, DR, Datalight, Novell, PhysTechSoft & Paragon Technology Systems, The FreeDOS team
Initial releaseMay 1982;42 years ago (1982-05)
Written in MS-DOS: x86 assembly language
FreeDOS: C
Operating system MS-DOS, PC DOS, DR DOS, ROM-DOS, PTS-DOS, FreeDOS, Windows
Platform Cross-platform
Type Command
License MS-DOS: MIT
FreeDOS: Sybase Open Watcom Public License

The command-line tool exe2bin is a post-compilation utility program available on MS-DOS and other operating systems. [1] [2]

Contents

Overview

EXE2BIN.EXE in IBM PC DOS 1.10 PC DOS 1.10 screenshot.png
EXE2BIN.EXE in IBM PC DOS 1.10

Early compilers and linkers for the MS-DOS platform could not produce a COM file executable directly. Instead, the compilers would output an EXE-format file with relocation information. If all 8086 segments were set to be identical in such an EXE file (i.e. the "tiny" memory model was used), then exe2bin could convert it to a COM file. [3] exe2bin could also be used to convert compiled code to make it suitable to be embedded in ROM as part of BIOS or a device driver.

Availability

The command was included in MS-DOS versions 1 thru 3.1 as part of a standard distribution. For version 3.2, among the changes were the version included did not permit itself to run on any version except 3.2. [4] For the next version, 3.3, there was no EXE2BIN on the DOS disk. "Instead, IBM sells the program separately, at an extra cost, with the DOS Technical Reference." IBM also added code to check the version. PC Magazine published a workaround: just patch it [5] to work with 3.2 or higher.

One way or the other, it was no longer available for the base price after 3.2; for version 6 it was on what was called the Supplemental Disk. [6] The program was also distributed with many language compilers for MS-DOS in the 1980s, and included with certain versions of IBM PC DOS.

PhysTechSoft & Paragon Technology Systems PTS-DOS, [7] Digital Research DR DOS 6.0, [8] and Datalight ROM-DOS, [9] also include an implementation of the exe2bin command.

The command is also available in FreeDOS. This implementation is licensed under the Sybase Open Watcom Public License. [10]

Windows XP and later versions include exe2bin and other 16-bit commands (nonnative) for the MS-DOS subsystem to maintain MS-DOS compatibility. The 16-bit MS-DOS subsystem commands are not available on 64-bit editions of Windows. [11]

See also

Related Research Articles

fdisk Command line utility of DOS and Microsoft Windows operating systems

fdisk is a command-line utility for disk partitioning. It has been part of DOS, DR FlexOS, IBM OS/2, and early versions of Microsoft Windows, as well as certain ports of FreeBSD, NetBSD, OpenBSD, DragonFly BSD and macOS for compatibility reasons. Windows 2000 and its successors have replaced fdisk with a more advanced tool called diskpart.

The Microsoft Macro Assembler (MASM) is an x86 assembler that uses the Intel syntax for MS-DOS and Microsoft Windows. Beginning with MASM 8.0, there are two versions of the assembler: One for 16-bit & 32-bit assembly sources, and another (ML64) for 64-bit sources only.

Virtual DOS machines (VDM) refer to a technology that allows running 16-bit/32-bit DOS and 16-bit Windows programs when there is already another operating system running and controlling the hardware.

<span class="mw-page-title-main">CHKDSK</span> System tool in DOS, OS/2 and Windows

In computing, CHKDSK is a system tool and command in DOS, Digital Research FlexOS, IBM/Toshiba 4690 OS, IBM OS/2, Microsoft Windows and related operating systems. It verifies the file system integrity of a volume and attempts to fix logical file system errors. It is similar to the fsck command in Unix and similar to Microsoft ScanDisk, which co-existed with CHKDSK in Windows 9x and MS-DOS 6.x.

In computing, share is a command for DOS that allows software to perform file locks. Locking files became necessary when MS-DOS began allowing files to be accessed simultaneously by multiple programs, either through multitasking or networking.

<span class="mw-page-title-main">Debug (command)</span> Line-oriented debug utility in DOS

The line-oriented debugger DEBUG.EXE is an external command in operating systems such as DOS, OS/2 and Windows.

tree (command) Shell command in various operating systems

In computing, tree is a recursive directory listing command or program that produces a depth-indented listing of files. Originating in PC- and MS-DOS, it is found in Digital Research FlexOS, IBM/Toshiba 4690 OS, PTS-DOS, FreeDOS, IBM OS/2, Microsoft Windows, and ReactOS. A version for Unix and Unix-like systems is also available.

In computing, DELTREE is a command line command in some Microsoft operating systems, SpartaDOS X and FreeDOS that recursively deletes an entire subdirectory of files.

<span class="mw-page-title-main">ATTRIB</span>

In computing, ATTRIB is a command in Intel ISIS-II, DOS, IBM OS/2, Microsoft Windows and ReactOS that allows the user to change various characteristics, or "attributes" of a computer file or directory. The command is also available in the EFI shell.

<span class="mw-page-title-main">PRINT (command)</span> Computing command

In computing, the print command provides single-user print spooling capability in a number of operating systems. It is roughly similar to that provided by the UNIX System V lp and BSD lpr print spooler systems.

find (Windows)

In computing, find is a command in the command-line interpreters (shells) of a number of operating systems. It is used to search for a specific text string in a file or files. The command sends the specified lines to the standard output device.

help (command) Command in various command line shells

In computing, help is a command in various command line shells such as COMMAND.COM, cmd.exe, Bash, qshell, 4DOS/4NT, Windows PowerShell, Singularity shell, Python, MATLAB and GNU Octave. It provides online information about available commands and the shell environment.

format (command)

In computing, format is a command-line utility that carries out disk formatting. It is a component of various operating systems, including 86-DOS, MS-DOS, IBM PC DOS and OS/2, Microsoft Windows and ReactOS.

choice (command)

In computing, choice is a command that allows for batch files to prompt the user to select one item from a set of single-character choices. It is available in a number of operating system command-line shells.

<span class="mw-page-title-main">DOS</span> Family of IBM PC-compatible operating systems

DOS is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible systems from other manufacturers include DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993), and FreeDOS (1998). MS-DOS dominated the IBM PC compatible market between 1981 and 1995.

In computing, diskcopy is a command used on a number of operating systems for copying the complete contents of a diskette to another diskette.

In computing, recover is a primitive file system error recovery utility included in MS-DOS / IBM PC DOS versions prior to DOS 6.0 and a number of other operating systems.

In computing, diskcomp is a command used for comparing the complete contents of a floppy disk to another one.

replace (command)

In computing, replace is a command that is used to replace one or more existing computer files or add new files to a target directory. Files with a hidden or system attribute set cannot be replaced using replace. The command lists all files that are replaced.

References

  1. Paterson, Tim (2013-12-19) [1983]. "Microsoft DOS V1.1 and V2.0: /msdos/v20source/EXE2BIN.ASM". Computer History Museum, Microsoft . Retrieved 2015-10-01.
  2. Shustek, Len (2014-03-24). "Microsoft MS-DOS early source code". Software Gems: The Computer History Museum Historical Source Code Series. Retrieved 2015-10-01.
  3. The New Peter Norton Programmer's Guide to the IBM PC & PS/2 by Peter Norton and Richard Wilton (Microsoft Press, 1987) ISBN   1-55615-131-4, p.425
  4. Asael Dror (January 12, 1988). "Thank You, IBM". PC Magazine . p. 366.
  5. DEBUG .. E 30D 73 (from a compare/JZ to compare/JNB = greater than OR EQUAL TO 3.2)
  6. Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN   0-7356-1812-7.
  7. "PTS-DOS 2000 Pro User Manual" (PDF). Buggingen, Germany: Paragon Technology GmbH. 1999. Archived (PDF) from the original on 2018-05-12. Retrieved 2018-05-12.
  8. DR DOS 6.0 User Guide Optimisation and Configuration Tips, 4corn.co.uk
  9. "Datalight ROM-DOS User's Guide" (PDF). Datalight.com.
  10. "ibiblio.org FreeDOS Group -- FreeDOS Base". Ibiblio.org. Retrieved 8 November 2021.
  11. "MS-DOS subsystem commands". Docs.microsoft.com. 11 September 2009. Retrieved 8 November 2021.

Further reading