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

Autres architectures Assembleur Discussion :

[68k] Compter les caractères


Sujet :

Autres architectures Assembleur

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 24
    Points
    24
    Par défaut [68k] Compter les caractères
    Bonjour
    je commence l asm depuis 1 semaine.
    Je voudrais compter les occurences de caracteres dans un texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    *initialisation des registres A7 et PC
    	ORG    $0
    	DC.L   $8000
    	DC.L   START
     
    *debut du prog principal
    	ORG    $2000
    	DC.B 'coucou'
     
    START	nop
     
    =>  LE CODE
    On a donc $63 (=C) a l adresse $2000 puis $...(pour O) etc...
    jusqu a 2005.

    Je voudrais ajouter +1 a l adresse de la valeur du code ascii de la lettre.

    Soit pour le 'C' on a $63, donc je voudrais ajouter +1 a l adresse $63 qui doit etre a 0 a l origine.
    de meme pour les autres lettres.

    De cette maniere je saurai combien de fois chaque lettre apparait.

    Par contre je sais pas trop comment m y prendre.

    merci pour votre aide.

    EDIT : je precise que c est pour du 68000 au cas ou ...

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 24
    Points
    24
    Par défaut
    OK
    bon j ai un peu avancé mais ca marche toujours pas:

    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
     
    *initialisation des registres A7 et PC
    	ORG		$0
    	DC.L		$8000
    	DC.L		START
     
    cpt	EQU		$2000	
     
     
    *debut du prog principal
    	ORG		$2000
    	DC.B	'coucou#'
     
    START	nop
     
    BOUCLE
    	MOVEA.W	(cpt),A0  [i] ici je voulais juste mettre un MOVE.B pour ne copier que le 1er caractere mais ca refuse de compiler donc on met 'c' et 'o' dans A0[/i]
    	ADD		#1,A0 [i] ici je voulais ajouter 1 a la valeur pointée par l adresse contenue dans A0 (63 pour 'c') donc j avais mis (A0) mais ca ne marche pas.[/i]
     
    	BRA		BOUCLE
     
     
    END
    voila j ai un peu avancé mais il y a toujours des problemes.
    merci de votre aide

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    j'ai pas bien compris la méthode que tu veux utiliser pour compter tes caractères. Comme tu débutes, je suppose qu'un truc qui marche te rendrait déjà service. Tu améliorera ensuite.

    je propose de reserver un espace de 256 octets (initialement à 0) et d'ajouter 1 à l'octet correspondant au caractère rencontré. ( si on rencontre A(ASCII 65 ou $41), c'est l'octet 65 qui est incrémenté.
    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
    chaine equ $2000
        org $2000
        dc.b 'coucou'
     
    tampon equ $3000
     
     
    start
        lea chaine,a0       *a0 pointe sur le caractère
        lea tampon,a1
        move.l   #0,d0
     
        move.b (a0)+,d0    *lit le premier caractère, passe au suivant
         add.b   #1,(a1,d0)  *ajoute 1 à l'octet figurant à l'adresse a1+d0
     
        move.b (a0)+,d0    *lit le second caractère, passe au suivant
         add.b   #1,(a1,d0)  *ajoute 1 à l'octet figurant à l'adresse a1+d0
    Balises code ajoutées par Alcatîz. Merci d'y penser !

    Bonne chance

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 24
    Points
    24
    Par défaut
    yeah super ca marche

    merci beaucoup* 8)

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

Discussions similaires

  1. compter les caractères
    Par deMonHunTer dans le forum Débuter
    Réponses: 10
    Dernier message: 05/01/2010, 13h37
  2. Mon script pour compter les caractères marche sous IE7 et non IE8
    Par Alexandrebox dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/06/2009, 14h42
  3. [Turbo Pascal] Compter les caractères d'un fichier texte
    Par ProgramPascal dans le forum Turbo Pascal
    Réponses: 65
    Dernier message: 09/04/2009, 02h09
  4. Comment Compter les caractères
    Par pierrot67 dans le forum Bases de données
    Réponses: 6
    Dernier message: 02/12/2006, 19h12
  5. [MySQL] compter les caractères
    Par paterson dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/04/2006, 13h51

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