x86内联汇编程序标志

时间:2009-06-23 16:37:15

标签: c assembly x86 inline-assembly

愚蠢的问题,但我在gcc中找不到必要的标志。基本上,我在我的C程序中有以下内联汇编程序代码

__asm__ __volatile__ ("lea ebx, [timings] \n\t");

编译时,我得到一个错误消息,上面写着:Error: invalid char '[' beginning operand 2 [时间]'``

现在我记得很久以前我使用某种标志告诉编译器它是x86内联汇编。但无法在网上找到它,也许有人请告诉我哪个国旗我必须使用?

非常感谢你!

2 个答案:

答案 0 :(得分:6)

您无法使用GCC指定变量。有关如何使用内联汇编程序的详细说明,请参阅this document。另外,请记住,GCC使用AT& T语法,而不是Intel语法,因此您必须将目的地放在右侧。

答案 1 :(得分:-2)

请尝试使用__asm__。查看here了解更多信息。

另外,尝试从汇编代码中删除\ n \ t。