title: How exactly does the x86 LOOP instruction work?
body: <pre><code>            mov    ecx, 16
  looptop:    .
              .
              .
              loop looptop
  </code></pre>
  
  <p>How many times will this loop execute?</p>
  
  <p>What happens if <code>ecx = 0</code> to start with?  Does <code>loop</code> jump or fall-through in that case?</p>