title: assembly code explaination
body: <p>its a program which prints hello world 
  i am newbie in assembly and i was reading Reverse engineering for beginners (the code belongs there )
  i am just confused </p>
  
  <p>what is </p>
  
  <ol>
  <li><p>var_10 = dword ptr -10h</p></li>
  <li><p>why and esp and 0fff.... ?</p></li>
  <li>what is happening in mov [esp+10h+var_10], eax ?</li>
  </ol>
  
  <p>and .... :)))
   i would be appreciative if some one explain it in more detail </p>
  
  <p>thnx </p>
  
  <hr>
  
  <pre><code>main proc near
  var_10 = dword ptr -10h
  push ebp
  mov ebp, esp
  and esp, 0FFFFFFF0h
  sub esp, 10h
  mov eax, offset aHelloWorld ; "hello, world"
  mov [esp+10h+var_10], eax
  call _printf
  mov eax, 0
  leave
  retn
  main endp
  </code></pre>
  
  <p>and another question that i have  ive seen a lot things like this <code>$SG3830 DB ’a=%d; b=%d; c=%d’, 00H</code>  what is it doing ?  what is 00H ? </p>