Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
895 connectés 

  FORUM HardWare.fr
  Programmation
  ASM

  les chaines de caracteres en assembleur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

les chaines de caracteres en assembleur

n°1719459
fatiana
Posté le 17-04-2008 à 20:37:15  profilanswer
 

bonjour,
je commence a programmer en assembleur,et je veux ecrire un programme qui me permet de saisir une chaine de caracteres et de m'afficher tous les mots saisis qui seront par la suite testés, j'ai utilisé:
mov ah,0Ah
lea dx,chaine
int 21h
cela me permet de saisir la chaine mais je ne sais pas comment faire pour parcourir toute la chaine :??:
toute suggestion et la bienvenue !!!
merci  

mood
Publicité
Posté le 17-04-2008 à 20:37:15  profilanswer
 

n°1719525
dap++
Script kiddie
Posté le 17-04-2008 à 22:18:02  profilanswer
 

Laisse tomber l'assembleur 16 bits, lis ce tutoriel-là par exemple : http://drpaulcarter.com/pcasm/
(il y a une traduction en français)


---------------
dap.developpez.com
n°1719963
fatiana
Posté le 18-04-2008 à 15:57:12  profilanswer
 

merci dap++ pour le lien mais c'est un travail que je dois remettre, je dois parvenir a avoir tous les mots de mon texte pour les soumettre a un test

n°1720198
olivthill
Posté le 19-04-2008 à 11:07:40  profilanswer
 

Il y a plusieurs façons de faire "parcourir" une chaine.
 
Voici un exemple simple.


        mov ax, data_seg      ; initialise ds avec le segment des données
        mov ds, ax
        mov bx, OFFSET chaine ; bx contient l'addresse de la chaine
loop_for_every_char:
        mov al, BYTE PTR [bx]  al contient le caractère pointé par la bx
... fait quelque chose avec le caractère
        inc bx                ; incrémente le pointeur pour se préparer à lire le suivant
        cmp al, '$'           ; compare le caractère avec le caractère de fin de chaine
        jnz loop_for_every_char ; si ce n'est pas la fin, on recommence

En fait, il serait plus performant d'utiliser le registre si mais je n'ai pas ma documentation à portée de main, et je ne me souviens plus comment on l'utilise.

n°1720957
db__
spécialiste de l'à peu près
Posté le 21-04-2008 à 13:29:03  profilanswer
 

en version 32 bits avec chaine terminée par un zéro
 
xor edx, edx                              ;sert de compteur pour la longueur de la chaine
lea esi, chaine                           ;pointe la chaine à analyser
suivant : lodsb                          ; charge dans al le caractère courant et pointe le suivant
or al, al                                      ; fin de chaine ?
jz suite                                      ; oui on sort
; faire quelque chose avec le caractère
inc dx                                         ; un caractère de plus dans la chaine
jmp suivant                                ; boucle vers le caractère suivant
suite :                                        ; al, esi perdu dx longueur de la chaine
 


---------------
je suis né fatigué et fait pour me reposer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASM

  les chaines de caracteres en assembleur

 

Sujets relatifs
Caracteres non désiréezpdf et caractères spéciaux
encodage caractères+problème sécuritéFonction pour convertir chaine ASCII en caracteres
[ASM+C] Chaines de caractereProbleme avec des caractères japonnais et ajax
[Débutant] Retourner une chaîne de caractèresRewriteRule et caractères spéciaux
javascript: problème avec des chaines qui contiennent du php[PHP-PostgreSQL] Problème d'échappement de caractères
Plus de sujets relatifs à : les chaines de caracteres en assembleur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR