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. |
|