8
我不完全知道這是什麼add
指令做:我不完全知道這是什麼的x86指令添加在做
add 0x0(%rbp,%rbx,4),%eax
如果它是:
add %rbx,%eax
我知道會將rbx
的內容和eax
中的內容相加,並將它們存回eax
。然而,0x0(%rbp,%rbx,4)
正在拋棄我。
我不完全知道這是什麼add
指令做:我不完全知道這是什麼的x86指令添加在做
add 0x0(%rbp,%rbx,4),%eax
如果它是:
add %rbx,%eax
我知道會將rbx
的內容和eax
中的內容相加,並將它們存回eax
。然而,0x0(%rbp,%rbx,4)
正在拋棄我。
這是因爲它很愚蠢&混淆AT & T語法。
在正常的英特爾語法中,它是add eax,dword ptr[rbp+4*rbx+0]
即將rbp + 4 * rbx中的雙字添加到eax。
+1 AT&T語法很糟糕,避免它像鼠疫一樣。 – Johan
僅供參考:[地址操作數語法](http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax#Address_operand_syntax)。 – outis