<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Insanely Low-Level</title>
	<atom:link href="http://www.ragestorm.net/blogs/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://www.ragestorm.net/blogs</link>
	<description>An Arkon Blog</description>
	<lastBuildDate>Sun, 30 Dec 2012 01:00:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
	<item>
		<title>Comment on Trampolines In x64 by Sönke</title>
		<link>http://www.ragestorm.net/blogs/?p=107&#038;cpage=1#comment-4747</link>
		<dc:creator>Sönke</dc:creator>
		<pubDate>Sun, 30 Dec 2012 01:00:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=107#comment-4747</guid>
		<description><![CDATA[Hi guys,

I&#039;m currently experimenting with the subject and found that 2) can be cured from the destruction of the register if you do the following:

	push rax;
	mov rax, ;
	xchg rax, [rsp];
	ret;
 
unfortunately the price is a 4 bytes longer code but seems to work fine.

Greetings]]></description>
		<content:encoded><![CDATA[<p>Hi guys,</p>
<p>I&#8217;m currently experimenting with the subject and found that 2) can be cured from the destruction of the register if you do the following:</p>
<p>	push rax;<br />
	mov rax, ;<br />
	xchg rax, [rsp];<br />
	ret;</p>
<p>unfortunately the price is a 4 bytes longer code but seems to work fine.</p>
<p>Greetings</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Armstorm &#8211; ARM Disassembler by arkon</title>
		<link>http://www.ragestorm.net/blogs/?p=401&#038;cpage=1#comment-4729</link>
		<dc:creator>arkon</dc:creator>
		<pubDate>Sat, 15 Dec 2012 17:38:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=401#comment-4729</guid>
		<description><![CDATA[Sweet, thanks.
I really like the (~mask &amp; 1) -&gt; !(mask &amp; 1), I wonder if the compiler could know to do it on its own...]]></description>
		<content:encoded><![CDATA[<p>Sweet, thanks.<br />
I really like the (~mask &#038; 1) -> !(mask &#038; 1), I wonder if the compiler could know to do it on its own&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Armstorm &#8211; ARM Disassembler by Peter Ferrie</title>
		<link>http://www.ragestorm.net/blogs/?p=401&#038;cpage=1#comment-4720</link>
		<dc:creator>Peter Ferrie</dc:creator>
		<pubDate>Fri, 14 Dec 2012 20:15:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=401#comment-4720</guid>
		<description><![CDATA[actually, that first while should say !(mask &amp; 1).
you don&#039;t want to be performing ~mask every time, either.]]></description>
		<content:encoded><![CDATA[<p>actually, that first while should say !(mask &amp; 1).<br />
you don&#8217;t want to be performing ~mask every time, either.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Armstorm &#8211; ARM Disassembler by Peter Ferrie</title>
		<link>http://www.ragestorm.net/blogs/?p=401&#038;cpage=1#comment-4719</link>
		<dc:creator>Peter Ferrie</dc:creator>
		<pubDate>Fri, 14 Dec 2012 20:13:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=401#comment-4719</guid>
		<description><![CDATA[of course, it&#039;s faster if you avoid checking mask==0 repeatedly:

if (mask)
{
  int base = 0;
  int runLength = 0;
  while (~mask &amp; 1) base++, mask &gt;&gt;= 1;
  //mask is never zero here, always &amp;1 initially
  while (mask &amp; 1) runLength++, mask &gt;&gt;= 1;
  if (!mask &amp;&amp; runLength &gt; 2)
  {
    ...
  }
}]]></description>
		<content:encoded><![CDATA[<p>of course, it&#8217;s faster if you avoid checking mask==0 repeatedly:</p>
<p>if (mask)<br />
{<br />
  int base = 0;<br />
  int runLength = 0;<br />
  while (~mask &amp; 1) base++, mask &gt;&gt;= 1;<br />
  //mask is never zero here, always &amp;1 initially<br />
  while (mask &amp; 1) runLength++, mask &gt;&gt;= 1;<br />
  if (!mask &amp;&amp; runLength &gt; 2)<br />
  {<br />
    &#8230;<br />
  }<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Armstorm &#8211; ARM Disassembler by arkon</title>
		<link>http://www.ragestorm.net/blogs/?p=401&#038;cpage=1#comment-4702</link>
		<dc:creator>arkon</dc:creator>
		<pubDate>Thu, 13 Dec 2012 10:42:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=401#comment-4702</guid>
		<description><![CDATA[Nice Ofek!

It could be really shortened, that what happens when you write code at 2:30 AM :)

I use this code to format a registers-list for some instructions. For example:

PUSH {R0-R7}
STMIA R0!, {R4-R6}

I want to show a sequence of more than 2 registers in the %d-%d format, and the rest will be separated (it wasn&#039;t part of the snippet).

Suppose:
POP {R0, R5, R7}

Thumbs up ;)]]></description>
		<content:encoded><![CDATA[<p>Nice Ofek!</p>
<p>It could be really shortened, that what happens when you write code at 2:30 AM <img src='http://www.ragestorm.net/blogs/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I use this code to format a registers-list for some instructions. For example:</p>
<p>PUSH {R0-R7}<br />
STMIA R0!, {R4-R6}</p>
<p>I want to show a sequence of more than 2 registers in the %d-%d format, and the rest will be separated (it wasn&#8217;t part of the snippet).</p>
<p>Suppose:<br />
POP {R0, R5, R7}</p>
<p>Thumbs up <img src='http://www.ragestorm.net/blogs/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Armstorm &#8211; ARM Disassembler by Ofek Shilon</title>
		<link>http://www.ragestorm.net/blogs/?p=401&#038;cpage=1#comment-4701</link>
		<dc:creator>Ofek Shilon</dc:creator>
		<pubDate>Thu, 13 Dec 2012 10:34:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=401#comment-4701</guid>
		<description><![CDATA[finds the location of the rightmost 1&#039;s block (first while), and its length (second while).  
The condition in the if ensures that this 1&#039;s block was in fact the single one, of size at least 3.
Also, the second while condition can be shortened to &#039;while (mask &amp; 1)&#039;.

Maybe its for analysis of R/M portions of opcodes?]]></description>
		<content:encoded><![CDATA[<p>finds the location of the rightmost 1&#8242;s block (first while), and its length (second while).<br />
The condition in the if ensures that this 1&#8242;s block was in fact the single one, of size at least 3.<br />
Also, the second while condition can be shortened to &#8216;while (mask &amp; 1)&#8217;.</p>
<p>Maybe its for analysis of R/M portions of opcodes?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Armstorm &#8211; ARM Disassembler by arkon</title>
		<link>http://www.ragestorm.net/blogs/?p=401&#038;cpage=1#comment-4698</link>
		<dc:creator>arkon</dc:creator>
		<pubDate>Thu, 13 Dec 2012 08:43:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=401#comment-4698</guid>
		<description><![CDATA[Not really... because it continues to count even though it found a zero bit... until when?]]></description>
		<content:encoded><![CDATA[<p>Not really&#8230; because it continues to count even though it found a zero bit&#8230; until when?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Armstorm &#8211; ARM Disassembler by someone</title>
		<link>http://www.ragestorm.net/blogs/?p=401&#038;cpage=1#comment-4697</link>
		<dc:creator>someone</dc:creator>
		<pubDate>Thu, 13 Dec 2012 08:32:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=401#comment-4697</guid>
		<description><![CDATA[find position of first 0 bit and first 1 bit in the mask?]]></description>
		<content:encoded><![CDATA[<p>find position of first 0 bit and first 1 bit in the mask?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on diStorm-ARM by sai</title>
		<link>http://www.ragestorm.net/blogs/?p=395&#038;cpage=1#comment-4521</link>
		<dc:creator>sai</dc:creator>
		<pubDate>Wed, 14 Nov 2012 05:05:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=395#comment-4521</guid>
		<description><![CDATA[i expect it~this will be very useful for researching mobile security]]></description>
		<content:encoded><![CDATA[<p>i expect it~this will be very useful for researching mobile security</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on diStorm-ARM by doskey</title>
		<link>http://www.ragestorm.net/blogs/?p=395&#038;cpage=1#comment-4502</link>
		<dc:creator>doskey</dc:creator>
		<pubDate>Tue, 13 Nov 2012 10:58:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.ragestorm.net/blogs/?p=395#comment-4502</guid>
		<description><![CDATA[Great! Looking forward the ARM version.]]></description>
		<content:encoded><![CDATA[<p>Great! Looking forward the ARM version.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
