| JWasm compared with | Advantages | Disadvantages |
|---|---|---|
| MASM | JWasm is free, no artificial license restrictions, can be used to create binaries for any OS. | None. |
| JWasm's source is open. Hence JWasm is able to run - natively - on Windows, DOS, Linux, FreeBSD and OS/2. | ||
| More output formats supported (Bin, ELF). | ||
| optionally very small object modules can be created | ||
| better support for Open Watcom, for example the register-based calling convention | ||
| JWasm is faster than Masm. | ||
| TASM | JWasm is available. TASM isn't legally available. And LZASM, which is sort of a TASM clone, understands IDEAL mode only. | TASM additionally understands IDEAL mode. This was a big advantage compared to MASM v5.1, but compared to MASM v6 syntax there are no benefits anymore. |
| JWasm has full support for STRUCTs and UNIONs. TASM has severe limitations and bugs in this area. | ||
| JWasm supports virtually all more recent MASM features (PROTO, INVOKE, hll directives, ... ), most of which TASM won't understand. | ||
| JWasm supports instructions of recent Intel CPUs, TASM is behind. | ||
| POASM | JWasm is open source | None. |
| JWasm additionally supports output in OMF, ELF and binary format | ||
| JWasm supports 16-bit and segmented memory models. POASM understands FLAT only. | ||
| Unlike POASM, JWasm is compatible with MASM's implementation of macros. | ||
| POASM lacks the ability to create a listing file. | ||
| WASM | JWasm's macro capabilities are ways better than Wasm's. | Wasm's cmdline is more compatible with Open Watcom tools |
| JWasm fully supports Masm v6 syntax. In Wasm, most of the additions done in Masm v6 are missing. | ||
| Besides OMF, JWasm supports COFF, ELF and binary output formats. | ||
| JWasm supports 64-bit. |