<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>richliu&#039;s blog &#187; ARMv6</title>
	<atom:link href="http://blog.richliu.com/tag/armv6/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.richliu.com</link>
	<description>Linux, 工作, 生活.</description>
	<lastBuildDate>Fri, 03 Sep 2010 11:41:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ARMv6 的 Word Swap 指令</title>
		<link>http://blog.richliu.com/2009/05/23/761/</link>
		<comments>http://blog.richliu.com/2009/05/23/761/#comments</comments>
		<pubDate>Fri, 22 May 2009 16:20:11 +0000</pubDate>
		<dc:creator>richliu</dc:creator>
				<category><![CDATA[ARM]]></category>
		<category><![CDATA[Embedded]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ARMv6]]></category>
		<category><![CDATA[REV]]></category>

		<guid isPermaLink="false">http://blog.richliu.com/?p=761</guid>
		<description><![CDATA[ARMv6 加入了幾個好用的 Swap 指令. 不需要用軟體算來算去
請參考 http://www.arm.com/pdfs/ARMv6_Architecture.pdf
REV
REV16
REVSH

最常用的應該是 REV 吧.
Realview inline assembly 很簡單.
[C]unsigned int tmp = 0&#215;12345678;
__asm{
         REV tmp, tmp
}[/C]
GNU C++ inline assembly 為(未測)
[C]
unsigned int tmp = 0&#215;12345678;
__asm__ __volatile__ (
   『REV %0,%0;』 : 『=r』(tmp) : 『r』(tmp):』r5&#8243;);
);[/C]
]]></description>
			<content:encoded><![CDATA[<p>ARMv6 加入了幾個好用的 Swap 指令. 不需要用軟體算來算去<br />
請參考 http://www.arm.com/pdfs/ARMv6_Architecture.pdf</p>
<p>REV<br />
REV16<br />
REVSH</p>
<p><a href="http://www.flickr.com/photos/richliu_tw/3486040982/" title="Flickr 上 richliu(有錢劉) 的 ARM_REV"><img src="http://farm4.static.flickr.com/3567/3486040982_f2f5228deb_o.png" width="692" height="384" alt="ARM_REV" /></a></p>
<p>最常用的應該是 REV 吧.</p>
<p>Realview inline assembly 很簡單.</p>
<blockquote><p>[C]unsigned int tmp = 0&#215;12345678;<br />
__asm{<br />
         REV tmp, tmp<br />
}[/C]</p></blockquote>
<p>GNU C++ inline assembly 為(未測)</p>
<p>[C]<br />
unsigned int tmp = 0&#215;12345678;<br />
__asm__ __volatile__ (<br />
   『REV %0,%0;』 : 『=r』(tmp) : 『r』(tmp):』r5&#8243;);<br />
);[/C]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richliu.com/2009/05/23/761/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
