title: Intel x86 assembly - lt, gt, eq
body: <p>I am trying to write a translator that translates VM language in Intel x86 assembly language (MASM). Unfortunately I cannot find a proper translation for lt (less than), gt (greater than) or eq (equal), but I would expect that there is something like that in the instruction set.
  The closest thing I could find was cmp (compare) followed by a conditioned jump. But nothing without a jump.</p>
  
  <p>For example when I want to translate if (x>1 and x&lt;3) do ... the VM code looks something like </p>
  
  <pre><code>push local 0
  push constant 1
  gt
  push local 0
  push constant 3
  lt
  and
  if-goto IF_TRUE0
  </code></pre>
  
  <p>my problem is now that I don't know how to translate that gt and lt as they are not directly followed by a jump, but rather are both part of a single jump condition.</p>