title: Difference between 07h and 08h services of INT 21h in 8086 assembly
body: <p>Both the services (07h and 08h) of INT 21h have the same purpose (console input without echo) as mentioned in <a href="http://spike.scu.edu.au/~barry/interrupts.html" rel="nofollow noreferrer">DOS INT 21h</a>. But it also mentions a small difference which is <strong>07h does not check ^C/^Break while as 08h does</strong>.</p>
  
  <p>Looking it up on the Internet I found that <a href="https://en.wikipedia.org/wiki/Break_key" rel="nofollow noreferrer">^C/^Break</a> in modern keyboards is enforced with the <kbd>Ctrl</kbd> + <kbd>NumLock</kbd> key combinations. So I did that on both of the services and guess what both of them terminate. But the documentation says 07h shouldn't. So what is the difference between the two then?</p>
  
  <p><strong>My Code:</strong></p>
  
  <pre><code>   .model small
     .data
     .code
     .startup
  
          mov ah, 08h ; or mov ah, 07h
          int 21h
  
          mov ah, 04ch
          int 21h
  
     end
  </code></pre>