exe2bin | |
Developer: | Microsoft, IBM, DR, Datalight, Novell, PhysTechSoft & Paragon Technology Systems, The FreeDOS team |
Programming Language: | MS-DOS |
Operating System: | MS-DOS, PC DOS, DR DOS, ROM-DOS, PTS-DOS, FreeDOS, Windows |
Platform: | Cross-platform |
Genre: | 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.
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.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.
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 werethe version included did not permit itself to run on any version except 3.2.[1] For the next version, 3.3, there was no EXE2BIN on the DOS disk. "Instead, IBM sells the programseparately, at an extra cost, with the DOS Technical Reference." IBM also added code to check the version. PC Magazine published aworkaround: just patch it[2] to work with3.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.[3] 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,[4] Digital Research DR DOS 6.0,[5] and Datalight ROM-DOS,[6] also include an implementation of the command.
The command is also available in FreeDOS. This implementation is licensed under the Sybase Open Watcom Public License.[7]
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.[8]