title: Assembler - How to pass integer to printf?
body: <p>I saw two diffrent way to pass integer in assmbler: the one by [eax], the second by eax. 
  I'll give an example:</p>
  
  <pre><code>section .rodata
  print_int_str: "%d"
  %macro     print_int  1
       push %1
       push print_int_str
       call printf
       add esp, 8
  %endmacro
  </code></pre>
  
  <p>as I understood, we can use <code>print_int eax</code>, and also <code>print_int [eax]</code>.</p>
  
  <p>What is the difrrence between them?</p>