Technical details
Assembler
*Native support for output formats Intel OMF output formats *Supports Intel x86 (Pentium MMX, Pentium III-4, 3DNow!, SSE and SSE2) instruction sets. *Supports Microsoft macro 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. 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: *Native support for output formats Intel OMF (16/32-bit), 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. *Supports Intel x86 (8086, 80186, 80286, 80386, 80486, Pentium, Pentium Pro), x86-64 instruction sets with SIMD (MMX, 3DNow!, SSE, SSE2, SSE3 and SSSE3, SSE4.1/2 (since Jwasm), AVX (since JWasm 2.06), VMX ( Intel VT-x; AMD SVM, the latter though already implemented, currently still inactive) extensions (since JWasm 2.09)). *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 SBS WALK32 Win32 Assembly Language Kit *C header files can be converted to include files for JWasm with Japheth's own dedicated h2incX. *JWasm's source code is released under the Sybase Open Watcom Public License, which allows free commercial and non-commercial use. *Fully supports Microsoft macro assembler 6 syntax, all MASM 8 instructions sets. 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: *Instructions: :*SIMD: ::* MMX: MOVQ and added in 2.13, to supplement MOVD. ::* AVX2: VGATHERDPD, VGATHERQPD, VGATHERDPS, VGATHERQPS, VPGATHERDD, VPGATHERQD, VPGATHERDQ, VPGATHERQQ, VEX-encoded general purpose instructions added in 2.13. Remaining instructions added in 2.16. ::* AVX-512: VCMPxxPD, VCMPxxPS, VCMPxxSD, VCMPxxPD, VCMPxxSS, AVX-512F set, EVEX-encoded instructions added in 2.13; VMOVQ added 2.13, to supplement MOVD. Remaining instructions added in 2.16. :*Random Number Generator: RDRAND, RDSEED added in 2.13. :*half-precision conversions: F16C(VCVTPH2PS, VCVTPS2PH) added in 2.13. :* Intel MPX: Added in 2.31. *Registers: RIP, ZMM registers added in 2.13. *OO language extension added in 2.25.HASM
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, 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 (dated 2017-05-20) at Terraspace ltd's product page, but it was only announced in version 2.34. Changes to HJWASM includes:References
External links