blob: 2a9f46685feb20d4656c0aef9c9e290fc037278d [file] [log] [blame]
<html lang="en">
<head>
<title>IA-64-Regs - 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="IA_002d64-Syntax.html#IA_002d64-Syntax" title="IA-64 Syntax">
<link rel="prev" href="IA_002d64_002dChars.html#IA_002d64_002dChars" title="IA-64-Chars">
<link rel="next" href="IA_002d64_002dBits.html#IA_002d64_002dBits" title="IA-64-Bits">
<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="IA-64-Regs"></a>
<a name="IA_002d64_002dRegs"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="IA_002d64_002dBits.html#IA_002d64_002dBits">IA-64-Bits</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="IA_002d64_002dChars.html#IA_002d64_002dChars">IA-64-Chars</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="IA_002d64-Syntax.html#IA_002d64-Syntax">IA-64 Syntax</a>
<hr>
</div>
<h5 class="subsubsection">9.16.2.2 Register Names</h5>
<p><a name="index-IA_002d64-registers-1045"></a><a name="index-register-names_002c-IA_002d64-1046"></a>
The 128 integer registers are referred to as &lsquo;<samp><span class="samp">r</span><var>n</var></samp>&rsquo;.
The 128 floating-point registers are referred to as &lsquo;<samp><span class="samp">f</span><var>n</var></samp>&rsquo;.
The 128 application registers are referred to as &lsquo;<samp><span class="samp">ar</span><var>n</var></samp>&rsquo;.
The 128 control registers are referred to as &lsquo;<samp><span class="samp">cr</span><var>n</var></samp>&rsquo;.
The 64 one-bit predicate registers are referred to as &lsquo;<samp><span class="samp">p</span><var>n</var></samp>&rsquo;.
The 8 branch registers are referred to as &lsquo;<samp><span class="samp">b</span><var>n</var></samp>&rsquo;.
In addition, the assembler defines a number of aliases:
&lsquo;<samp><span class="samp">gp</span></samp>&rsquo; (&lsquo;<samp><span class="samp">r1</span></samp>&rsquo;), &lsquo;<samp><span class="samp">sp</span></samp>&rsquo; (&lsquo;<samp><span class="samp">r12</span></samp>&rsquo;), &lsquo;<samp><span class="samp">rp</span></samp>&rsquo; (&lsquo;<samp><span class="samp">b0</span></samp>&rsquo;),
&lsquo;<samp><span class="samp">ret0</span></samp>&rsquo; (&lsquo;<samp><span class="samp">r8</span></samp>&rsquo;), &lsquo;<samp><span class="samp">ret1</span></samp>&rsquo; (&lsquo;<samp><span class="samp">r9</span></samp>&rsquo;), &lsquo;<samp><span class="samp">ret2</span></samp>&rsquo; (&lsquo;<samp><span class="samp">r10</span></samp>&rsquo;),
&lsquo;<samp><span class="samp">ret3</span></samp>&rsquo; (&lsquo;<samp><span class="samp">r9</span></samp>&rsquo;), &lsquo;<samp><span class="samp">farg</span><var>n</var></samp>&rsquo; (&lsquo;<samp><span class="samp">f8+</span><var>n</var></samp>&rsquo;), and
&lsquo;<samp><span class="samp">fret</span><var>n</var></samp>&rsquo; (&lsquo;<samp><span class="samp">f8+</span><var>n</var></samp>&rsquo;).
<p>For convenience, the assembler also defines aliases for all named application
and control registers. For example, &lsquo;<samp><span class="samp">ar.bsp</span></samp>&rsquo; refers to the register
backing store pointer (&lsquo;<samp><span class="samp">ar17</span></samp>&rsquo;). Similarly, &lsquo;<samp><span class="samp">cr.eoi</span></samp>&rsquo; refers to
the end-of-interrupt register (&lsquo;<samp><span class="samp">cr67</span></samp>&rsquo;).
</body></html>