| <?xml version="1.0"?> |
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" |
| "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> |
| |
| <refentry id="yasm_parsers"> |
| |
| <refentryinfo> |
| <title>Yasm Supported Parsers</title> |
| <date>October 2006</date> |
| <productname>Yasm</productname> |
| <author> |
| <firstname>Peter</firstname> |
| <surname>Johnson</surname> |
| <affiliation> |
| <address><email>[email protected]</email></address> |
| </affiliation> |
| </author> |
| |
| <copyright> |
| <year>2006</year> |
| <holder>Peter Johnson</holder> |
| </copyright> |
| </refentryinfo> |
| |
| <refmeta> |
| <refentrytitle>yasm_parsers</refentrytitle> |
| <manvolnum>7</manvolnum> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>yasm_parsers</refname> |
| <refpurpose>Yasm Supported Parsers (Assembler Syntaxes)</refpurpose> |
| </refnamediv> |
| |
| <refsynopsisdiv> |
| <cmdsynopsis> |
| <command>yasm</command> |
| <arg choice="plain"> |
| <option>-p <replaceable>parser</replaceable></option> |
| </arg> |
| <arg choice="opt"> |
| <option>-r <replaceable>preproc</replaceable></option> |
| </arg> |
| <arg choice="plain"> |
| <option><replaceable>...</replaceable></option> |
| </arg> |
| </cmdsynopsis> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para>The standard Yasm distribution includes a number of modules |
| for different parsers (assembler syntaxes).</para> |
| |
| <para>The parser is selected on the |
| |
| <citerefentry> |
| <refentrytitle>yasm</refentrytitle> |
| <manvolnum>1</manvolnum> |
| </citerefentry> |
| |
| command line by use of the <option>-p |
| <replaceable>parser</replaceable></option> command line |
| option.</para> |
| </refsect1> |
| |
| <refsect1> |
| <title>NASM Parser</title> |
| |
| <para>NASM syntax, selected with <option>-p nasm</option>, 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 |
| |
| <citerefentry> |
| <refentrytitle>yasm_arch</refentrytitle> |
| <manvolnum>7</manvolnum> |
| </citerefentry> |
| |
| for details. NASM syntax is the Yasm default.</para> |
| </refsect1> |
| |
| <refsect1> |
| <title>GAS Parser</title> |
| |
| <para>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 <option>-p |
| gas</option>.</para> |
| </refsect1> |
| |
| <refsect1> |
| <title>See Also</title> |
| |
| <para><citerefentry> |
| <refentrytitle>yasm</refentrytitle> |
| <manvolnum>1</manvolnum> |
| </citerefentry>, |
| |
| <citerefentry> |
| <refentrytitle>yasm_arch</refentrytitle> |
| <manvolnum>7</manvolnum> |
| </citerefentry></para> |
| </refsect1> |
| </refentry> |