<html lang="en">
<head>
<title>D10V-Chars - 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="D10V_002dSyntax.html#D10V_002dSyntax" title="D10V-Syntax">
<link rel="prev" href="D10V_002dSubs.html#D10V_002dSubs" title="D10V-Subs">
<link rel="next" href="D10V_002dRegs.html#D10V_002dRegs" title="D10V-Regs">
<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="D10V-Chars"></a>
<a name="D10V_002dChars"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="D10V_002dRegs.html#D10V_002dRegs">D10V-Regs</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="D10V_002dSubs.html#D10V_002dSubs">D10V-Subs</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="D10V_002dSyntax.html#D10V_002dSyntax">D10V-Syntax</a>
<hr>
</div>

<h5 class="subsubsection">9.11.2.3 Special Characters</h5>

<p><a name="index-line-comment-character_002c-D10V-987"></a><a name="index-D10V-line-comment-character-988"></a>A semicolon (&lsquo;<samp><span class="samp">;</span></samp>&rsquo;) can be used anywhere on a line to start a
comment that extends to the end of the line.

   <p>If a &lsquo;<samp><span class="samp">#</span></samp>&rsquo; appears as the first character of a line, 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><a name="index-sub_002dinstruction-ordering_002c-D10V-989"></a><a name="index-D10V-sub_002dinstruction-ordering-990"></a>Sub-instructions may be executed in order, in reverse-order, or in parallel. 
Instructions listed in the standard one-per-line format will be executed sequentially. 
To specify the executing order, use the following symbols:
     <dl>
<dt>&lsquo;<samp><span class="samp">-&gt;</span></samp>&rsquo;<dd>Sequential with instruction on the left first. 
<br><dt>&lsquo;<samp><span class="samp">&lt;-</span></samp>&rsquo;<dd>Sequential with instruction on the right first. 
<br><dt>&lsquo;<samp><span class="samp">||</span></samp>&rsquo;<dd>Parallel
</dl>
   The D10V syntax allows either one instruction per line, one instruction per line with
the execution symbol, or two instructions per line.  For example
     <dl>
<dt><code>abs       a1      -&gt;      abs     r0</code><dd>Execute these sequentially.  The instruction on the right is in the right
container and is executed second. 
<br><dt><code>abs       r0      &lt;-      abs     a1</code><dd>Execute these reverse-sequentially.  The instruction on the right is in the right
container, and is executed first. 
<br><dt><code>ld2w    r2,@r8+         ||      mac     a0,r0,r7</code><dd>Execute these in parallel. 
<br><dt><code>ld2w    r2,@r8+         ||</code><dt><code>mac     a0,r0,r7</code><dd>Two-line format. Execute these in parallel. 
<br><dt><code>ld2w    r2,@r8+</code><dt><code>mac     a0,r0,r7</code><dd>Two-line format. Execute these sequentially.  Assembler will
put them in the proper containers. 
<br><dt><code>ld2w    r2,@r8+         -&gt;</code><dt><code>mac     a0,r0,r7</code><dd>Two-line format. Execute these sequentially.  Same as above but
second instruction will always go into right container. 
</dl>
   <a name="index-symbol-names_002c-_0040samp_007b_0024_007d-in-991"></a><a name="index-g_t_0040code_007b_0024_007d-in-symbol-names-992"></a>Since &lsquo;<samp><span class="samp">$</span></samp>&rsquo; has no special meaning, you may use it in symbol names.

   </body></html>

