1.5. Supported Parsers (Syntaxes)
Yasm parses the following assembler syntaxes:
- nasm
- NASM syntax 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. For more details see Part II.
- gas
- 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. For more details see Part III.