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

<meta name="description" content="Using as: Preprocessing">
<meta name="keywords" content="Using as: Preprocessing">
<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="Whitespace.html#Whitespace" rel="next" title="Whitespace">
<link href="Syntax.html#Syntax" rel="prev" title="Syntax">
<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="Preprocessing"></a>
<div class="header">
<p>
Next: <a href="Whitespace.html#Whitespace" accesskey="n" rel="next">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="Preprocessing-1"></a>
<h3 class="section">3.1 Preprocessing</h3>

<a name="index-preprocessing"></a>
<p>The <code>as</code> internal preprocessor:
</p><ul>
<li> <a name="index-whitespace_002c-removed-by-preprocessor"></a>
adjusts and removes extra whitespace.  It leaves one space or tab before
the keywords on a line, and turns any other whitespace on the line into
a single space.

</li><li> <a name="index-comments_002c-removed-by-preprocessor"></a>
removes all comments, replacing them with a single space, or an
appropriate number of newlines.

</li><li> <a name="index-constants_002c-converted-by-preprocessor"></a>
converts character constants into the appropriate numeric values.
</li></ul>

<p>It does not do macro processing, include file handling, or
anything else you may get from your C compiler&rsquo;s preprocessor.  You can
do include file processing with the <code>.include</code> directive
(see <a href="Include.html#Include"><code>.include</code></a>).  You can use the <small>GNU</small> C compiler driver
to get other &ldquo;CPP&rdquo; style preprocessing by giving the input file a
&lsquo;<samp>.S</samp>&rsquo; suffix.  See <a href="http://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html#Overall-Options">Options Controlling the Kind of
Output</a> in <cite>Using GNU CC</cite>.
</p>
<p>Excess whitespace, comments, and character constants
cannot be used in the portions of the input text that are not
preprocessed.
</p>
<a name="index-turning-preprocessing-on-and-off"></a>
<a name="index-preprocessing_002c-turning-on-and-off"></a>
<a name="index-_0023NO_005fAPP"></a>
<a name="index-_0023APP"></a>
<p>If the first line of an input file is <code>#NO_APP</code> or if you use the
&lsquo;<samp>-f</samp>&rsquo; option, whitespace and comments are not removed from the input file.
Within an input file, you can ask for whitespace and comment removal in
specific portions of the by putting a line that says <code>#APP</code> before the
text that may contain whitespace or comments, and putting a line that says
<code>#NO_APP</code> after this text.  This feature is mainly intend to support
<code>asm</code> statements in compilers whose output is otherwise free of comments
and whitespace.
</p>



</body>
</html>
