Bonjour,
Voici mon problème :
J'ai un exercice où je dois dédoubler une chaîne de caractère :
Ex : a b c a devient a b c a a b c a
L'énoncé me dit que BX pointe vers la chaîne à traiter et CX contient sa taille.
Mon code est :
Le problème c'est qu'il faudrait pour bien faire que :Code:section.txt mov SI , 0 : Si va me permettre de parcourir ma chaîne. cmp CX , 0 : Je vérifie que ma chaine existe JE FIN : Si CX=0 , je vais à FIN. Boucle: add BP,SI : Je place SI dans BP pour pouvoir faire des opérations sans perdre SI par la suite mov AX, [BX+SI] : Je place dans AX la case courante de la chaine Add BP,CX : BP=BP+CX pour savoir où réecrire le caractère courant Mov [BP],AX : Je place ma case courant à la suite de la chaine , à la case valeur de BP INC SI : J'incrémente SI pour passer à la case suivante de ma chaine Loop Boucle Fin: ret
en début de boucle BP pointe vers la première case de la chaine.
et que avant d'incrémenter SI à la fin de la boucle, il faut remettre BP en début de chaine.
Avez-vous une idée de comment faire ?
Est-ce que mon code semble correct ?
Merci d'avance,
Maxime 10
-----