blob: a459a0d84d30c2784f70039ba6fc308359733f5f [file]
<html lang="en">
<head>
<title>RL78-Modifiers - Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="RL78_002dDependent.html#RL78_002dDependent" title="RL78-Dependent">
<link rel="prev" href="RL78_002dOpts.html#RL78_002dOpts" title="RL78-Opts">
<link rel="next" href="RL78_002dDirectives.html#RL78_002dDirectives" title="RL78-Directives">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010, 2011 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''.
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="RL78-Modifiers"></a>
<a name="RL78_002dModifiers"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="RL78_002dDirectives.html#RL78_002dDirectives">RL78-Directives</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="RL78_002dOpts.html#RL78_002dOpts">RL78-Opts</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="RL78_002dDependent.html#RL78_002dDependent">RL78-Dependent</a>
<hr>
</div>
<h4 class="subsection">9.33.2 Symbolic Operand Modifiers</h4>
<p><a name="index-RL78-modifiers-1636"></a><a name="index-syntax_002c-RL78-1637"></a>
The RL78 has three modifiers that adjust the relocations used by the
linker:
<dl>
<dt><code>%lo16()</code><dd>
When loading a 20-bit (or wider) address into registers, this modifier
selects the 16 least significant bits.
<pre class="smallexample"> movw ax,#%lo16(_sym)
</pre>
<br><dt><code>%hi16()</code><dd>
When loading a 20-bit (or wider) address into registers, this modifier
selects the 16 most significant bits.
<pre class="smallexample"> movw ax,#%hi16(_sym)
</pre>
<br><dt><code>%hi8()</code><dd>
When loading a 20-bit (or wider) address into registers, this modifier
selects the 8 bits that would go into CS or ES (i.e. bits 23..16).
<pre class="smallexample"> mov es, #%hi8(_sym)
</pre>
</dl>
</body></html>