2012-12-04 28 views
1

我的内联汇编代码与C编译期间得到了一个错误:没有这样的指令:DD 0

no such instruction:dd 0;

这里是我的代码:

asm(
      ".data" 
      "big: dd 0\n" 
      ".text\n"    
      "mov out1,%eax\n" 
      "add %eax,out2"  
     ); 

我试图创建一个双字变量,稍后我将为其分配out2(这是c变量)。任何人都可以帮忙吗?

+0

'dw'是否有效?尝试4个。 –

+0

Dw不工作,dword也是如此。 –

回答

4

使用这个符号:

 .quad 0 

.quad指令,可以声明常数四字(8个字节)。

欲了解更多信息,请参阅GNU as手册。

+0

我想''.long'是'dd'。 –

+0

是否可以用long来表示十六进制值? –

+0

@FrankKotler:其实.quad,你发布的好东西。 –