s390-Literal-Pool-Entries.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU Assembler "as".
  4. Copyright (C) 1991-2017 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3
  7. or any later version published by the Free Software Foundation;
  8. with no Invariant Sections, with no Front-Cover Texts, and with no
  9. Back-Cover Texts. A copy of the license is included in the
  10. section entitled "GNU Free Documentation License".
  11. -->
  12. <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <title>Using as: s390 Literal Pool Entries</title>
  15. <meta name="description" content="Using as: s390 Literal Pool Entries">
  16. <meta name="keywords" content="Using as: s390 Literal Pool Entries">
  17. <meta name="resource-type" content="document">
  18. <meta name="distribution" content="global">
  19. <meta name="Generator" content="makeinfo">
  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="s390-Syntax.html#s390-Syntax" rel="up" title="s390 Syntax">
  25. <link href="s390-Directives.html#s390-Directives" rel="next" title="s390 Directives">
  26. <link href="s390-Instruction-Marker.html#s390-Instruction-Marker" rel="prev" title="s390 Instruction Marker">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.smallquotation {font-size: smaller}
  31. div.display {margin-left: 3.2em}
  32. div.example {margin-left: 3.2em}
  33. div.indentedblock {margin-left: 3.2em}
  34. div.lisp {margin-left: 3.2em}
  35. div.smalldisplay {margin-left: 3.2em}
  36. div.smallexample {margin-left: 3.2em}
  37. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style:oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nocodebreak {white-space:nowrap}
  49. span.nolinebreak {white-space:nowrap}
  50. span.roman {font-family:serif; font-weight:normal}
  51. span.sansserif {font-family:sans-serif; font-weight:normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  57. <a name="s390-Literal-Pool-Entries"></a>
  58. <div class="header">
  59. <p>
  60. 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>
  61. </div>
  62. <hr>
  63. <a name="Literal-Pool-Entries"></a>
  64. <h4 class="subsubsection">9.39.3.8 Literal Pool Entries</h4>
  65. <a name="index-literal-pool-entries_002c-s390"></a>
  66. <a name="index-s390-literal-pool-entries"></a>
  67. <p>A literal pool is a collection of values. To access the values a pointer
  68. to the literal pool is loaded to a register, the literal pool register.
  69. Usually, register %r13 is used as the literal pool register
  70. (<a href="s390-Register.html#s390-Register">s390 Register</a>). Literal pool entries are created by adding the
  71. suffix :lit1, :lit2, :lit4, or :lit8 to the end of an expression for an
  72. instruction operand. The expression is added to the literal pool and the
  73. operand is replaced with the offset to the literal in the literal pool.
  74. </p>
  75. <dl compact="compact">
  76. <dt><code>:lit1</code></dt>
  77. <dd><p>The literal pool entry is created as an 8-bit value. An operand modifier
  78. must not be used for the original expression.
  79. </p></dd>
  80. <dt><code>:lit2</code></dt>
  81. <dd><p>The literal pool entry is created as a 16 bit value. The operand modifier
  82. @got may be used in the original expression. The term &lsquo;<samp>x@got:lit2</samp>&rsquo;
  83. will put the got offset for the global symbol x to the literal pool as
  84. 16 bit value.
  85. </p></dd>
  86. <dt><code>:lit4</code></dt>
  87. <dd><p>The literal pool entry is created as a 32-bit value. The operand modifier
  88. @got and @plt may be used in the original expression. The term
  89. &lsquo;<samp>x@got:lit4</samp>&rsquo; will put the got offset for the global symbol x to the
  90. literal pool as a 32-bit value. The term &lsquo;<samp>x@plt:lit4</samp>&rsquo; will put the
  91. plt offset for the global symbol x to the literal pool as a 32-bit value.
  92. </p></dd>
  93. <dt><code>:lit8</code></dt>
  94. <dd><p>The literal pool entry is created as a 64-bit value. The operand modifier
  95. @got and @plt may be used in the original expression. The term
  96. &lsquo;<samp>x@got:lit8</samp>&rsquo; will put the got offset for the global symbol x to the
  97. literal pool as a 64-bit value. The term &lsquo;<samp>x@plt:lit8</samp>&rsquo; will put the
  98. plt offset for the global symbol x to the literal pool as a 64-bit value.
  99. </p></dd>
  100. </dl>
  101. <p>The assembler directive &lsquo;<samp>.ltorg</samp>&rsquo; is used to emit all literal pool
  102. entries to the current position.
  103. </p>
  104. <hr>
  105. <div class="header">
  106. <p>
  107. 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>
  108. </div>
  109. </body>
  110. </html>