title: cmp and ja question
body: <p>I'm having problems understanding this. It's in intel syntax</p>
  
  <pre><code>cmp eax, 0x19
  ja greater
  </code></pre>
  
  <p>eax contains the value -40. <a href="http://en.wikibooks.org/wiki/X86_Assembly/Control_Flow" rel="nofollow">http://en.wikibooks.org/wiki/X86_Assembly/Control_Flow</a> tells me ja is the unsigned comparison from the previous cmp.</p>
  
  <p>As far as I know, this should jump IF arg1 (0x19) is ABOVE arg2 (0xffffffd8)</p>
  
  <p>0x19 looks smaller than 0xffffffd8 to me. The jump is being performed. Any help understanding my flawed logic much appreciated!</p>