问题
I'm not exactly sure what this add
instruction is doing:
add 0x0(%rbp,%rbx,4),%eax
If it were:
add %rbx,%eax
I know it would add the contents of rbx
and the contents in eax
and store them back into eax
. However, the 0x0(%rbp,%rbx,4)
is throwing me off.
回答1:
That's because it's stupid&confusing AT&T syntax.
In normal Intel syntax it's add eax,dword ptr[rbp+4*rbx+0]
ie add the dword at rbp+4*rbx to eax.
来源:https://stackoverflow.com/questions/7544672/im-not-exactly-sure-what-this-x86-add-instruction-is-doing