title: Two digit string number Assembly
body: <p>So I have to strings s1 and s2 and I have two obtain the string d that contains the maximum numbers for each of the positions of s1 and s2.</p>
  
  <p>For example:</p>
  
  <pre><code>S1: 1, 3, 6, 2, 3, 10
  
  S2: 6, 3, 11, 1, 2, 5
  
  D: 6, 3, 11, 2, 3, 10
  </code></pre>
  
  <p>So this is the code</p>
  
  <pre><code>bits 32
  global start
  extern exit,printf
  import exit msvcrt.dll 
  import printf msvcrt.dll
  segment data use32 class=data
      format db "%s",0
      s1 db "1","3","6","2","3","10"
      l equ $-s1
      s2 db "6","3" ,"11","1","2", "5"
      d times l db 0
  
  segment code use32 class=code
  start:
      mov esi,0
      mov edi,0
      cld
      Repeta:
          mov al,[s1+esi]
          mov bl,[s2+esi]
          cmp al,bl
          jg et1
          mov[d+edi],bl
          inc edi
          inc esi
          jmp et2
          et1:
              mov[d+edi],al
              inc edi
              inc esi
          et2:    
      cmp esi,l
      jne Repeta
      push d
      push format
      call[printf]
      add esp,4*2
  
  push dword 0 
  call [exit]
  </code></pre>
  
  <p>The problem is that when it reaches a double digit element(10 or 11) it takes only the first digit(1) and compares it with the number from the other string on the same position and after that it takes the second digit and compares it with the next number from the other string.
  How can I solve this?</p>