title: Addl instruction explanation
body: <p>I'm studying assembly language and can't resolve the following exercise myself.</p>
  
  <p>Assume the following values are stored at the indicated memory addresses and registers:</p>
  
  <p><a href="https://i.stack.imgur.com/WVGoy.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/WVGoy.png" alt="enter image description here"></a></p>
  
  <p>Now,  we have an instruction:</p>
  
  <p><code>addl %ecx , (%eax)</code></p>
  
  <p>For me it means - storing the result of addition of values stored in %ecx and in memory address (%eax), in a memory address <code>(%eax)</code>.</p>
  
  <p>Correct answer for that exercise is :
  Value 0x100 and destination address 0x100.</p>
  
  <p>I understand that right operand is destination address, but how did we get value of <code>0x100</code> by the calculation <code>%ecx</code> + <code>(%eax)</code>?</p>