<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
<title>Returns</title>
|
<title>Returns</title>
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
</head><body>
|
</head><body>
|
<!-- Generated by Doxygen 1.2.16 -->
|
<!-- Generated by Doxygen 1.2.16 -->
|
<center>
|
<center>
|
<a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="pages.html">Related Pages</a> </center>
|
<a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="pages.html">Related Pages</a> </center>
|
<hr><h1>Returns<br>
|
<hr><h1>Returns<br>
|
<small>
|
<small>
|
[<a class="el" href="group__pavr__pipeline.html">Pipeline details</a>]</small>
|
[<a class="el" href="group__pavr__pipeline.html">Pipeline details</a>]</small>
|
</h1><table border=0 cellpadding=0 cellspacing=0>
|
</h1><table border=0 cellpadding=0 cellspacing=0>
|
</table>
|
</table>
|
<dl compact><dt><b>
|
<dl compact><dt><b>
|
A few details</b><dd>
|
A few details</b><dd>
|
There are two kinds of returns: <ul>
|
There are two kinds of returns: <ul>
|
<li> RET <br>
|
<li> RET <br>
|
Return from subroutine. <br>
|
Return from subroutine. <br>
|
The Program Counter is loaded with the return address (22 bit wide) read from the stack, and the Stack Pointer is incremented by 3. <li> RETI <br>
|
The Program Counter is loaded with the return address (22 bit wide) read from the stack, and the Stack Pointer is incremented by 3. <li> RETI <br>
|
The same as RET, but in addition sets the general interrupt flag (flag I in the Status Register). </ul>
|
The same as RET, but in addition sets the general interrupt flag (flag I in the Status Register). </ul>
|
<br>
|
<br>
|
Returns are the slowest instructions in the pAVR implementation of the AVR instruction set. They take 9 clocks. <br>
|
Returns are the slowest instructions in the pAVR implementation of the AVR instruction set. They take 9 clocks. <br>
|
First 2 clocks are spent while waiting the previous instructions to write the Unified Memory. Next 5 clocks, the Program Counter is read from the Unified Memory. In a future version, this part might take only 4 clocks. Finally, another 2 clocks are spent while bringing the target instruction into the instruction register. <br>
|
First 2 clocks are spent while waiting the previous instructions to write the Unified Memory. Next 5 clocks, the Program Counter is read from the Unified Memory. In a future version, this part might take only 4 clocks. Finally, another 2 clocks are spent while bringing the target instruction into the instruction register. <br>
|
<br>
|
<br>
|
<div align="center">
|
<div align="center">
|
<img src="pavr_pipe_returns_01.gif" alt="pavr_pipe_returns_01.gif">
|
<img src="pavr_pipe_returns_01.gif" alt="pavr_pipe_returns_01.gif">
|
</div>
|
</div>
|
<br>
|
<br>
|
</dl><hr><address align="right"><small>Generated on Tue Dec 31 20:26:31 2002 for Pipelined AVR microcontroller by
|
</dl><hr><address align="right"><small>Generated on Tue Dec 31 20:26:31 2002 for Pipelined AVR microcontroller by
|
<a href="http://www.doxygen.org/index.html">
|
<a href="http://www.doxygen.org/index.html">
|
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
width=110 height=53></a>1.2.16 </small></address>
|
width=110 height=53></a>1.2.16 </small></address>
|
</body>
|
</body>
|
</html>
|
</html>
|
|
|