blob: 88758a111c9f801d0a41c35234e3c30b2cf7ca90 [file] [log] [blame]
<html lang="en">
<head>
<title>GNU Assembler - 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="Overview.html#Overview" title="Overview">
<link rel="prev" href="Manual.html#Manual" title="Manual">
<link rel="next" href="Object-Formats.html#Object-Formats" title="Object Formats">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010 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>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="GNU-Assembler"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Object-Formats.html#Object-Formats">Object Formats</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Manual.html#Manual">Manual</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Overview.html#Overview">Overview</a>
<hr>
</div>
<h3 class="section">1.2 The GNU Assembler</h3>
<!-- man begin DESCRIPTION -->
<p><span class="sc">gnu</span> <samp><span class="command">as</span></samp> is really a family of assemblers.
If you use (or have used) the <span class="sc">gnu</span> assembler on one architecture, you
should find a fairly similar environment when you use it on another
architecture. Each version has much in common with the others,
including object file formats, most assembler directives (often called
<dfn>pseudo-ops</dfn>) and assembler syntax.
<p><a name="index-purpose-of-_0040sc_007bgnu_007d-assembler-23"></a><samp><span class="command">as</span></samp> is primarily intended to assemble the output of the
<span class="sc">gnu</span> C compiler <code>gcc</code> for use by the linker
<code>ld</code>. Nevertheless, we've tried to make <samp><span class="command">as</span></samp>
assemble correctly everything that other assemblers for the same
machine would assemble.
Any exceptions are documented explicitly (see <a href="Machine-Dependencies.html#Machine-Dependencies">Machine Dependencies</a>).
<!-- This remark should appear in generic version of manual; assumption -->
<!-- here is that generic version sets M680x0. -->
This doesn't mean <samp><span class="command">as</span></samp> always uses the same syntax as another
assembler for the same architecture; for example, we know of several
incompatible versions of 680x0 assembly language syntax.
<!-- man end -->
<p>Unlike older assemblers, <samp><span class="command">as</span></samp> is designed to assemble a source
program in one pass of the source file. This has a subtle impact on the
<kbd>.org</kbd> directive (see <a href="Org.html#Org"><code>.org</code></a>).
</body></html>