core/com.nokia.carbide.cpp.doc.user/html/concepts/arm_registers.htm
author fturovic <frank.turovich@nokia.com>
Fri, 16 Apr 2010 09:51:37 -0500
branchRCL_2_4
changeset 1225 a546534a48de
parent 0 fb279309251b
permissions -rw-r--r--
minor edits to remote conn pages, updated copyrights, fixed some broken links

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="LASTUPDATED" content="06/17/05 11:09:43" />
<title>ARM Registers</title>
<link rel="StyleSheet" href="../../book.css" type="text/css"/>
</head>
<body bgcolor="#FFFFFF">
<h2>ARM Registers</h2>
<p>  Registers are the register contents of the central processing unit (CPU) of the targeted device. When debugging projects on a device, only the target device registers are visible, for example the ARM registers. The ARM microprocessor has 16 general-purpose registers. THUMB has eight general-purpose registers, R0-R7, and access to the high registers, R8-R15. Note that registers R0 through R3 hold the first four words of incoming arguments. The microprocessor constructs remaining arguments in the calling function's argument build area, which does not provide space into which R0 through R3 can be spilled.</p>
<p>Three registers are best left for special uses. These are:</p>
<ul>
  <li>R13 for stack operations</li>
  <li>R14 is the link register (it is used for storing return addresses in the construction of sub routines)</li>
  <li>R15 is the program counter (PC)</li>
</ul>
<p>In most cases, the contents of all the registers can be modified. However,  when debugging applications on a target device with Application TRK, you cannot change the LR, SP, and CPSR registers.</p>
<p class="note"><b>NOTE</b> When opening the Registers view, the list of available registers will vary depending upon the target devices being debugged. </p>
<p align="center"><img src="images/ARM_registers.PNG" width="648" height="276" /></p>
<p align="left" class="figure">Figure 1 - ARM Registers </p>
<h5>Related concepts <b></b></h5>
<ul>
  <li><a href="registers.htm">Emulator  Registers </a></li>
</ul>
<h5>Related tasks</h5>
<ul>
      <li><a href="../tasks/registers/mem_reg_open_wnd.htm">Opening Register View</a></li>
      <li><a href="../tasks/registers/mem_reg_changing.htm">Changing Register Values</a></li>
</ul>
    <h5>Related references <b></b></h5>
<ul>
  <li><a href="../reference/view_registers.htm">View  Registers</a></li>
</ul>
<div id="footer">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>

</body>
</html>