<!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: ARM-Instruction-Set</title>

<meta name="description" content="Using as: ARM-Instruction-Set">
<meta name="keywords" content="Using as: ARM-Instruction-Set">
<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="ARM-Syntax.html#ARM-Syntax" rel="up" title="ARM Syntax">
<link href="ARM_002dChars.html#ARM_002dChars" rel="next" title="ARM-Chars">
<link href="ARM-Syntax.html#ARM-Syntax" rel="prev" title="ARM 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="ARM_002dInstruction_002dSet"></a>
<div class="header">
<p>
Next: <a href="ARM_002dChars.html#ARM_002dChars" accesskey="n" rel="next">ARM-Chars</a>, Up: <a href="ARM-Syntax.html#ARM-Syntax" accesskey="u" rel="up">ARM 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="Instruction-Set-Syntax"></a>
<h4 class="subsubsection">9.4.2.1 Instruction Set Syntax</h4>
<p>Two slightly different syntaxes are support for ARM and THUMB
instructions.  The default, <code>divided</code>, uses the old style where
ARM and THUMB instructions had their own, separate syntaxes.  The new,
<code>unified</code> syntax, which can be selected via the <code>.syntax</code>
directive, and has the following main features:
</p>
<ul>
<li> Immediate operands do not require a <code>#</code> prefix.

</li><li> The <code>IT</code> instruction may appear, and if it does it is validated
against subsequent conditional affixes.  In ARM mode it does not
generate machine code, in THUMB mode it does.

</li><li> For ARM instructions the conditional affixes always appear at the end
of the instruction.  For THUMB instructions conditional affixes can be
used, but only inside the scope of an <code>IT</code> instruction.

</li><li> All of the instructions new to the V6T2 architecture (and later) are
available.  (Only a few such instructions can be written in the
<code>divided</code> syntax).

</li><li> The <code>.N</code> and <code>.W</code> suffixes are recognized and honored.

</li><li> All instructions set the flags if and only if they have an <code>s</code>
affix.
</li></ul>




</body>
</html>
