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 :

Tableaux à plusieurs dimensions [FAQ]


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Tableaux à plusieurs dimensions
    Voilà, je désire créer un tableau de dimension 100. Pour le créer je n'ai aucun probléme, l'instruction DUP me permet de l'initialiser.

    Ce qui me pose probleme c'est la recherche et le changement des valeurs dans ce meme tableau, je ne sais pas quel code utiliser pour récuperer ou changer tout ca. Est ce que quelqu'un pourrait expliquer plus ou moins en detail la logique qu'il faut suivre pour me permettre d'écrire un algorithme permettant de pouvoir d'une part modifier les valeurs contenues et d'autre part de lire ces valeurs. ( elles sont initialisées à 0 et doivent être mise à 1 dans certains cas ( explication ci dessous ) )

    Pour explication je dois gerer un cadre contenant 10 lignes et 10 colonnes, et apres avoir placé des éléments dans ce tableau il me faut savoir si une cellule du cadre est déjà occupée ou non pour accepter le placement d'un autre éléments dans le tableau.

    PS : je suis quasi débutant en programmation ASM

    Un grand merci à tous.

  2. #2
    Membre habitué
    Avatar de TangiX
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 139
    Points : 168
    Points
    168
    Par défaut
    la lecture de ton tableau se fait grace a l'instruction mov
    Mov [bx + si], AL
    pour l'example d'un tableau d'octets
    avec
    DS:segment du tableau
    BX:offset du tableau
    SI:pointeur sur tableau
    AL:valeur a affecter
    pour la lecture : Mov AL,[BX+SI]

    dans le cas de ton tableau (10*10), il est preferable de faire une fonction du type SI = 10y+x avec 0<x<9 et 0<y<9, ainsi tu peux adresser ton tableau sur deux dimmension (x,y)

    bon dev'

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Un grand merci
    un grand merci a toi, celà m'a permis de terminer mon application avec succes

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Ca n'est pas un tableau de dimension 100... Un tableau de dimension 100, va contenir très vite un nombre impréssionant d'éléments. Cela dit, encore une fois, utilisez le déplacement dans les adressages indirects !. Surtout quand vous êtes en mode 32 bits :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Tableau dd 160 dup (?)
     
    ...
     
      mov eax, Colonne
      mov ebx, Ligne
      shr ebx, 4
      mov edx, ValeurAAffecter
     
      mov Tableau[eax*4+ebx]
    De telles actions sont permises ! Alors usez en. Notez que si vous devez acceder souvent au tableau, vous gagnez une temps considérable par cette méthode.

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

Discussions similaires

  1. Tableaux plusieurs dimensions
    Par Tiolebucheron dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/04/2010, 21h03
  2. [PHP 5.0] Tableaux à plusieurs dimensions
    Par Nemesis007 dans le forum Langage
    Réponses: 6
    Dernier message: 10/12/2009, 17h55
  3. Tableaux à plusieurs dimensions
    Par hallaj dans le forum Langage
    Réponses: 2
    Dernier message: 28/06/2008, 14h00
  4. Tableaux à plusieurs dimensions
    Par Cheps dans le forum C++
    Réponses: 2
    Dernier message: 10/03/2008, 13h13

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