<!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-2015 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: Comments</title>

<meta name="description" content="Using as: Comments">
<meta name="keywords" content="Using as: Comments">
<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="Syntax.html#Syntax" rel="up" title="Syntax">
<link href="Symbol-Intro.html#Symbol-Intro" rel="next" title="Symbol Intro">
<link href="Whitespace.html#Whitespace" rel="prev" title="Whitespace">
<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="Comments"></a>
<div class="header">
<p>
Next: <a href="Symbol-Intro.html#Symbol-Intro" accesskey="n" rel="next">Symbol Intro</a>, Previous: <a href="Whitespace.html#Whitespace" accesskey="p" rel="prev">Whitespace</a>, Up: <a href="Syntax.html#Syntax" accesskey="u" rel="up">Syntax</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="Comments-1"></a>
<h3 class="section">3.3 Comments</h3>

<a name="index-comments"></a>
<p>There are two ways of rendering comments to <code>as</code>.  In both
cases the comment is equivalent to one space.
</p>
<p>Anything from &lsquo;<samp>/*</samp>&rsquo; through the next &lsquo;<samp>*/</samp>&rsquo; is a comment.
This means you may not nest these comments.
</p>
<div class="smallexample">
<pre class="smallexample">/*
  The only way to include a newline ('\n') in a comment
  is to use this sort of comment.
*/

/* This sort of comment does not nest. */
</pre></div>

<a name="index-line-comment-character"></a>
<p>Anything from a <em>line comment</em> character up to the next newline is
considered a comment and is ignored.  The line comment character is target
specific, and some targets multiple comment characters.  Some targets also have
line comment characters that only work if they are the first character on a
line.  Some targets use a sequence of two characters to introduce a line
comment.  Some targets can also change their line comment characters depending
upon command line options that have been used.  For more details see the
<em>Syntax</em> section in the documentation for individual targets.
</p>
<p>If the line comment character is the hash sign (&lsquo;<samp>#</samp>&rsquo;) then it still has the
special ability to enable and disable preprocessing (see <a href="Preprocessing.html#Preprocessing">Preprocessing</a>) and
to specify logical line numbers:
</p>
<a name="index-_0023"></a>
<a name="index-lines-starting-with-_0023"></a>
<a name="index-logical-line-numbers"></a>
<p>To be compatible with past assemblers, lines that begin with &lsquo;<samp>#</samp>&rsquo; have a
special interpretation.  Following the &lsquo;<samp>#</samp>&rsquo; should be an absolute
expression (see <a href="Expressions.html#Expressions">Expressions</a>): the logical line number of the <em>next</em>
line.  Then a string (see <a href="Strings.html#Strings">Strings</a>) is allowed: if present it is a
new logical file name.  The rest of the line, if any, should be whitespace.
</p>
<p>If the first non-whitespace characters on the line are not numeric,
the line is ignored.  (Just like a comment.)
</p>
<div class="smallexample">
<pre class="smallexample">                          # This is an ordinary comment.
# 42-6 &quot;new_file_name&quot;    # New logical file name
                          # This is logical line # 36.
</pre></div>
<p>This feature is deprecated, and may disappear from future versions
of <code>as</code>.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Symbol-Intro.html#Symbol-Intro" accesskey="n" rel="next">Symbol Intro</a>, Previous: <a href="Whitespace.html#Whitespace" accesskey="p" rel="prev">Whitespace</a>, Up: <a href="Syntax.html#Syntax" accesskey="u" rel="up">Syntax</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>
