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

Assembleur Discussion :

Conversion de majuscule en minuscule et vice versa


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Conversion de majuscule en minuscule et vice versa
    Bonjour ! voila j'ai ecrit un programme qui convertit des caractères en minuscule ou majuscule et j'ai des erreurs. Je ne vois pas ou est le problème, sachant que je suis débutante.
    Pouvez vous m'aider ?

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    name "conversion"
     
     
    data segment
      chaine db 20 dup (?)
    ends
    code segment
      jmp start
    start:
     
     
       mov cx, 20
       lea si, chaine
     
         boucle: mov ah,01h
                int 21h
                cmp al, '*'
                jz fin 
                call convert 
                loop boucle
     
     
        fin:  mov ah,4ch
              int 21h
     
        convert proc 
          cmp al, 'a'
          jb Maj
          cmp al,'z'
          ja autre 
          sub al,20h
     
          Maj: cmp al,'A'
               jb autre
               cmp al, 'Z'
               ja autre 
               add al, 20h
     
         autre: 
                mov[si],al
                inc si
     
                ret              
    mov ax, 4c00h
    int 21h  
     
     
    ends
     
     
    end start

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 44
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par sarah B Voir le message
    Bonjour ! voila j'ai ecrit un programme qui convertit des caractères en minuscule ou majuscule et j'ai des erreurs. Je ne vois pas ou est le problème, sachant que je suis débutante.
    Pouvez vous m'aider ?

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    name "conversion"
     
     
    data segment
      chaine db 20 dup (?)
    ends
    code segment
      jmp start
    start:
     
     
       mov cx, 20
       lea si, chaine
     
         boucle: mov ah,01h
                int 21h
                cmp al, '*'
                jz fin 
                call convert 
                loop boucle
     
     
        fin:  mov ah,4ch
              int 21h
     
        convert proc 
          cmp al, 'a'
          jb Maj
          cmp al,'z'
          ja autre 
          sub al,20h
    inc i( pour aller au caractère suivant)
    jmp convert proc pour revenir au début de la boucle et comparer avec les caractères suivants de ta chaine
     
          Maj: cmp al,'A'
               jb autre
               cmp al, 'Z'
               ja autre 
               add al, 20h
         inc i pour aller au caractère suivant
    jmp convert proc pour revenir au début de la boucle et comparer avec les caractères suivants de ta chaine  
         autre: 
                mov[si],al
                inc si
     
                ret              
    mov ax, 4c00h
    int 21h  
     
     
    ends
     
     
    end start

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 44
    Points : 0
    Points
    0
    Par défaut
    ok

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 44
    Points : 0
    Points
    0
    Par défaut ça change les minuscules de la chaine en majuscules
    ok

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par exercicec Voir le message
    *#include <time.h>
    #include <stdlib.h>
    char chaine[]="Bonjour a tous";
    int i;
    void main()
    {
    i=0;
    _asm
    {
    dwhile:
    mov edi,i
    cmp chaine[edi],0
    je fwhilefin

    cmp chaine[edi],'a'
    jb fwhile

    cmp chaine[edi],'z'
    ja fwhile2

    sub chaine[edi],0x20
    inc i
    jmp dwhile

    fwhile2:
    inc i

    jmp dwhile
    fwhile:
    inc i
    jmp dwhile
    fwhilefin:

    }
    }
    mercii. mais mon programme est sensé prendre un caractere taper sur le clavier le convertir et le mettre dans chaine. j'initialise pas la chaine au debut parce que je sais pas ce qu'elle contient

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 44
    Points : 0
    Points
    0
    Par défaut
    ok

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 44
    Points : 0
    Points
    0
    Par défaut
    ok je suis débutant aussi et j'avais pas bien vu ton code dsl

  8. #8
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 732
    Points : 43 840
    Points
    43 840
    Par défaut
    Qu'est ce qui marche pas ?
    Tu as un résultat erroné ? Dans ce cas, donnes-le nous.
    donnes un exemple d'entrée et son résultat en sortie.

    Le but est que tu progresses, je ne vais donc pas te donner la solution toute faite.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/07/2008, 15h06
  2. conversion de decimale vers binaire et vice versa
    Par Abdelkaoui dans le forum Qt
    Réponses: 1
    Dernier message: 17/04/2008, 11h53
  3. Réponses: 4
    Dernier message: 24/04/2007, 17h01
  4. Réponses: 2
    Dernier message: 18/02/2007, 01h47
  5. [68k] Conversion majuscule en minuscule
    Par cinefanfan dans le forum Autres architectures
    Réponses: 2
    Dernier message: 19/12/2005, 09h26

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