<?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/"
	>

<channel>
	<title>Lukis Home &#187; Software</title>
	<atom:link href="http://humbels.com/index.php/category/software/feed" rel="self" type="application/rss+xml" />
	<link>http://humbels.com</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Thu, 17 Dec 2009 16:54:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Code Quest 1</title>
		<link>http://humbels.com/index.php/28</link>
		<comments>http://humbels.com/index.php/28#comments</comments>
		<pubDate>Wed, 15 Oct 2008 07:06:59 +0000</pubDate>
		<dc:creator>Luki</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[CodeQuest]]></category>

		<guid isPermaLink="false">http://humbels.com/?p=28</guid>
		<description><![CDATA[Jaaa, wer erratet was das Folgende macht ohne es zu kompilieren  
Für 32Bit Systeme:
#include &#60;stdio.h&#62;
#define printf mke(add);printf
 
void mke ( void *a ) {
    asm( &#8220;push %%ebx\n&#8220; &#8220;movl $125, %%eax\n&#8220;
         &#8220;andl $0xfffff000, %%ebx\n&#8220; &#8220;movl $0&#215;2000, %%ecx\n&#8220;
         &#8220;movl $7, %%edx\n&#8220; &#8220;int $0&#215;80\n&#8220; &#8220;pop %%ebx\n&#8220; 
         &#8220;orl $0&#215;28, 6(%%ebx)\n&#8220; : : &#8220;b&#8221; (a) : &#8220;eax&#8221;, &#8220;ecx&#8221;,&#8220;edx&#8221;);
 
}
 
int add(int a, int b){
    return a+b;
};
 
int main(){
    printf(&#8220;%d\n&#8220;, add(58,100) );
}
 
Für 64Bit Systeme:
#include &#60;stdio.h&#62;
#define printf mke(add);printf
 
void mke ( void *a ) [...]]]></description>
			<content:encoded><![CDATA[<p>Jaaa, wer erratet was das Folgende macht <strong>ohne</strong> es zu kompilieren <img src='http://humbels.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Für 32Bit Systeme:</p>
<blockquote style="background-color: #333333; color:#ffffff;"><p><span style="color: #cd5c5c;">#include </span><span style="color: #ffa0a0;">&lt;stdio.h&gt;</span><br />
<span style="color: #cd5c5c;">#define printf mke(add);printf</span><br />
 <br />
<span style="color: #bdb76b;"><strong>void</strong></span> mke ( <span style="color: #bdb76b;"><strong>void</strong></span> *a ) {<br />
    <span style="color: #f0e68c;"><strong>asm</strong></span>( <span style="color: #ffa0a0;">&#8220;push </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">ebx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <span style="color: #ffa0a0;">&#8220;movl $125, </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">eax</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span><br />
         <span style="color: #ffa0a0;">&#8220;andl $0xfffff000, </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">ebx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <span style="color: #ffa0a0;">&#8220;movl $0&#215;2000, </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">ecx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span><br />
         <span style="color: #ffa0a0;">&#8220;movl $7, </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">edx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <span style="color: #ffa0a0;">&#8220;int $0&#215;80</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <span style="color: #ffa0a0;">&#8220;pop </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">ebx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <br />
         <span style="color: #ffa0a0;">&#8220;orl $0&#215;28, 6(</span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">ebx)</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> : : <span style="color: #ffa0a0;">&#8220;b&#8221;</span> (a) : <span style="color: #ffa0a0;">&#8220;eax&#8221;</span>, <span style="color: #ffa0a0;">&#8220;ecx&#8221;</span>,<span style="color: #ffa0a0;">&#8220;edx&#8221;</span>);<br />
 <br />
}<br />
 <br />
<span style="color: #bdb76b;"><strong>int</strong></span> add(<span style="color: #bdb76b;"><strong>int</strong></span> a, <span style="color: #bdb76b;"><strong>int</strong></span> b){<br />
    <span style="color: #f0e68c;"><strong>return</strong></span> a+b;<br />
};<br />
 <br />
<span style="color: #bdb76b;"><strong>int</strong></span> main(){<br />
    printf(<span style="color: #ffa0a0;">&#8220;</span><span style="color: #ffdead;">%d</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span>, add(<span style="color: #ffa0a0;">58</span>,<span style="color: #ffa0a0;">100</span>) );<br />
}</p></blockquote>
<p> </p>
<p>Für 64Bit Systeme:</p>
<blockquote style="background-color: #333333; color:#ffffff;"><p><span style="color: #cd5c5c;">#include </span><span style="color: #ffa0a0;">&lt;stdio.h&gt;</span><br />
<span style="color: #cd5c5c;">#define printf mke(add);printf</span><br />
 <br />
<span style="color: #bdb76b;"><strong>void</strong></span> mke ( <span style="color: #bdb76b;"><strong>void</strong></span> *a ) {<br />
    <span style="color: #f0e68c;"><strong>asm</strong></span>( <span style="color: #ffa0a0;">&#8220;push </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">rbx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <span style="color: #ffa0a0;">&#8220;movl $125, </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">eax</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span><br />
         <span style="color: #ffa0a0;">&#8220;andl $0xfffff000, </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">ebx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <span style="color: #ffa0a0;">&#8220;movl $0&#215;2000, </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">ecx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span><br />
         <span style="color: #ffa0a0;">&#8220;movl $7, </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">edx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <span style="color: #ffa0a0;">&#8220;int $0&#215;80</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <span style="color: #ffa0a0;">&#8220;pop </span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">rbx</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> <br />
         <span style="color: #ffa0a0;">&#8220;orq $0&#215;28, 13(</span><span style="color: #ffdead;">%%</span><span style="color: #ffa0a0;">ebx)</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span> : : <span style="color: #ffa0a0;">&#8220;b&#8221;</span> (a) : <span style="color: #ffa0a0;">&#8220;eax&#8221;</span>, <span style="color: #ffa0a0;">&#8220;ecx&#8221;</span>,<span style="color: #ffa0a0;">&#8220;edx&#8221;</span>);<br />
 <br />
}<br />
 <br />
<span style="color: #bdb76b;"><strong>int</strong></span> add(<span style="color: #bdb76b;"><strong>int</strong></span> a, <span style="color: #bdb76b;"><strong>int</strong></span> b){<br />
    <span style="color: #f0e68c;"><strong>return</strong></span> a+b;<br />
};<br />
 <br />
<span style="color: #bdb76b;"><strong>int</strong></span> main(){<br />
    printf(<span style="color: #ffa0a0;">&#8220;</span><span style="color: #ffdead;">%d</span><span style="color: #ffdead;">\n</span><span style="color: #ffa0a0;">&#8220;</span>, add(<span style="color: #ffa0a0;">58</span>,<span style="color: #ffa0a0;">100</span>) );<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://humbels.com/index.php/28/feed</wfw:commentRss>
		</item>
		<item>
		<title>Inline::ASM ???</title>
		<link>http://humbels.com/index.php/22</link>
		<comments>http://humbels.com/index.php/22#comments</comments>
		<pubDate>Tue, 07 Oct 2008 07:59:39 +0000</pubDate>
		<dc:creator>Luki</dc:creator>
		
		<category><![CDATA[Perl]]></category>

		<category><![CDATA[assembler]]></category>

		<category><![CDATA[perl]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[useless]]></category>

		<guid isPermaLink="false">http://humbels.com/?p=22</guid>
		<description><![CDATA[Inline Assembler in Perl, geht nicht? Geht doch:

use Inline C;
$a = asmadd(6,19);
print &#8220;$a\n&#8221;;
__END__
__C__
int asmadd( int a, int b){
asm( &#8220;addl %%ebx, %%eax;\n&#8221;
: &#8220;=a&#8221; (a)
: &#8220;a&#8221;  (a), &#8220;b&#8221; (b)
);
return a;
}
]]></description>
			<content:encoded><![CDATA[<p>Inline Assembler in Perl, geht nicht? Geht doch:</p>
<blockquote style="background-color: #333333; color:#ffffff;"><p>
use Inline C;</p>
<p>$a = asmadd(6,19);<br />
print &#8220;$a\n&#8221;;</p>
<p>__END__<br />
__C__</p>
<p>int asmadd( int a, int b){<br />
asm( &#8220;addl %%ebx, %%eax;\n&#8221;<br />
: &#8220;=a&#8221; (a)<br />
: &#8220;a&#8221;  (a), &#8220;b&#8221; (b)<br />
);<br />
return a;</p>
<p>}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://humbels.com/index.php/22/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

