toolchain/share/doc/as.html/MSP430-Options.html

123 lines
6.2 KiB
HTML

<html lang="en">
<head>
<title>MSP430 Options - 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="MSP430_002dDependent.html#MSP430_002dDependent" title="MSP430-Dependent">
<link rel="next" href="MSP430-Syntax.html#MSP430-Syntax" title="MSP430 Syntax">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991-2019 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>
</head>
<body>
<div class="node">
<a name="MSP430-Options"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="MSP430-Syntax.html#MSP430-Syntax">MSP430 Syntax</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="MSP430_002dDependent.html#MSP430_002dDependent">MSP430-Dependent</a>
<hr>
</div>
<h4 class="subsection">9.29.1 Options</h4>
<p><a name="index-MSP-430-options-_0028none_0029-1737"></a><a name="index-options-for-MSP430-_0028none_0029-1738"></a>
<dl>
<dt><code>-mmcu</code><dd>selects the mcu architecture. If the architecture is 430Xv2 then this
also enables NOP generation unless the <samp><span class="option">-mN</span></samp> is also specified.
<br><dt><code>-mcpu</code><dd>selects the cpu architecture. If the architecture is 430Xv2 then this
also enables NOP generation unless the <samp><span class="option">-mN</span></samp> is also specified.
<br><dt><code>-msilicon-errata=</code><var>name</var><code>[,</code><var>name</var><code>...]</code><dd>Implements a fixup for named silicon errata. Multiple silicon errata
can be specified by multiple uses of the <samp><span class="option">-msilicon-errata</span></samp>
option and/or by including the errata names, separated by commas, on
an individual <samp><span class="option">-msilicon-errata</span></samp> option. Errata names
currently recognised by the assembler are:
<dl>
<dt><code>cpu4</code><dd><code>PUSH #4</code> and <samp><span class="option">PUSH #8</span></samp> need longer encodings on the
MSP430. This option is enabled by default, and cannot be disabled.
<br><dt><code>cpu8</code><dd>Do not set the <code>SP</code> to an odd value.
<br><dt><code>cpu11</code><dd>Do not update the <code>SR</code> and the <code>PC</code> in the same instruction.
<br><dt><code>cpu12</code><dd>Do not use the <code>PC</code> in a <code>CMP</code> or <code>BIT</code> instruction.
<br><dt><code>cpu13</code><dd>Do not use an arithmetic instruction to modify the <code>SR</code>.
<br><dt><code>cpu19</code><dd>Insert <code>NOP</code> after <code>CPUOFF</code>.
</dl>
<br><dt><code>-msilicon-errata-warn=</code><var>name</var><code>[,</code><var>name</var><code>...]</code><dd>Like the <samp><span class="option">-msilicon-errata</span></samp> option except that instead of
fixing the specified errata, a warning message is issued instead.
This option can be used alongside <samp><span class="option">-msilicon-errata</span></samp> to
generate messages whenever a problem is fixed, or on its own in order
to inspect code for potential problems.
<br><dt><code>-mP</code><dd>enables polymorph instructions handler.
<br><dt><code>-mQ</code><dd>enables relaxation at assembly time. DANGEROUS!
<br><dt><code>-ml</code><dd>indicates that the input uses the large code model.
<br><dt><code>-mn</code><dd>enables the generation of a NOP instruction following any instruction
that might change the interrupts enabled/disabled state. The
pipelined nature of the MSP430 core means that any instruction that
changes the interrupt state (<code>EINT</code>, <code>DINT</code>, <code>BIC #8,
SR</code>, <code>BIS #8, SR</code> or <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 it is up to the programmer to
supply these NOP instructions, but this command-line option enables
the automatic insertion by the assembler, if they are missing.
<br><dt><code>-mN</code><dd>disables the generation of a NOP instruction following any instruction
that might change the interrupts enabled/disabled state. This is the
default behaviour.
<br><dt><code>-my</code><dd>tells the assembler to generate a warning message if a NOP does not
immediately follow an instruction that enables or disables
interrupts. This is the default.
<p>Note that this option can be stacked with the <samp><span class="option">-mn</span></samp> option so
that the assembler will both warn about missing NOP instructions and
then insert them automatically.
<br><dt><code>-mY</code><dd>disables warnings about missing NOP instructions.
<br><dt><code>-md</code><dd>mark the object file as one that requires data to copied from ROM to
RAM at execution startup. Disabled by default.
<br><dt><code>-mdata-region=</code><var>region</var><dd>Select the region data will be placed in.
Region placement is performed by the compiler and linker. The only effect this
option will have on the assembler is that if <var>upper</var> or <var>either</var> is
selected, then the symbols to initialise high data and bss will be defined.
Valid <var>region</var> values are:
<dl>
<dt><code>none</code><br><dt><code>lower</code><br><dt><code>upper</code><br><dt><code>either</code><dd></dl>
</dl>
</body></html>