title: What is the difference between stack and stack frame?
body: <p>Here is the code I have:</p>
  
  <pre><code>17 mov      ebx,msg
  18 mov      edx,5   
  19 push     ebx
  </code></pre>
  
  <p>I am debugging with gdb and here is the output I have:</p>
  
  <pre><code>Breakpoint 1, print () at hello.asm:17
  (gdb) info register sp 
  sp: 0xbffff37c
  (gdb) info stack
  #0  print () at hello.asm:17
  
  (gdb) step
  (gdb) info register sp
  sp: 0xbffff37c
  (gdb) info stack
  #0  print () at hello.asm:18
  
  (gdb) step
  (gdb) info register sp
  sp: 0xbffff378
  (gdb) info stack
  #0  print () at hello.asm:19
  </code></pre>
  
  <p>Well obviously </p>
  
  <pre><code>push ebx
  </code></pre>
  
  <p>'decrements' the <strong>register sp</strong> by 4 bytes.. However when I type</p>
  
  <pre><code>info stack
  </code></pre>
  
  <p>I am still seeing print() at hello.asm:19</p>
  
  <p>My question is, what is info stack showing me, and what is info register sp showing me? What is the relation between the stack register and the info stack? </p>