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

<meta name="description" content="Using as: TIC54X-Opts">
<meta name="keywords" content="Using as: TIC54X-Opts">
<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="TIC54X_002dDependent.html#TIC54X_002dDependent" rel="up" title="TIC54X-Dependent">
<link href="TIC54X_002dBlock.html#TIC54X_002dBlock" rel="next" title="TIC54X-Block">
<link href="TIC54X_002dDependent.html#TIC54X_002dDependent" rel="prev" title="TIC54X-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="TIC54X_002dOpts"></a>
<div class="header">
<p>
Next: <a href="TIC54X_002dBlock.html#TIC54X_002dBlock" accesskey="n" rel="next">TIC54X-Block</a>, Up: <a href="TIC54X_002dDependent.html#TIC54X_002dDependent" accesskey="u" rel="up">TIC54X-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-24"></a>
<h4 class="subsection">9.43.1 Options</h4>

<a name="index-options_002c-TIC54X"></a>
<a name="index-TIC54X-options"></a>
<p>The TMS320C54X version of <code>as</code> has a few machine-dependent options.
</p>
<a name="index-_002dmfar_002dmode-option_002c-far_002dmode"></a>
<a name="index-_002dmf-option_002c-far_002dmode"></a>
<p>You can use the &lsquo;<samp>-mfar-mode</samp>&rsquo; option to enable extended addressing mode.
All addresses will be assumed to be &gt; 16 bits, and the appropriate
relocation types will be used.  This option is equivalent to using the
&lsquo;<samp>.far_mode</samp>&rsquo; directive in the assembly code.  If you do not use the
&lsquo;<samp>-mfar-mode</samp>&rsquo; option, all references will be assumed to be 16 bits.
This option may be abbreviated to &lsquo;<samp>-mf</samp>&rsquo;.
</p>
<a name="index-_002dmcpu-option_002c-cpu"></a>
<p>You can use the &lsquo;<samp>-mcpu</samp>&rsquo; option to specify a particular CPU.
This option is equivalent to using the &lsquo;<samp>.version</samp>&rsquo; directive in the
assembly code.  For recognized CPU codes, see
See <a href="TIC54X_002dDirectives.html#TIC54X_002dDirectives"><code>.version</code></a>.  The default CPU version is
&lsquo;<samp>542</samp>&rsquo;.
</p>
<a name="index-_002dmerrors_002dto_002dfile-option_002c-stderr-redirect"></a>
<a name="index-_002dme-option_002c-stderr-redirect"></a>
<p>You can use the &lsquo;<samp>-merrors-to-file</samp>&rsquo; option to redirect error output
to a file (this provided for those deficient environments which don&rsquo;t
provide adequate output redirection).  This option may be abbreviated to
&lsquo;<samp>-me</samp>&rsquo;.
</p>



</body>
</html>
