The parser is selected on the yasm(1) command line by use of the -p parser command line option.
NASM syntax, selected with -p nasm, is the most full-featured syntax supported by Yasm. Yasm is nearly 100% compatible with NASM for 16-bit and 32-bit x86 code. Yasm additionally supports 64-bit AMD64 code with Yasm extensions to the NASM syntax; see yasm_arch(7) for details. NASM syntax is the Yasm default.
The GNU Assembler (GAS) is the de-facto cross-platform assembler for modern Unix systems, and is used as the backend for the GCC compiler. Yasm's support for GAS syntax is moderately good, although immature: not all directives are supported, and only 32-bit x86 and AMD64 architectures are supported. Nearly all of the GAS preprocessor is also supported. Yasm's GAS syntax support is good enough to handle essentially all x86 and AMD64 GCC compiler output. The GAS parser can be selected with -p gas.
Peter Johnson <peter@tortall.net>