multacc5.htm
来自「ST20 Embedded Toolset R2.0.5用于开发基于ST20芯片」· HTM 代码 · 共 63 行
HTM
63 行
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="GENERATOR" content="Quadralay WebWorks Publisher Professional Edition 6.0.5">
<meta name="TEMPLATEBASE" content="book_html">
<meta name="LASTUPDATED" content="09/01/03 09:53:18">
<title>5.4 Short multiply accumulate loop</title>
<STYLE TYPE="text/css">
<!--
span.Signal { text-transform: uppercase; font-family: Verdana }
-->
</STYLE>
</head>
<body link="#3366CC" vlink="#9999CC" text="#000000" alink="#0000CC" bgcolor="#FFFFFF"
background="images/backgrnd.gif">
<p><img src="images/stlogo.gif" width="106" height="83" align="left"
alt="logo here!"> </p>
<table width="331" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td><a href="st20c1to.htm"><img src="images/navtoc.gif" width="84" height="23"
border="0" alt="TOC"> </a></td>
<td><a href="multacc4.htm"><img src="images/navprev.gif" width="80" height="23"
border="0" alt="PREV"> </a></td>
<td><a href="multacc6.htm"><img src="images/navnext.gif" width="83" height="23"
border="0" alt="NEXT"> </a></td>
<td><a href="st20c1ix.htm"><img src="images/navidx.gif" width="84" height="23"
border="0" alt="INDEX"> </a></td>
</tr>
</table>
<p><br clear="all">
</p>
<hr align="left">
<blockquote>
<h2>
<a name="1102119"> </a><font color="#003366" face="Verdana, Arial, Helvetica, sans-serif">5.4 Short multiply accumulate loop</font>
</h2><hr>
<p>
<a name="1102120"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">The <strong>smacloop</strong> instruction performs a multiply-accumulate operation on two vectors of 16-bit values held in memory. It takes an initial accumulator value and two pointers, one to each of two data vectors.</font>
</p>
<ul>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1102121"> </a>The X vector of data values is normally considered to reside within a circular buffer of programmable size, but this can be turned off. When data fetches reach the end of this buffer, the pointer wraps-around back to the start of the buffer and continues. The X vector must be word aligned.</font></p>
<p> <font size=2 face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1102122"> </a>The Y vector of coefficients is always in a flat address space, and never wraps around. The Y vector must be half-word aligned.</font></p>
</ul>
<p>
<a name="1102123"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">The data items from each vector are read from memory in turn and the products formed between corresponding pairs from the two vectors. Each of these products is added into the running accumulator value. The instruction completes with three values in the stack; the final accumulator value and the two updated data pointers.</font>
</p>
<p>
<a name="1102169"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">Four control values are held in the <span class=Signal>Status</span> register, as shown in <a href="multacc5.htm#1104457"><font color="#0000ff" face="Verdana, Arial, Helvetica, sans-serif"><i>Table
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?