Palindrome En Assembleur

bugs2600 Messages postés 14 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 6 septembre 2008 - 29 janv. 2003 à 15:21
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 - 29 janv. 2003 à 17:29
Quelqu'un pourrait-il m'aider, je suis débutant en asm et je dois faire un programme qui vérifie si il s'agit d'un palindrome ou non avec un mot et une phrase entrés au clavier!

1 réponse

JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
29 janv. 2003 à 17:29
Demande plutôt sur un forum assembleur.
Mes souvenirs en assemebleur, sont un peu loin, alors il y a surement mieux à faire. Si je me souviens bien le caractère de fin de chaîne à pour code 00 (en hexa)
Donc tu as une chaîne, tu as un pointeur au début, disons stocker dans le registre AX.
On va charcher le dernier caractére, pour pointer dessus.
mov AX,DX (DX <-- AX, je ne rapel plus  le sens d'écriture de mov)
[ boucle1 ]
inc DX
comp [DX],0 (est on à la fin de la chaîne ?)
jnz boucle1 (Non, alors on saute à boucle 1)
[ boucle2 ]
dec DX
comp [ax],[dx], le carctére de fin et de début sont les même ?)
jnz non (si c'est faux on a terminer)
inc ax;
comp ax,dx (pointe-ton sur le même caractère)
jn boucle2 (si c'est inférireur, on passe au caractére suivant)
(ici on renvoie oui, c'est un palindrome)
[ non ]
(ici on renvoie , non ce n'est pas un palindrome)


Comme tu vois mon assemebleur est assez loin, et surement vieux, ca fait bien dix ans que j'en ai pas fait, mais je pense que ça peut t'aider.
J'ai mit en commentaire, pour que tu puisse changer par les bonnes instructions au cas ou j'ai mélangé ou inventé des symboles.

JHelp
0
Rejoignez-nous