IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 32-bits / 64-bits Assembleur Discussion :

Substitution de lettres par leur symétrique dans l'alphabet


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Invité
    Invité(e)
    Par défaut Substitution de lettres par leur symétrique dans l'alphabet
    Bonjour,

    j'aimerais modifier un programme mais je bloque un peu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    %include "iut.inc"
     
    global start
     
    segment .text
     
    start:
    	mov	eax,msg1
    	call	write_string
    	mov	eax,tampon
    	mov	ebx,1000
    	call	read_string
    .choix:	mov	eax,msg2
    	call	write_string
    	call	read_char
    	cmp	al,'c'
    	je	.code
    	cmp	al,'d'
    	je	.decode
    	jmp	.choix
    .code:	call	coder
    	jmp	.suite
    .decode:call	decoder
    	jmp	.suite
    .suite:	mov	eax,msg3
    	call	write_string
    	mov	eax,tampon
    	call	write_string	
    	ret
     
    coder:	mov	eax,tampon
    	mov	ebx,clair
    	mov	ecx,code
    	call	codec
    	ret
     
    decoder:mov	eax,tampon
    	mov	ebx,code
    	mov	ecx,clair
    	call	codec
    	ret
     
    codec:	mov	edx,eax
    .suite:	mov	al,[edx]
    	cmp	al,0
    	je	.fini
    	call	cherche
    	mov	al,[ecx+eax]
    	cmp	al,0
    	je	.saute
    	mov	[edx],al
    .saute:	inc	edx
    	jmp	.suite
    .fini:	ret
     
    cherche:push	ecx
    	mov	ecx,0
    .encore:mov	ah,[ebx+ecx]
    	cmp	al,ah
    	je	.fini
    	cmp	ah,0
    	je	.fini
    	inc	ecx
    	jmp	.encore
    .fini:	mov	eax,ecx
    	pop	ecx
    	ret
     
    segment .data
     
    msg1:	db	"Donnez le message a coder ou a decoder.",10,0
    msg2:	db	"c - coder",10,"d - decoder",10,0
    msg3:	db	"Le resultat du codage/decodage est :",10,0
    clair:	db	"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?,.%*",0
    code:	db	"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz9876543210?!.,*%",0
     
    segment	.bss
    tampon:	resb	1000
    A la base , je voudrais faire un programme qui substitue chaque lettre minuscule, une par une, par celle symétrique dans l’alphabet (ex : a donne z, b donne y, c donne x…), et qui affiche, au final, le message codé.

    Or ici , cela me change les minuscules en majuscules et les majuscules en minuscules.
    En c++, il y a std::iterator qui parcourt la chaîne de caractères mais ici, je ne vois pas comment je peux faire ça.

    Merci de votre aide
    Dernière modification par Alcatîz ; 01/01/2013 à 17h48. Motif: orthographe

  2. #2
    Invité
    Invité(e)
    Par défaut
    Résolu , à lock
    Dernière modification par Invité ; 04/01/2013 à 19h10.

Discussions similaires

  1. [RegEx] Substituer des clé par leurs valeur dans une chaine
    Par marcha dans le forum Langage
    Réponses: 6
    Dernier message: 02/07/2010, 15h53
  2. Remplacer une lettre par une autre dans une cellule
    Par Philippe76 dans le forum Excel
    Réponses: 1
    Dernier message: 09/01/2010, 21h26
  3. Réponses: 11
    Dernier message: 06/04/2009, 01h46
  4. Substitution de textes par des images dans Word
    Par Unusual dans le forum Delphi
    Réponses: 2
    Dernier message: 19/03/2007, 17h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo