blob: 983ed6622d30f793f6e67200eddecd7fb7d6cc26 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".
Copyright (C) 1991-2013 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".
-->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: IA-64-Regs</title>
<meta name="description" content="Using as: IA-64-Regs">
<meta name="keywords" content="Using as: IA-64-Regs">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="IA_002d64-Syntax.html#IA_002d64-Syntax" rel="up" title="IA-64 Syntax">
<link href="IA_002d64_002dBits.html#IA_002d64_002dBits" rel="next" title="IA-64-Bits">
<link href="IA_002d64_002dChars.html#IA_002d64_002dChars" rel="prev" title="IA-64-Chars">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="IA_002d64_002dRegs"></a>
<div class="header">
<p>
Next: <a href="IA_002d64_002dBits.html#IA_002d64_002dBits" accesskey="n" rel="next">IA-64-Bits</a>, Previous: <a href="IA_002d64_002dChars.html#IA_002d64_002dChars" accesskey="p" rel="prev">IA-64-Chars</a>, Up: <a href="IA_002d64-Syntax.html#IA_002d64-Syntax" accesskey="u" rel="up">IA-64 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>
</div>
<hr>
<a name="Register-Names-8"></a>
<h4 class="subsubsection">9.18.2.2 Register Names</h4>
<a name="index-IA_002d64-registers"></a>
<a name="index-register-names_002c-IA_002d64"></a>
<p>The 128 integer registers are referred to as &lsquo;<samp>r<var>n</var></samp>&rsquo;.
The 128 floating-point registers are referred to as &lsquo;<samp>f<var>n</var></samp>&rsquo;.
The 128 application registers are referred to as &lsquo;<samp>ar<var>n</var></samp>&rsquo;.
The 128 control registers are referred to as &lsquo;<samp>cr<var>n</var></samp>&rsquo;.
The 64 one-bit predicate registers are referred to as &lsquo;<samp>p<var>n</var></samp>&rsquo;.
The 8 branch registers are referred to as &lsquo;<samp>b<var>n</var></samp>&rsquo;.
In addition, the assembler defines a number of aliases:
&lsquo;<samp>gp</samp>&rsquo; (&lsquo;<samp>r1</samp>&rsquo;), &lsquo;<samp>sp</samp>&rsquo; (&lsquo;<samp>r12</samp>&rsquo;), &lsquo;<samp>rp</samp>&rsquo; (&lsquo;<samp>b0</samp>&rsquo;),
&lsquo;<samp>ret0</samp>&rsquo; (&lsquo;<samp>r8</samp>&rsquo;), &lsquo;<samp>ret1</samp>&rsquo; (&lsquo;<samp>r9</samp>&rsquo;), &lsquo;<samp>ret2</samp>&rsquo; (&lsquo;<samp>r10</samp>&rsquo;),
&lsquo;<samp>ret3</samp>&rsquo; (&lsquo;<samp>r9</samp>&rsquo;), &lsquo;<samp>farg<var>n</var></samp>&rsquo; (&lsquo;<samp>f8+<var>n</var></samp>&rsquo;), and
&lsquo;<samp>fret<var>n</var></samp>&rsquo; (&lsquo;<samp>f8+<var>n</var></samp>&rsquo;).
</p>
<p>For convenience, the assembler also defines aliases for all named application
and control registers. For example, &lsquo;<samp>ar.bsp</samp>&rsquo; refers to the register
backing store pointer (&lsquo;<samp>ar17</samp>&rsquo;). Similarly, &lsquo;<samp>cr.eoi</samp>&rsquo; refers to
the end-of-interrupt register (&lsquo;<samp>cr67</samp>&rsquo;).
</p>
</body>
</html>