我不确定这条add
指令在做什么:
add 0x0(%rbp,%rbx,4),%eax
如果是:
add %rbx,%eax
我知道它会添加rbx
的内容和eax
中的内容,并将其存储回eax
。但是,0x0(%rbp,%rbx,4)
让我失望。
答案 0 :(得分:15)
那是因为它是愚蠢和混乱的AT& T语法
在正常的英特尔语法中,它是add eax,dword ptr[rbp+4*rbx+0]
,即将rbp + 4 * rbx中的dword添加到eax。