Meaning of (%eax) in AT&T syntax?

Viewed 21848

You'll have to excuse me, I'm brand new to x86 assembly, and assembly in general.

So my question is, I have something like:

addl %edx,(%eax)

%eax is a register which holds a pointer to some integer. Let's call it xp

Does this mean that it's saying: *xp = *xp + %edx? (%edx is an integer)

I'm just confused where addl will store the result. If %eax is a pointer to an int, then (%eax) should be the actual value of that int. So would addl store the result of %edx+(%eax) in *xp? I would really love for someone to explain this to me!

I really appreciate any help!

1 Answers
Related