The standard Yasm distribution includes a number of modules for different parsers (assembler syntaxes).
.PP
The parser is selected on the
\fByasm\fR(1)
command line by use of the
\fB\-p \fR\fB\fIparser\fR\fR
command line option.
.SH"NASM PARSER"
.PP
NASM syntax, selected with
\fB\-p nasm\fR, 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
\fByasm_arch\fR(7)
for details. NASM syntax is the Yasm default.
.SH"GAS PARSER"
.PP
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. There is also no support for the GAS preprocessor. Despite these limitations, 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