문제

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.

도움이 되었습니까?

해결책

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top