我正在轉換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