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. Further development is being done on the 32- and 64-bit JWASM project,. which more closely matches the syntax of Microsoft's assembler.
There are experimental assemblers for PowerPC, Alpha AXP, and MIPS.

Technical details

Assembler

There is an associated Watcom disassembler, wdis. The assembler does not have listing facilities; instead the use of wdis for generating listings is recommended. 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.

WASM forks

JWasm

JWasm is a fork of Wasm originated by Japheth with following features:
Japheth ceased development of JWASM in January 2014 with version 2.12pre, but others on the Masm32 forum picked up where Japheth left off.

HJWasm

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. New features include:
UASM 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, and was finalized at the end of discussion thread at Reply #33. No known features are added in HASM's release cycle.

UASM

The name was actually used in version 2.33 at Terraspace ltd's product page, but it was only announced in version 2.34. Changes to HJWASM includes: