blob: 62079779a8a2511ead429f65a587726b726e6e6d [file] [log] [blame]
<html lang="en">
<head>
<title>XStormy16 Opcodes - 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="XSTORMY16_002dDependent.html#XSTORMY16_002dDependent" title="XSTORMY16-Dependent">
<link rel="prev" href="XStormy16-Directives.html#XStormy16-Directives" title="XStormy16 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-2019 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="XStormy16-Opcodes"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="XStormy16-Directives.html#XStormy16-Directives">XStormy16 Directives</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="XSTORMY16_002dDependent.html#XSTORMY16_002dDependent">XSTORMY16-Dependent</a>
<hr>
</div>
<h4 class="subsection">9.54.3 XStormy16 Pseudo-Opcodes</h4>
<p><a name="index-XStormy16-pseudo_002dopcodes-2598"></a><a name="index-pseudo_002dopcodes-for-XStormy16-2599"></a><code>as</code> implements all the standard XStormy16 opcodes.
<p><code>as</code> also implements the following pseudo ops:
<a name="index-g_t_0040code_007b_0040_0040lo_007d-pseudo_002dop_002c-XStormy16-2600"></a>
<dl><dt><code>@lo()</code><dd>Computes the lower 16 bits of the given expression and stores it into
the immediate operand field of the given instruction. For example:
<p>&lsquo;<samp><span class="samp">add r6, @lo(here - there)</span></samp>&rsquo;
<p>computes the difference between the address of labels 'here' and
'there', takes the lower 16 bits of this difference and adds it to
register 6.
<p><a name="index-g_t_0040code_007b_0040_0040hi_007d-pseudo_002dop_002c-XStormy16-2601"></a><br><dt><code>@hi()</code><dd>Computes the higher 16 bits of the given expression and stores it into
the immediate operand field of the given instruction. For example:
<p>&lsquo;<samp><span class="samp">addc r7, @hi(here - there)</span></samp>&rsquo;
<p>computes the difference between the address of labels 'here' and
'there', takes the upper 16 bits of this difference, shifts it down 16
bits and then adds it, along with the carry bit, to the value in
register 7.
</dl>
<!-- Copyright (C) 2002-2019 Free Software Foundation, Inc. -->
<!-- This is part of the GAS manual. -->
<!-- For copying conditions, see the file as.texinfo. -->
<!-- man end -->
</body></html>