<!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: Literal Position Directive</title>

<meta name="description" content="Using as: Literal Position Directive">
<meta name="keywords" content="Using as: Literal Position 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="Literal-Prefix-Directive.html#Literal-Prefix-Directive" rel="next" title="Literal Prefix Directive">
<link href="Literal-Directive.html#Literal-Directive" rel="prev" title="Literal 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="Literal-Position-Directive"></a>
<div class="header">
<p>
Next: <a href="Literal-Prefix-Directive.html#Literal-Prefix-Directive" accesskey="n" rel="next">Literal Prefix Directive</a>, Previous: <a href="Literal-Directive.html#Literal-Directive" accesskey="p" rel="prev">Literal 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="literal_005fposition"></a>
<h4 class="subsubsection">9.52.5.5 literal_position</h4>
<a name="index-literal_005fposition-directive"></a>

<p>When using &lsquo;<samp>--text-section-literals</samp>&rsquo; to place literals inline
in the section being assembled, the <code>.literal_position</code> directive
can be used to mark a potential location for a literal pool.
</p>
<div class="smallexample">
<pre class="smallexample">    .literal_position
</pre></div>

<p>The <code>.literal_position</code> directive is ignored when the
&lsquo;<samp>--text-section-literals</samp>&rsquo; option is not used or when
<code>L32R</code> instructions use the absolute addressing mode.
</p>
<p>The assembler will automatically place text section literal pools
before <code>ENTRY</code> instructions, so the <code>.literal_position</code>
directive is only needed to specify some other location for a literal
pool.  You may need to add an explicit jump instruction to skip over an
inline literal pool.
</p>
<p>For example, an interrupt vector does not begin with an <code>ENTRY</code>
instruction so the assembler will be unable to automatically find a good
place to put a literal pool.  Moreover, the code for the interrupt
vector must be at a specific starting address, so the literal pool
cannot come before the start of the code.  The literal pool for the
vector must be explicitly positioned in the middle of the vector (before
any uses of the literals, due to the negative offsets used by
PC-relative <code>L32R</code> instructions).  The <code>.literal_position</code>
directive can be used to do this.  In the following code, the literal
for &lsquo;<samp>M</samp>&rsquo; will automatically be aligned correctly and is placed after
the unconditional jump.
</p>
<div class="smallexample">
<pre class="smallexample">    .global M
code_start:
</pre><pre class="smallexample">    j continue
    .literal_position
    .align 4
</pre><pre class="smallexample">continue:
    movi    a4, M
</pre></div>




</body>
</html>
