title: Ascii to hex conversion
body: <p>I am working on a code for addition of n hexadecimal numbers.
  This is the part of code I am not getting</p>
  
  <pre><code>packnum:
  
  xor bl,bl
  
  mov ecx,02      ; For two digit numbers
  
  mov esi,numascii
  
  
  up1:
  
  rol bl,04           ; Multiply by 10
  
  mov al,[esi]
  
  cmp al,39h
  
  jbe skip
  
  sub al,07h
  
  
  skip:
  sub al,30h
  
  add bl,al
  
  inc esi
  
  loop up1
  
  ret
  </code></pre>
  
  <p>Why compare al with 39h?
  And if not equal why subtract 07h from al? Is this ascii to hex conversion?</p>