<!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: s390 Literal Pool Entries</title>

<meta name="description" content="Using as: s390 Literal Pool Entries">
<meta name="keywords" content="Using as: s390 Literal Pool Entries">
<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="s390-Syntax.html#s390-Syntax" rel="up" title="s390 Syntax">
<link href="s390-Directives.html#s390-Directives" rel="next" title="s390 Directives">
<link href="s390-Instruction-Marker.html#s390-Instruction-Marker" rel="prev" title="s390 Instruction Marker">
<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="s390-Literal-Pool-Entries"></a>
<div class="header">
<p>
Previous: <a href="s390-Instruction-Marker.html#s390-Instruction-Marker" accesskey="p" rel="prev">s390 Instruction Marker</a>, Up: <a href="s390-Syntax.html#s390-Syntax" accesskey="u" rel="up">s390 Syntax</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-Pool-Entries"></a>
<h4 class="subsubsection">9.37.3.8 Literal Pool Entries</h4>
<a name="index-literal-pool-entries_002c-s390"></a>
<a name="index-s390-literal-pool-entries"></a>

<p>A literal pool is a collection of values. To access the values a pointer
to the literal pool is loaded to a register, the literal pool register.
Usually, register %r13 is used as the literal pool register
(<a href="s390-Register.html#s390-Register">s390 Register</a>). Literal pool entries are created by adding the
suffix :lit1, :lit2, :lit4, or :lit8 to the end of an expression for an
instruction operand. The expression is added to the literal pool and the
operand is replaced with the offset to the literal in the literal pool.
</p>
<dl compact="compact">
<dt><code>:lit1</code></dt>
<dd><p>The literal pool entry is created as an 8-bit value. An operand modifier
must not be used for the original expression.
</p></dd>
<dt><code>:lit2</code></dt>
<dd><p>The literal pool entry is created as a 16 bit value. The operand modifier
@got may be used in the original expression. The term &lsquo;<samp>x@got:lit2</samp>&rsquo;
will put the got offset for the global symbol x to the literal pool as
16 bit value.
</p></dd>
<dt><code>:lit4</code></dt>
<dd><p>The literal pool entry is created as a 32-bit value. The operand modifier
@got and @plt may be used in the original expression. The term
&lsquo;<samp>x@got:lit4</samp>&rsquo; will put the got offset for the global symbol x to the
literal pool as a 32-bit value. The term &lsquo;<samp>x@plt:lit4</samp>&rsquo; will put the
plt offset for the global symbol x to the literal pool as a 32-bit value.
</p></dd>
<dt><code>:lit8</code></dt>
<dd><p>The literal pool entry is created as a 64-bit value. The operand modifier
@got and @plt may be used in the original expression. The term
&lsquo;<samp>x@got:lit8</samp>&rsquo; will put the got offset for the global symbol x to the
literal pool as a 64-bit value. The term &lsquo;<samp>x@plt:lit8</samp>&rsquo; will put the
plt offset for the global symbol x to the literal pool as a 64-bit value.
</p></dd>
</dl>

<p>The assembler directive &lsquo;<samp>.ltorg</samp>&rsquo; is used to emit all literal pool
entries to the current position.
</p>
<hr>
<div class="header">
<p>
Previous: <a href="s390-Instruction-Marker.html#s390-Instruction-Marker" accesskey="p" rel="prev">s390 Instruction Marker</a>, Up: <a href="s390-Syntax.html#s390-Syntax" accesskey="u" rel="up">s390 Syntax</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>



</body>
</html>
