title: NASM Assembly Fibonacci (print error)
body: <p>This code works printing from 0 to 8, but then it keeps printing trash, but its always the same characters, the ouput is 0 1 1 2 3 5 8 = E R g etc.</p>
  
  <p>I dont know if i asked right or if i made another mistakes in the post, is my first question, sorry and thanks for reading</p>
  
  <pre><code>SECTION .data
      lim: dw 10000
      lim_l: equ $-lim
      enter: db "",10
      enter_l: equ $- enter
  SECTION .bss
      num_a   resw 16         ;Var a
      num_b   resw 16 ;Var b
      num_c   resw 16     ;Var c 
  SECTION .text
      global main:
  main:
  
  mov word[num_a], 0  ;asignar 0
  mov word[num_b], 1  ;asignar 0
  
  add word[num_a],'0' ;se hace esto para poder imprimir en modo cadena
  add word[num_b],'0' ;se hace esto para poder imprimir en modo cadena
  
  mov eax, 4      ;Proceso mensaje
  mov ebx, 1      
  mov ecx, num_a      
  mov edx, 16
  
  int 80h
  
  mov eax, 4      ;Proceso mensaje
  mov ebx, 1  
  mov ecx, enter
  mov edx, enter_l
  
  int 80h
  
  mov eax, 4      ;Proceso mensaje
  mov ebx, 1  
  mov ecx, num_b
  mov edx, 16
  
  int 80h
  
  mov eax, 4      ;Proceso mensaje
  mov ebx, 1  
  mov ecx, enter
  mov edx, enter_l
  
  int 80h
  </code></pre>
  
  <p>LOOP </p>
  
  <pre><code>ciclo:
      mov ebx, [num_b]    ;se guarda el valor de b en ebx
      mov [num_c],ebx     ;se almacena el valor de b en c
      sub ebx, '0'        ;se susbtrae el 0 para convertir en decimal
      mov eax, [num_a]    ;se guarda el valor de a en eax
      sub eax, '0'        ;se substrae el 0 para convertir en decimal
  
      ; c ya esta guardada y eax junto con ebx ya tienen su valor asignado
  
      add ebx, eax        ;se suma eax y ebx y se almacena en ebx
      add ebx, '0'        ;se agrega 0 para convertir en cadena
      add eax, '0'
  
      mov eax,[num_c]     ;salvando
      mov [num_a],eax     ;guardo el resultado de c (que antes era el b) en a
      mov [num_b],ebx     ;guardo el resultado de la suma en b (que sera el siguiente numero a sumar)
  
      ; num_c sigue en cadena, num_b esta en cadena, ,num_a en cadena, y los siguientes valores ya estan guardados
  
      mov eax, 4          ;Proceso mensaje
      mov ebx, 1  
      mov ecx, num_b
      mov edx, 1
  
      int 80h
  
      mov eax, 4      ;Proceso mensaje
      mov ebx, 1  
      mov ecx, enter
      mov edx, enter_l
  
      int 80h
  
      mov eax,[num_c]
      sub eax,'0'
      mov ebx,[lim]
      cmp eax,ebx
      jle ciclo
  </code></pre>
  
  <p>What am i doing wrong?</p>