我正在转换MS的简单汇编代码与gcc一起使用,我尝试转换的MS汇编就在下面。我有两个int
变量,number
和_return
:使用内联汇编与GCC
mov eax, number
neg eax
return, eax
和,我已经试过这样:
asm("movl %eax, %0" :: "g" (number));
asm("neg %eax");
asm("movl %0, %%eax" : "=g" (return));
但是,编译器给了我这个错误:
main.c:17:9: error: invalid 'asm': operand number missing after %-letter
在哪里错误,以及,我如何解决这个错误? 谢谢
看到生成汇编,我看到:...“MOV \t DWORD PTR [ESP + 24],0。 ..“%eax,ebx”...“”neg%eax“”movl ebx,%eax“(该变量是错误的:() – Alexandre 2013-02-27 14:02:23
我现在测试了这些。两者都有效。 – ams 2013-02-27 14:07:15
我只是研究:) – Alexandre 2013-02-27 14:08:51