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 :

Tri croissant d'un tableau


Sujet :

x86 16-bits Assembleur

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 36
    Points
    36
    Par défaut Tri croissant d'un tableau
    Salut à tous,

    Bon, voila : c'est pour trier un tableau d'entiers en ordre croissant et, à vrai dire, je sais pas trop comment parcourir un tableau en assembleur. Voila ce que je peux faire, dites-moi les erreurs de syntaxe, svp :

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    .MODEL Flat, STDCALL
     
    .DATA
     
    TAB db "12","5","0","10","16"
     
    TEMP db 0
     
    DATA ENDS
     
    .CODE 
     
    ASSUME CS:CODE,DS:DATA
     
    DEBUT:MOV AX,DATA
     
     
    MOV DX,AX
     
    MOV SI,offset TAB ; si pointe sur le debut du tableau
     
    MOV [DI],[SI+1]
     
    COM:CMP TAB[SI],TAB[DI] 
     
    JL PERMUTE
     
    CMP [DI],offset [TAB +4]
     
    JE COM2
     
    INC DI
     
    JUMP COM
     
    COMP2: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]
     
    COMP 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
    voila l'erreur que masm affiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (3) : error A2008: syntax error : SEGMENT
    MERCI !

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour et ,

    Ensuite, tu ne peux pas faire directement Il te faut obligatoirement passer par un registre intermédiaire .

    Ensuite pour CMP, tu peux juste soit comparer un registre et une valeur, ou deux registres entre eux: tu ne peux pas comparer deux zones mémoires entre elles.

    Ensuite, JUMP, c'est nouveau comme instruction? Normalement c'est JMP

    Sinon, MASM t'es imposé ? Parce que sinon tu peux prendre un assembleur un peu plus bavard au niveau des erreurs, comme FASM ou NASM
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

Discussions similaires

  1. tri croissant d'un tableau
    Par alfred5 dans le forum C++
    Réponses: 5
    Dernier message: 14/11/2010, 14h52
  2. Tri croissant d'un tableau
    Par menyarito dans le forum VB.NET
    Réponses: 9
    Dernier message: 18/05/2010, 16h44
  3. Tri par ordre croissant dans variable tableau
    Par jojo86 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 27/11/2009, 16h51
  4. tri croissant avec tableau d'indices
    Par salseropom dans le forum C++
    Réponses: 2
    Dernier message: 11/09/2009, 07h39
  5. Réponses: 2
    Dernier message: 08/04/2004, 16h30

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