<html lang="en">
<head>
<title>SH 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="SH_002dDependent.html#SH_002dDependent" title="SH-Dependent">
<link rel="prev" href="SH-Directives.html#SH-Directives" title="SH 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 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>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="SH-Opcodes"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="SH-Directives.html#SH-Directives">SH Directives</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="SH_002dDependent.html#SH_002dDependent">SH-Dependent</a>
<hr>
</div>

<h4 class="subsection">9.33.5 Opcodes</h4>

<p><a name="index-SH-opcode-summary-1592"></a><a name="index-opcode-summary_002c-SH-1593"></a><a name="index-mnemonics_002c-SH-1594"></a><a name="index-instruction-summary_002c-SH-1595"></a>For detailed information on the SH machine instruction set, see
<cite>SH-Microcomputer User's Manual</cite> (Renesas) or
<cite>SH-4 32-bit CPU Core Architecture</cite> (SuperH) and
<cite>SuperH (SH) 64-Bit RISC Series</cite> (SuperH).

   <p><code>as</code> implements all the standard SH opcodes.  No additional
pseudo-instructions are needed on this family.  Note, however, that
because <code>as</code> supports a simpler form of PC-relative
addressing, you may simply write (for example)

<pre class="example">     mov.l  bar,r0
</pre>
   <p class="noindent">where other assemblers might require an explicit displacement to
<code>bar</code> from the program counter:

<pre class="example">     mov.l  @(<var>disp</var>, PC)
</pre>
   <!-- Copyright (C) 2002, 2003, 2008 Free Software Foundation, Inc. -->
<!-- This is part of the GAS manual. -->
<!-- For copying conditions, see the file as.texinfo. -->
   </body></html>

