<html lang="en">
<head>
<title>Xtensa Syntax - Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Xtensa_002dDependent.html#Xtensa_002dDependent" title="Xtensa-Dependent">
<link rel="prev" href="Xtensa-Options.html#Xtensa-Options" title="Xtensa Options">
<link rel="next" href="Xtensa-Optimizations.html#Xtensa-Optimizations" title="Xtensa Optimizations">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".

Copyright (C) 1991-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled ``GNU Free Documentation License''.

-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Xtensa-Syntax"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Xtensa-Optimizations.html#Xtensa-Optimizations">Xtensa Optimizations</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Xtensa-Options.html#Xtensa-Options">Xtensa Options</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Xtensa_002dDependent.html#Xtensa_002dDependent">Xtensa-Dependent</a>
<hr>
</div>

<h4 class="subsection">9.55.2 Assembler Syntax</h4>

<p><a name="index-syntax_002c-Xtensa-assembler-2618"></a><a name="index-Xtensa-assembler-syntax-2619"></a><a name="index-FLIX-syntax-2620"></a>
Block comments are delimited by &lsquo;<samp><span class="samp">/*</span></samp>&rsquo; and &lsquo;<samp><span class="samp">*/</span></samp>&rsquo;.  End of line
comments may be introduced with either &lsquo;<samp><span class="samp">#</span></samp>&rsquo; or &lsquo;<samp><span class="samp">//</span></samp>&rsquo;.

   <p>If a &lsquo;<samp><span class="samp">#</span></samp>&rsquo; appears as the first character of a line then the whole
line is treated as a comment, but in this case the line could also be
a logical line number directive (see <a href="Comments.html#Comments">Comments</a>) or a preprocessor
control command (see <a href="Preprocessing.html#Preprocessing">Preprocessing</a>).

   <p>Instructions consist of a leading opcode or macro name followed by
whitespace and an optional comma-separated list of operands:

<pre class="smallexample">     <var>opcode</var> [<var>operand</var>, ...]
</pre>
   <p>Instructions must be separated by a newline or semicolon (&lsquo;<samp><span class="samp">;</span></samp>&rsquo;).

   <p>FLIX instructions, which bundle multiple opcodes together in a single
instruction, are specified by enclosing the bundled opcodes inside
braces:

<pre class="smallexample">     {
     [<var>format</var>]
     <var>opcode0</var> [<var>operands</var>]
     <var>opcode1</var> [<var>operands</var>]
     <var>opcode2</var> [<var>operands</var>]
     ...
     }
</pre>
   <p>The opcodes in a FLIX instruction are listed in the same order as the
corresponding instruction slots in the TIE format declaration. 
Directives and labels are not allowed inside the braces of a FLIX
instruction.  A particular TIE format name can optionally be specified
immediately after the opening brace, but this is usually unnecessary. 
The assembler will automatically search for a format that can encode the
specified opcodes, so the format name need only be specified in rare
cases where there is more than one applicable format and where it
matters which of those formats is used.  A FLIX instruction can also be
specified on a single line by separating the opcodes with semicolons:

<pre class="smallexample">     { [<var>format</var>;] <var>opcode0</var> [<var>operands</var>]; <var>opcode1</var> [<var>operands</var>]; <var>opcode2</var> [<var>operands</var>]; ... }
</pre>
   <p>If an opcode can only be encoded in a FLIX instruction but is not
specified as part of a FLIX bundle, the assembler will choose the
smallest format where the opcode can be encoded and
will fill unused instruction slots with no-ops.

<ul class="menu">
<li><a accesskey="1" href="Xtensa-Opcodes.html#Xtensa-Opcodes">Xtensa Opcodes</a>:               Opcode Naming Conventions. 
<li><a accesskey="2" href="Xtensa-Registers.html#Xtensa-Registers">Xtensa Registers</a>:             Register Naming. 
</ul>

   </body></html>

