<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=49&amp;t=19273&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-09-27T12:50:09+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=49&amp;t=19273&amp;mode</id>
<entry>
<author><name><![CDATA[snsnsn14]]></name></author>
<updated>2017-09-27T12:50:09+01:00</updated>
<published>2017-09-27T12:50:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19273&amp;p=195891#p195891</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19273&amp;p=195891#p195891"/>
<title type="html"><![CDATA[Re: Dummy byte]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19273&amp;p=195891#p195891"><![CDATA[
Racja, dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17981">snsnsn14</a> — 27 wrz 2017, o 12:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[arturssp]]></name></author>
<updated>2017-09-27T08:33:51+01:00</updated>
<published>2017-09-27T08:33:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19273&amp;p=195883#p195883</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19273&amp;p=195883#p195883"/>
<title type="html"><![CDATA[Re: Dummy byte]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19273&amp;p=195883#p195883"><![CDATA[
Witam,<br />Mogę się mylić, ale chodzi o wskaźnik przeniesienia (flaga C). Np jeśli podczas operacji &quot;fmul&quot; nastąpi przeniesienie, to dodajemy to przeniesienie (adc). W r2 jest 0, więc dodajemy 0 + przeniesienie. To samo z odejmowaniem.<br />Nie ma komendy bezpośrednio dodającej flagę do rejestru, można tylko testować wartość danej flagi, dlatego aby dodać 1 gdy nastąpi przeniesienie, trzeba skorzystać z adc (dodać dwa rejestry + flaga C), jeśli w drugim rejestrze mamy 0, finalnie wychodzi, że dodajemy samą flagę C.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16778">arturssp</a> — 27 wrz 2017, o 08:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[snsnsn14]]></name></author>
<updated>2017-09-26T22:41:14+01:00</updated>
<published>2017-09-26T22:41:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19273&amp;p=195880#p195880</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19273&amp;p=195880#p195880"/>
<title type="html"><![CDATA[Dummy byte]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19273&amp;p=195880#p195880"><![CDATA[
Cześć,<br /><br />po co w podprogramach wykonujących mnożenie, np. w fmuls16x16_32 z avr201.asm, jest zerowany R2 i następnie wykorzystywany w adc i sbc?<br /><br />[syntax=asm];******************************************************************************<br />;*<br />;* FUNCTION<br />;*fmuls16x16_32<br />;* DECRIPTION<br />;*Signed fractional multiply of two 16bits numbers with 32bits result.<br />;* USAGE<br />;*r19:r18:r17:r16 = ( r23:r22 * r21:r20 ) &lt;&lt; 1<br />;* STATISTICS<br />;*Cycles :20 + ret<br />;*Words :16 + ret<br />;*Register usage: r0 to r2 and r16 to r23 (11 registers)<br />;* NOTE<br />;*The routine is non-destructive to the operands.<br />;*<br />;******************************************************************************<br /><br />fmuls16x16_32:<br />clrr2<br />fmulsr23, r21; ( (signed)ah * (signed)bh ) &lt;&lt; 1<br />movwr19:r18, r1:r0<br />fmulr22, r20; ( al * bl ) &lt;&lt; 1<br />adcr18, r2<br />movwr17:r16, r1:r0<br />fmulsur23, r20; ( (signed)ah * bl ) &lt;&lt; 1<br />sbcr19, r2<br />addr17, r0<br />adcr18, r1<br />adcr19, r2<br />fmulsur21, r22; ( (signed)bh * al ) &lt;&lt; 1<br />sbcr19, r2<br />addr17, r0<br />adcr18, r1<br />adcr19, r2<br />ret[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17981">snsnsn14</a> — 26 wrz 2017, o 22:41</p><hr />
]]></content>
</entry>
</feed>