title: call subroutines conditionally in assembly
body: <p>I'm learning x86 assembly. I was wondering how you perform call a subroutine conditionally.
  As far as I understand, jumping to a label doesn't work because the return address is not stored and therefore it does not know where to return.</p>
  
  <pre><code> cmp bx, 0
   jz zero ; how do I do this correctly ?
   ; do something else and exit
  
   zero:
   ; do something
   ret
  </code></pre>