<!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: Absolute Literals Directive</title>

<meta name="description" content="Using as: Absolute Literals Directive">
<meta name="keywords" content="Using as: Absolute Literals Directive">
<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="Xtensa-Directives.html#Xtensa-Directives" rel="up" title="Xtensa Directives">
<link href="Reporting-Bugs.html#Reporting-Bugs" rel="next" title="Reporting Bugs">
<link href="Literal-Prefix-Directive.html#Literal-Prefix-Directive" rel="prev" title="Literal Prefix Directive">
<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="Absolute-Literals-Directive"></a>
<div class="header">
<p>
Previous: <a href="Literal-Prefix-Directive.html#Literal-Prefix-Directive" accesskey="p" rel="prev">Literal Prefix Directive</a>, Up: <a href="Xtensa-Directives.html#Xtensa-Directives" accesskey="u" rel="up">Xtensa Directives</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="absolute_002dliterals"></a>
<h4 class="subsubsection">9.52.5.7 absolute-literals</h4>
<a name="index-absolute_002dliterals-directive"></a>
<a name="index-no_002dabsolute_002dliterals-directive"></a>

<p>The <code>absolute-literals</code> and <code>no-absolute-literals</code>
directives control the absolute vs. PC-relative mode for <code>L32R</code>
instructions.  These are relevant only for Xtensa configurations that
include the absolute addressing option for <code>L32R</code> instructions.
</p>
<div class="smallexample">
<pre class="smallexample">    .begin [no-]absolute-literals
    .end [no-]absolute-literals
</pre></div>

<p>These directives do not change the <code>L32R</code> mode&mdash;they only cause
the assembler to emit the appropriate kind of relocation for <code>L32R</code>
instructions and to place the literal values in the appropriate section.
To change the <code>L32R</code> mode, the program must write the
<code>LITBASE</code> special register.  It is the programmer&rsquo;s responsibility
to keep track of the mode and indicate to the assembler which mode is
used in each region of code.
</p>
<p>If the Xtensa configuration includes the absolute <code>L32R</code> addressing
option, the default is to assume absolute <code>L32R</code> addressing unless
the &lsquo;<samp>--no-absolute-literals</samp>&rsquo; command-line option is specified.
Otherwise, the default is to assume PC-relative <code>L32R</code> addressing.
The <code>absolute-literals</code> directive can then be used to override
the default determined by the command-line options.
</p>





</body>
</html>
