2012-12-04 54 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,你發佈的好東西。 –