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

<meta name="description" content="Using as: MSP430 Options">
<meta name="keywords" content="Using as: MSP430 Options">
<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="MSP430_002dDependent.html#MSP430_002dDependent" rel="up" title="MSP430-Dependent">
<link href="MSP430-Syntax.html#MSP430-Syntax" rel="next" title="MSP430 Syntax">
<link href="MSP430_002dDependent.html#MSP430_002dDependent" rel="prev" title="MSP430-Dependent">
<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="MSP430-Options"></a>
<div class="header">
<p>
Next: <a href="MSP430-Syntax.html#MSP430-Syntax" accesskey="n" rel="next">MSP430 Syntax</a>, Up: <a href="MSP430_002dDependent.html#MSP430_002dDependent" accesskey="u" rel="up">MSP430-Dependent</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="Options-14"></a>
<h4 class="subsection">9.29.1 Options</h4>
<a name="index-MSP-430-options-_0028none_0029"></a>
<a name="index-options-for-MSP430-_0028none_0029"></a>
<dl compact="compact">
<dt><code>-mmcu</code></dt>
<dd><p>selects the mpu arch.  If the architecture is 430Xv2 then this also
enables NOP generation unless the <samp>-mN</samp> is also specified.
</p>
</dd>
<dt><code>-mcpu</code></dt>
<dd><p>selects the cpu architecture.  If the architecture is 430Xv2 then this
also enables NOP generation unless the <samp>-mN</samp> is also
specified.
</p>
</dd>
<dt><code>-mP</code></dt>
<dd><p>enables polymorph instructions handler.
</p>
</dd>
<dt><code>-mQ</code></dt>
<dd><p>enables relaxation at assembly time. DANGEROUS!
</p>
</dd>
<dt><code>-ml</code></dt>
<dd><p>indicates that the input uses the large code model.
</p>
</dd>
<dt><code>-mN</code></dt>
<dd><p>disables the generation of a NOP instruction following any instruction
that might change the interrupts enabled/disabled state.  For the
430Xv2 architecture the instructions: <code>EINT</code>, <code>DINT</code>,
<code>BIC #8, SR</code>, <code>BIS #8, SR</code> and <code>MOV.W &lt;&gt;, SR</code> must be
followed by a NOP instruction in order to ensure the correct
processing of interrupts.  By default generation of the NOP
instruction happens automatically, but this command line option
disables this behaviour.  It is then up to the programmer to ensure
that interrupts are enabled and disabled correctly.
</p>
</dd>
<dt><code>-md</code></dt>
<dd><p>mark the object file as one that requires data to copied from ROM to
RAM at execution startup.  Disabled by default.
</p>
</dd>
</dl>




</body>
</html>
