<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace"><span style="font-family:arial">2014-09-13 0:28 GMT+08:00 Dmitry Boyarintsev </span><span dir="ltr" style="font-family:arial"><<a href="mailto:skalogryz.lists@gmail.com" target="_blank">skalogryz.lists@gmail.com</a>></span><span style="font-family:arial">:</span><br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">You're compiling for x64, You need to replace "eax" and "edx" with "rax" and "rdx", since e?x are available for i386 only.<br><br></div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:'courier new',monospace">My situation is, I program and test on Ubuntu x64 on a i3-M390. Then compile it to Windows 32bit on a VirtualBox on this machine, then run it on a Windows 32bit running on a rather old pentium dual core (T-something, I don't know if it is 32bit or 64bit processor).</div><div class="gmail_default" style="font-family:'courier new',monospace"><br></div><div class="gmail_default" style="font-family:'courier new',monospace">regarding e?x vs. r?x, is it only related to the CPU, or also has something to do with the OS (32bit or 64bit)?  How to do "conditional compiling" for assembly code?</div><br></div></div></div></div>