【发布时间】:2014-12-28 17:24:56
【问题描述】:
我正在尝试重写这个sn-p以在visual studio中工作,但我显然不明白如何使用冒号的目的和__volatile__的含义,
你能提供一些帮助吗:)?
__asm__ __volatile__ (
"mov %0, %%edi\n"
"xor %%eax, %%eax\n"
"xor %%ecx, %%ecx\n"
"dec %%ecx\n"
"repne scasb\n"
"sub %%ecx, %%eax\n"
"dec %%eax\n"
:
: "m" (src)
: "memory", "%ecx", "%edi", "%eax");
谢谢!
【问题讨论】:
-
First hit on Google。您实际上是在要求我们总结该页面吗?
-
不行,我自己尝试了好几种方法都没有成功,所以我把原代码贴在这里..
-
这看起来很像
strlen()或类似的。你为什么要打扰而不使用普通的循环或适当的现有替代品? -
包括你失败的尝试,有人可能会指出你出错的地方并解释原因。
-
我认为这不应该被关闭。 GCC 和 Visual Studio 内联汇编器是完全不同的,所以这个问题一点也不小。