- Open Watcom Assembler
-
Open Watcom Assembler Original author(s) Open Watcom Assembler Operating system Microsoft Windows, Unix-like, OS/2, Mac OS, DOS Available in English Type x86 assembler Website http://www.openwatcom.com Open Watcom Assembler or WASM is an x86 assembler produced by Watcom and included as part of the Watcom C/C++ compiler.[1][2] Further development is being done on the 32- and 64-bit JWASM project[3], which more closely matches the syntax of Microsoft's assembler.[4]
There are experimental assemblers for PowerPC, Alpha AXP, and MIPS[5].
Contents
Technical details
Assembler
JWasm is a free assembler with these features:
- native support for output formats Intel OMF, MS Coff (32-bit and 64-bit), Elf (32-bit and 64-bit), Bin and DOS MZ.
- precompiled JWasm binaries are available for DOS, Windows and Linux. For OS/2 and FreeBSD, makefiles are supplied.
- Includes MMX, 3DNow!, SSE, SSE2, and SSE3 instruction set (up to SSE4.2) support.
- JWasm is written in C. The source is portable and has successfully been tested with Open Watcom, MS VC, GCC and more.
- On Windows, JWasm can be used with both Win32Inc and Masm32. Since v2.01, it will also work with Sven B. Schreiber's ancient WALK32.
- C header files can be converted to include files for JWasm with h2incX.
- JWasm's source code is released under the Sybase Open Watcom Public License, which allows free commercial and non-commercial use.
- compatible with a subset of the Microsoft macro assembler (MASM)[5]
Disassembler
There is an associated Watcom disassembler, wdis. The assembler does not have listing facilities; instead the use of wdis for generating listings is recommended[6]. wdis can read OMF, COFF and ELF object files and PE and ELF executables. It supports 16-bit and 32-bit x86 instruction set including MMX, 3DNow!, SSE, SSE2, and SSE3. Support for PowerPC, Alpha AXP, MIPS, and SPARC V8 instruction sets is also built in. [7]
References
- ^ Randall Hyde. "WASM: The Open Watcom Assembler". http://webster.cs.ucr.edu/AsmTools/WASM/index.html. Retrieved 2010-02-02.
- ^ Leiterman, James (2005). "MASM vs. NASM vs. TASM vs. WASM". 32/64-bit 80x86 assembly language architecture. Wordware Publishing, Inc.. p. 481. ISBN 9781598220025. http://books.google.com/books?id=avDkMnuhakkC. Retrieved 2010-02-01.
- ^ JWASM project page
- ^ Fog, Agner (2009), Optimizing subroutines in assembly language (2009-09-26 ed.), p. 13, http://www.agner.org/optimize/optimizing_assembly.pdf
- ^ a b Open Watcom website: Assembler
- ^ OpenWatcom: "No listing files are generated [by the assembler]. Producing full listings may be a waste of effort because wdis (the Open Watcom disassembler) does a very good job. However, it could be extremely helpful to produce a dump of the internal symbol table the way MASM does, especially for diagnostic purposes."
- ^ Open Watcom website: Disassembler
External links
x86 assembly topics Topics x86 Assemblers Programming issues Categories:- Assemblers
- Software stubs
Wikimedia Foundation. 2010.