exe2bin
The command-line tool exe2bin
is a post-compilation utility program available on MS-DOS and other operating systems.[1][2]
Developer(s) | Microsoft, IBM, DR, Datalight, Novell, PhysTechSoft & Paragon Technology Systems, The FreeDOS team |
---|---|
Initial release | May 1982 |
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 |
Overview
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
References
- 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.
- 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.
- 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
- Asael Dror (January 12, 1988). "Thank You, IBM". PC Magazine. p. 366.
- DEBUG .. E 30D 73 (from a compare/JZ to compare/JNB = greater than OR EQUAL TO 3.2)
- Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-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.
- DR DOS 6.0 User Guide Optimisation and Configuration Tips, 4corn.co.uk
- "Datalight ROM-DOS User's Guide" (PDF). Datalight.com.
- "ibiblio.org FreeDOS Group -- FreeDOS Base". Ibiblio.org. Retrieved 8 November 2021.
- "MS-DOS subsystem commands". Docs.microsoft.com. 11 September 2009. Retrieved 8 November 2021.
Further reading
- Cooper, Jim (2001). Special Edition Using MS-DOS 6.22, Third Edition. Que Publishing. ISBN 978-0789725738.
- John Paul Mueller (2007). Windows Administration at the Command Line for Windows Vista, Windows 2003, Windows XP, and Windows 2000. John Wiley & Sons. ISBN 978-0470165799.