youdontcare a écrit :
caractère : '0', son code ascii : '48'
caractère : '1', son code ascii : '49'
caractère : '2', son code ascii : '50'
etc, jusqu'à
caractère : '9', son code ascii : '57'
Donc pour un caractère que tu lis : si son code est dans [48, 57] c'est un nombre. tu peux donc enlever 48 à son code pour trouver le nombre :
mov al, '5'
sub al, 48 (ou sub al, '0' si ça marche, me souviens plus)
/// al vaut maintenant 5
donc :
Tu boucles de gauche à droite sur ton code texte : 1, puis 2, puis 0. Il faut prendre en compte le décalage des dizaines.
variable résultat = 0
pour chaque nombre
résultat = résultat*10 + nombre - '0'
Si on itère, on voit :
résultat = 0*10 + '1' - '0' = 1
résultat = 1*10 + '2' - '0' = 12
résultat = 12*10 + '0' - '0' = 120
|