Open Watcom Assembler

Open Watcom Assembler
Original author(s) Open Watcom Assembler
Operating system DOS for x86-based PCs, Microsoft Windows, Linux for x86-based PCs, OS/2 for x86-based PCs, FreeBSD for x86-based PCs.
Available in English
Type x86 assembler
Website 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][3] Further development is being done on the 32- and 64-bit JWASM project,.[4] which more closely matches the syntax of Microsoft's assembler.[5]

There are experimental assemblers for PowerPC, Alpha AXP, and MIPS.[6]

Technical details

Assembler

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

JWasm & HJWASM

JWasm is a fork of Wasm originated by Japheth with following features:

Japheth ceased development of JWASM in January 2014, but others on the Masm32 forum [10] picked up where Japheth left off, adding support for AVX2 and developing support for AVX-512. JWASM has since then been named HJWASM, adding the prefix H in reference to Masm32 forum member Habran who started off this second WASM development continuation. The source is currently being hosted at Github [11]

References

  1. Randall Hyde. "WASM: The Open Watcom Assembler". Retrieved 2010-02-02.
  2. Leiterman, James (2005). "MASM vs. NASM vs. TASM vs. WASM". 32/64-bit 80x86 assembly language architecture. Wordware Publishing, Inc. p. 481. ISBN 978-1-59822-002-5. Retrieved 2010-02-01.
  3. Leiterman p482 on Google Books
  4. JWASM, a 32/64 bit assembler based on WASM with syntax similar to MASM. Archived 10 October 2014
  5. Fog, Agner (2009), Optimizing subroutines in assembly language (PDF) (2009-09-26 ed.), p. 13
  6. 1 2 Open Watcom website: Assembler
  7. 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."
  8. Open Watcom website: Disassembler
  9. The 1996 "WALK32 consists of the following main components:
    • A full-featured PE (Portable Executable) file linker called W32Link.
    • A main include file, containing Win32 constant, type, and structure definitions.
    • Another include file, containing the application and DLL startup source code.
    • Segment and PE section management macros.
    • Macros related to Unicode support.
    • Several demo applications and DLL’s.
    • A collection of programming utilities for various purposes." walk32.doc in walk32_1.zip
  10. https://github.com/Terraspace/HJWasm
This article is issued from Wikipedia - version of the 10/31/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.