<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[C äquivalent zu x86 asm]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Stück assembler:</p>
<pre><code>XOR EAX, EAX
MOV EAX, DL
MOV ECX, 20
DIV ECX
</code></pre>
<p>Ich möchte dies in C nachbauen ohne auf inline assembler zurückgreifen zu müssen.</p>
<pre><code>char byte = 0; // DL
unsigned int k = 20; // ECX

k / (unsigned int)byte
</code></pre>
<p>Generierter assembler:</p>
<pre><code>MOVSX EAX, DL // Mit sign extension :(
MOV ECX, 20
DIV ECX
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/308199/c-äquivalent-zu-x86-asm</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 02:04:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/308199.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Sep 2012 17:18:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 17:18:02 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Stück assembler:</p>
<pre><code>XOR EAX, EAX
MOV EAX, DL
MOV ECX, 20
DIV ECX
</code></pre>
<p>Ich möchte dies in C nachbauen ohne auf inline assembler zurückgreifen zu müssen.</p>
<pre><code>char byte = 0; // DL
unsigned int k = 20; // ECX

k / (unsigned int)byte
</code></pre>
<p>Generierter assembler:</p>
<pre><code>MOVSX EAX, DL // Mit sign extension :(
MOV ECX, 20
DIV ECX
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2252058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252058</guid><dc:creator><![CDATA[pronopaul]]></dc:creator><pubDate>Mon, 17 Sep 2012 17:18:02 GMT</pubDate></item><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 17:30:32 GMT]]></title><description><![CDATA[<p>pronopaul schrieb:</p>
<blockquote>
<pre><code>XOR EAX, EAX
</code></pre>
</blockquote>
<p>Wahnsinn, so setzt du den Wert von EAX auf 0?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2252062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252062</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Mon, 17 Sep 2012 17:30:32 GMT</pubDate></item><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 17:34:51 GMT]]></title><description><![CDATA[<p>Macht der Compiler. Hast du auch eine Antwort parat, die hilfreich ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2252065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252065</guid><dc:creator><![CDATA[pronopaul]]></dc:creator><pubDate>Mon, 17 Sep 2012 17:34:51 GMT</pubDate></item><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 17:40:54 GMT]]></title><description><![CDATA[<p>Wieso eine Division durch Null nachbauen?</p>
<pre><code>XOR EAX, EAX 
MOV EAX, DL
</code></pre>
<p>Wenn EAX sowieso einen anderen Wert bekommt, wieso dann vorher mit Null fuellen?</p>
<blockquote>
<p>Ich möchte dies in C nachbauen ohne auf inline assembler zurückgreifen zu müssen.</p>
</blockquote>
<p>Warum? Darueber hinaus optimiert der Compiler so einfache Faelle und ersetzt offensichtliches durch Konstanten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2252067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252067</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 17 Sep 2012 17:40:54 GMT</pubDate></item><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 17:39:22 GMT]]></title><description><![CDATA[<p>Die Initalisierung mit 0 habe ich aus Reflex gemacht. Bitte wegdenken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2252070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252070</guid><dc:creator><![CDATA[pronopaul]]></dc:creator><pubDate>Mon, 17 Sep 2012 17:39:22 GMT</pubDate></item><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 17:54:32 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">unsigned bob = irgendein wert;  // dl 
unsigned sup = 20;
var = bob / sup;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2252074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252074</guid><dc:creator><![CDATA[DerComputerVeteran]]></dc:creator><pubDate>Mon, 17 Sep 2012 17:54:32 GMT</pubDate></item><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 17:55:39 GMT]]></title><description><![CDATA[<p>Hosasa, beim ersten Post hab ich mich verschrieben.</p>
<pre><code class="language-cpp">unsigned bob = irgendein wert;  // dl 
unsigned sup = 20;
bob = bob / sup;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2252076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252076</guid><dc:creator><![CDATA[DerComputerVeteran]]></dc:creator><pubDate>Mon, 17 Sep 2012 17:55:39 GMT</pubDate></item><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 17:57:47 GMT]]></title><description><![CDATA[<p>Herr Gott gleich werd ich aber leicht Grantig !</p>
<pre><code class="language-cpp">unsigned char bob = irgendein wert;  // dl 
unsigned sup = 20;
bob = bob / sup;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2252078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252078</guid><dc:creator><![CDATA[DerComputerVeteran]]></dc:creator><pubDate>Mon, 17 Sep 2012 17:57:47 GMT</pubDate></item><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 18:07:57 GMT]]></title><description><![CDATA[<p>DerComputerVeteran schrieb:</p>
<blockquote>
<p>Herr Gott gleich werd ich aber leicht Grantig !</p>
<pre><code class="language-cpp">unsigned char bob = irgendein wert;  // dl 
unsigned sup = 20;
bob = bob / sup;
</code></pre>
</blockquote>
<p>Abgesehen davon, dass Identifier keine Leerzeichen enthalten dürften.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2252084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252084</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Mon, 17 Sep 2012 18:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to C äquivalent zu x86 asm on Mon, 17 Sep 2012 18:13:49 GMT]]></title><description><![CDATA[<p>Das sollte kein Identifier sein sondern ein Beispiel les es einfach als &quot;Pseudocode&quot;.</p>
<p>Vielleicht ist es jetzt deutlicher was ich sagen will:</p>
<pre><code class="language-asm">XOR EAX, EAX
MOV EAX, DL   ; DL = irgendein wert
MOV ECX, 20
DIV ECX
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2252087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2252087</guid><dc:creator><![CDATA[DerComputerVeteran]]></dc:creator><pubDate>Mon, 17 Sep 2012 18:13:49 GMT</pubDate></item></channel></rss>