<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".

Copyright (C) 1991-2013 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".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: TILEPro Syntax</title>

<meta name="description" content="Using as: TILEPro Syntax">
<meta name="keywords" content="Using as: TILEPro Syntax">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="TILEPro_002dDependent.html#TILEPro_002dDependent" rel="up" title="TILEPro-Dependent">
<link href="TILEPro-Opcodes.html#TILEPro-Opcodes" rel="next" title="TILEPro Opcodes">
<link href="TILEPro-Options.html#TILEPro-Options" rel="prev" title="TILEPro Options">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="TILEPro-Syntax"></a>
<div class="header">
<p>
Next: <a href="TILEPro-Directives.html#TILEPro-Directives" accesskey="n" rel="next">TILEPro Directives</a>, Previous: <a href="TILEPro-Options.html#TILEPro-Options" accesskey="p" rel="prev">TILEPro Options</a>, Up: <a href="TILEPro_002dDependent.html#TILEPro_002dDependent" accesskey="u" rel="up">TILEPro-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Syntax-26"></a>
<h4 class="subsection">9.45.2 Syntax</h4>
<a name="index-TILEPro-syntax"></a>
<a name="index-syntax_002c-TILEPro"></a>

<p>Block comments are delimited by &lsquo;<samp>/*</samp>&rsquo; and &lsquo;<samp>*/</samp>&rsquo;.  End of line
comments may be introduced by &lsquo;<samp>#</samp>&rsquo;.
</p>
<p>Instructions consist of a leading opcode or macro name followed by
whitespace and an optional comma-separated list of operands:
</p>
<div class="smallexample">
<pre class="smallexample"><var>opcode</var> [<var>operand</var>, &hellip;]
</pre></div>

<p>Instructions must be separated by a newline or semicolon.
</p>
<p>There are two ways to write code: either write naked instructions,
which the assembler is free to combine into VLIW bundles, or specify
the VLIW bundles explicitly.
</p>
<p>Bundles are specified using curly braces:
</p>
<div class="smallexample">
<pre class="smallexample">{ <var>add</var> r3,r4,r5 ; <var>add</var> r7,r8,r9 ; <var>lw</var> r10,r11 }
</pre></div>

<p>A bundle can span multiple lines. If you want to put multiple
instructions on a line, whether in a bundle or not, you need to
separate them with semicolons as in this example.
</p>
<p>A bundle may contain one or more instructions, up to the limit
specified by the ISA (currently three). If fewer instructions are
specified than the hardware supports in a bundle, the assembler
inserts <code>fnop</code> instructions automatically.
</p>
<p>The assembler will prefer to preserve the ordering of instructions
within the bundle, putting the first instruction in a lower-numbered
pipeline than the next one, etc.  This fact, combined with the
optional use of explicit <code>fnop</code> or <code>nop</code> instructions,
allows precise control over which pipeline executes each instruction.
</p>
<p>If the instructions cannot be bundled in the listed order, the
assembler will automatically try to find a valid pipeline
assignment. If there is no way to bundle the instructions together,
the assembler reports an error.
</p>
<p>The assembler does not yet auto-bundle (automatically combine multiple
instructions into one bundle), but it reserves the right to do so in
the future.  If you want to force an instruction to run by itself, put
it in a bundle explicitly with curly braces and use <code>nop</code>
instructions (not <code>fnop</code>) to fill the remaining pipeline slots in
that bundle.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="TILEPro-Opcodes.html#TILEPro-Opcodes" accesskey="1">TILEPro Opcodes</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Opcode Naming Conventions.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="TILEPro-Registers.html#TILEPro-Registers" accesskey="2">TILEPro Registers</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Register Naming.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="TILEPro-Modifiers.html#TILEPro-Modifiers" accesskey="3">TILEPro Modifiers</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Symbolic Operand Modifiers.
</td></tr>
</table>

<hr>
<div class="header">
<p>
Next: <a href="TILEPro-Directives.html#TILEPro-Directives" accesskey="n" rel="next">TILEPro Directives</a>, Previous: <a href="TILEPro-Options.html#TILEPro-Options" accesskey="p" rel="prev">TILEPro Options</a>, Up: <a href="TILEPro_002dDependent.html#TILEPro_002dDependent" accesskey="u" rel="up">TILEPro-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
