2011-09-25 24 views
8

我不完全知道這是什麼add指令做:我不完全知道這是什麼的x86指令添加在做

add 0x0(%rbp,%rbx,4),%eax 

如果它是:

add %rbx,%eax 

我知道會將rbx的內容和eax中的內容相加,並將它們存回eax。然而,0x0(%rbp,%rbx,4)正在拋棄我。

+0

僅供參考:[地址操作數語法](http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax#Address_operand_syntax)。 – outis

回答

15

這是因爲它很愚蠢&混淆AT & T語法。
在正常的英特爾語法中,它是add eax,dword ptr[rbp+4*rbx+0]即將rbp + 4 * rbx中的雙字添加到eax。

+7

+1 AT&T語法很糟糕,避免它像鼠疫一樣。 – Johan

相關問題