Open Watcom Assembler


Open Watcom Assembler or WASM is an x86 assembler produced by Watcom, based on the Watcom Assembler found in Watcom C/C++ compiler and Watcom FORTRAN 77.[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 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]

Japheth ceased development (or rather, was out of contact) of JWASM in January 2014 with version 2.12pre, but others on the Masm32 forum[10] picked up where Japheth left off. Japheth reappeared on github (https://github.com/Baron-von-Riedesel/JWasm).

HJWasm, adding the prefix H in reference to Masm32 forum member Habran who started off this second WASM development continuation. Version 2.13pre was originally announced in 2016.[11] New features include:

HASM is a renamed version of HJWASM, starting in version 2.33. The name was used following a MASM Forum discussion thread that originally proposed a replacement name. The name HASM was proposed by forum member habran in Reply #6,[12] and was finalized at the end of discussion thread at Reply #33.[13] No known features are added in HASM's release cycle.

The name was actually used in version 2.33 (dated 2017-05-20) at Terraspace ltd's product page,[14] but it was only announced in version 2.34.[15] Changes to HJWASM includes:[16]