Cryper une chaine de caractere [Asm] - ASM - Programmation
Marsh Posté le 26-10-2008 à 13:20:54
Merci pour ta réponse
Mais la seule opération que je connaisse pour additionner est "add", ca ne fonctionne pas avec un caractère
S'il y en a une autre, pourrais tu me la montrer dans un exemple ?
Marsh Posté le 26-10-2008 à 13:33:19
Code :
|
edit: peut-etre que ton assembleur va refuser le add sur la variable directement, dans ce cas commence par charger l'adresse dans un registre
Marsh Posté le 26-10-2008 à 17:18:44
kal747 a écrit : Merci pour ta réponse |
c'est quoi comme assembleur ? un caractère c'est généralement une valeur sur 8 bits, si ton processeur ne sait pas additionner une valeur de 8 bits alors i faut d'abord charger ton caractère dans un registre plus grand.
Marsh Posté le 26-10-2008 à 21:36:44
Hum je ne pense pas que j'utilise la meme version que ce que vous dites
Je débute en assembleur :s
Je sais qu'a mon IUT, on a une librairie qui s'appel IUTinfo.inc
Je vous montre comment j'inverse le mot deja :
INCLUDE IUTInfo.inc
.data
msg BYTE "mot a crypter",0
.code
main PROC
call Clrscr
mov ecx,sizeof msg
sub ecx,1
mov esi,0
bcl:
mov al,msg[esi]
push eax
inc esi
loop bcl
mov ecx,sizeof msg
sub ecx,1
bcl1:
pop eax
call writechar
loop bcl1
exit
main ENDP
END main
(Writechar est dans la librairie, cela sert a afficher à l'ecran ce qui est contenu dans eax)
Donc pour ajouter 4 a chaque caractère, avant d'affichier, je doit affaire add eax,4 ?
(Je viens de tester, en effet ca fonctionne) je vous remercie pour votre aide
Bonne soirée
Marsh Posté le 19-10-2008 à 19:42:24
Bonsoir a tous,
Voilà je galère sur un TP d'assembleur
Je dois réaliser un petit programme qui demande a l'utilisateur d'entrer une chaine de caractère (ca c'est bon), d'inverser cette chaine (ça va toujours)
Mais ensuite d'après l'énoncé du prof "PRENDRE LA VALEUR ASCII DE CHAQUE CARACTÈRE DE LA CHAINE ET LUI AJOUTER +4"
Et là je ne vois pas comment je peux procéder
Je sais comment je peux prendre les élément 1 par 1 mais pour leurs ajouter 4 je ne sais pas
Merci de m'éclairer
Bonne soirée