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
    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
    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
    Terrible, merci! :)
    Terrible, merci!
    DBBB

###raw>template_hook.ano_emploi###