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 :

Tri tableau .asm


Sujet :

Assembleur

  1. #1
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Tri tableau .asm
    Comment je faire une tri d'un tableau avec code assembleur ?

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    - Quel processeur? (x86, ARM, etc.)
    - Quel taille d'opérande ? (16, 32 , 64 bits)
    - Quel type de données à trier ? (entiers, chaînes, etc.)
    - Quel type de tri ? (Qsort, Bubble, Heap, etc.)


    Le tri ça reste plus de l'algorithmie qu'autre chose. Tu peux commencer par faire un tour sur les différents tris possibles, par exemple ici : http://www.dailly.info/algorithmes-de-tri/index.php

    Ensuite il n'y a plus qu'a passer du pseudo-langage à l'implémentation asm.

    As-tu déjà un début de code ? A quelle étape ça coince ?

  3. #3
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Tri tableau.asm
    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
    Data SEGMENT
    TAB db "7","9","4","0","6"
    TEMP db 0
    DATA ENDS
     
    CODE SEGMENT
     
    DEBUT:MOV SI,offset TAB ; si pointe sur le debut du tableau
          MOV [DI],[SI+1]
      COM:CMP TAB[SI],TAB[DI] 
          JL PERMUTE
          CMP TAB[DI], TAB[offset TAB  +4]
          JE COM2
          INC DI
          JUMP COM
    COM2:CMP [SI],offset [TAB+4]
          JE AFFICHAGE
          INC SI
          MOV [DI],[SI+1]
    PERMUTE:MOV TEMP,TAB[DI]
            MOV TAB[DI],TAB[SI]
            MOV TAB[SI],TAMP 
            JUMP COM
    AFFICHAGE:MOV si,offset TAB
              MOV AH,TAB[SI]
              COM2 si,offset [TAB+4]
              JE FIN
              MOV DL,AL
              MOV AH,2
              INT 21H
              INC SI
              JUMP AFFICHAGE
          FIN:MOV AH,4CH
              INT 21H
              ENDS
    end DEBUT
    - J'ai compilé et il ya des erreurs...!
    svp aidez moi

  4. #4
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 269
    Points : 2 457
    Points
    2 457
    Par défaut
    1 - On ne compile pas de l'assembleur, on... l'assemble.
    2 - Elles sont où les erreurs ? 'Faut qu'on les devine ?

  5. #5
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Points : 44
    Points
    44
    Par défaut
    pour commencer:
    il est strictement interdit de faire des Mov memoire- memoire!!!!!!
    kif kif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COM:CMP TAB[SI],TAB[DI]
    il est déconseillé d'utiliser JL et JG avec les nombres non signés : pense à JA et JB

    COM2 si,offset [TAB+4]
    JE FIN
    ???
    JUMP AFFICHAGE
    plutot JMP affichage
    à part ça tout va bien

  6. #6
    Rukia
    Invité(e)
    Par défaut
    Bonjour

    J'ai pas bien compris votre logique mais j'ai trouvé quelques erreurs :

    1// N' oublier pas d'écrire dans le code segment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      code segment
    assume cs:code , ds:data
     mov ax ,data 
     mov ds, ax
    Ces instructions sont obligatoires dans chaque programme assembleur.

    2// Cette instruction est interdite :
    Elle est de type mov memoire,memoire.
    Dans votre programme, il faut faire
    3// Tu a fais une erreur de frappe. Remplace
    par
    4// Remplace JUMP par JMP

    5// On ne peut pas écrire
    En plus, le COM2 c'est une étiquette mais pas une instruction donc c'est faux d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COM2 si , offeset [TAB +4]
    Dernière modification par Alcatîz ; 26/04/2007 à 21h29. Motif: balises code, orthographe...

Discussions similaires

  1. [Tableaux] Tri tableau
    Par licorne dans le forum Langage
    Réponses: 3
    Dernier message: 20/03/2006, 12h14
  2. [POO] Tri tableau objets
    Par Metallic-84s dans le forum Langage
    Réponses: 4
    Dernier message: 21/02/2006, 19h53
  3. algorithme de tri tableau :afficher que les éléments unique
    Par sofiane61 dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 31/03/2005, 19h50
  4. [Débutant] Tri tableau String
    Par Sigwald dans le forum Collection et Stream
    Réponses: 22
    Dernier message: 14/05/2004, 08h55
  5. [langage] TRI TABLEAU ASSOCIATIF
    Par proner dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2003, 16h38

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