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 16-bits Assembleur Discussion :

Écrire une chaîne de caractères


Sujet :

x86 16-bits Assembleur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Points : 11
    Points
    11
    Par défaut Écrire une chaîne de caractères
    Bonjour tout le monde,

    Aidez-moi à écrire un programme assembleur qui charge une chaîne de caractères en mémoire centrale, puis fait ce travail :

    * Calculer et afficher la taille de la chaîne ;
    * Afficher le nombre de mots ;
    * Afficher le mot le plus long ;
    * Afficher le nombre de séparateurs ;
    * Afficher le caractéres le plus récurrent .

    Le programme assembleur à développer doit etre structuré en Macros

    * La premiére étape à denelopper doit etre développé au sein d'une seule Macro.
    * La deuxième étape implémente pour chaque traitement une Macro.
    * Les Macros développées dans chaque des deux étapes doivent etre appelés dans
    le programme principal de sorte à ce qu'on retrouve le meme programme que celui
    de la premiére version.

    voila mon travail il y a quelque probleme SVP aide moi
    voila mon code:

    Code asm : 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
    title char 
    model small 
    stack 100h 
     
    .data 
    msg1 db "donner le caractere$" 
    msg2 db "chaine vide$" 
    msg3 db "la taille de la chine est:$" 
    i dw 0 
     
    .code 
    mov ax,@data 
    mov dx,ax 
     
    mov ah,9 
    mov dx,offset msg1 
    int 21h 
     
    mov ah,1 
    int 21h 
    mov bx,ax 
    mov cx,'#' 
     
    boucle: cmp [bx],cx 
    je vide 
    inc i 
    while1: mov ah,9 
    mov dx,offset msg1 
    int 21h 
    mov ah,1 
    int 21h 
    mov bx,ax 
    mov cx,'#' 
    cmp [bx],cx 
    je fin 
    inc i 
    jmp while1 
    fin: jmp end1 
    vide: mov ah,9 
    mov dx,offset msg2 
    int 21h 
    end1: 
    mov ah,9 
    mov dx,offset msg3 
    int 21h 
    mov dx,i 
    mov ah,2 
    int 21h 
     
    mov ah,4ch 
    int 21h 
    end

  2. #2
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 98
    Points : 39
    Points
    39
    Par défaut
    il faudra utiliser un pointeur qui marque le debut de la chaine et tu l'incremente en faisant ta comparaison
    mov si,offset chaine
    instr
    instr
    inc si


    @++

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Saisie et affichage d'une chaîne de caractères
    Par sali dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/03/2004, 18h01
  3. [Debutant(e)] Analyse d'une chaîne de caractères
    Par maire106 dans le forum Langage
    Réponses: 6
    Dernier message: 22/03/2004, 15h04
  4. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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