title: assembly leal and movl difference
body: <pre><code>leal(%eax,%ecx,4), %edx
  </code></pre>
  
  <p>as I was reading from my computer systems book,
  if there`s premises that $eax contains x value and %ecx contains y,
  then the above means, x+4y putting into %edx.</p>
  
  <p>then if it is</p>
  
  <pre><code>movl(%eax,%ecx,4), %edx
  </code></pre>
  
  <p>, then isn`t the same one with leal expression above?</p>
  
  <p>As I know, leal creates address that can be referenced,not referencing by itself like movl, but </p>
  
  <p>when I saw <code>leal(%eax,%ecx,4), %edx</code> equals putting <code>x+4y</code> into <code>edx</code> register,
  then doesn<code>t it mean that it 'referenced'</code>%eax<code>and</code>%ecx` and extracted value x and y for using computation??</p>
  
  <ul>
  <li>doesn`t it "()" means 'referenced'??</li>
  </ul>