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

Assembleur Discussion :

Inverser une chaîne de caractères


Sujet :

Assembleur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    juillet 2002
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2002
    Messages : 60
    Points : 47
    Points
    47
    Par défaut Inverser une chaîne de caractères
    Qql pourrait me montrer comment inverser une chaine de caractère SVP?
    DBBB

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    juillet 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2002
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    ben une façon assez simple, c'est de parcourir toute la chaine, jusqu'a parvenir au caractère null, de fin de chaine, et après avec un pointeur sur la tête et un autre sur la queue, tu permutes les caractères....c'est pas plus bête que cela

    Voilà ce que ça donne, sous Tasm :
    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
     
    .MODEL SMALL
    .STACK 256
    .DATA
    chaine DB "Bonjour tout le monde $"
    .CODE
    START:
     
    	mov	ax, @DATA
    	mov	ds, ax
    	mov	si, offset chaine
     
    trouve_null:
    	cmp	byte ptr ds:[si], '$'
    	je	permut
    	inc	si
    	jmp	trouve_null
     
    permut:
    	dec	si
    	mov	di, offset chaine
    .p1:
    	cmp	di, si
    	jae	.p2
    	mov	ah, ds:[si]
    	mov	al, ds:[di]
    	mov	ds:[si], al
    	mov	ds:[di], ah
    	inc	di
    	dec	si
    	jmp	.p1
    .p2:	
    	mov	ah,09h
    	mov	dx, offset chaine
    	int	21h
     
     
    	mov	ax, 4c00h
    	int	21h
     
    END START
    donc ca ça marche sous dos, a + mec

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    juillet 2002
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2002
    Messages : 60
    Points : 47
    Points
    47
    Par défaut Terrible, merci! :)
    Terrible, merci!
    DBBB

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Inverser une chaîne de caractères
    Par zbooon dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 28/04/2017, 14h44
  2. Inversion d'une chaîne de caractères
    Par camoa dans le forum x86 16-bits
    Réponses: 7
    Dernier message: 31/10/2011, 14h56
  3. Réponses: 3
    Dernier message: 27/05/2010, 00h39
  4. Inverser une chaîne de caractères
    Par Nyko17 dans le forum x86 16-bits
    Réponses: 1
    Dernier message: 10/05/2008, 20h45
  5. Réponses: 3
    Dernier message: 24/10/2007, 02h47

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