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 :

Adressage indirect : Invalid indexing mode


Sujet :

x86 16-bits Assembleur

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Adressage indirect : Invalid indexing mode
    Bonsoir à tous
    Je débute en Assembleur et j'ai un tp à rendre. J'ai essayé de lire des caractères et de les stocker dans un tableau mais il y a un message d'erreur qui s'affiche invalid indexing mode à la ligne qui s'affiche en rouge.
    Aidez-moi s'il vous plaît
    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
    pile ENDS
    donnees SEGMENT
     
    t DB 100 DUP(?)
    donnees ENDS
    code SEGMENT
    saisie PROC FAR
    ASSUME cs:code,ds:donnees,ss:pile
    MOV ax,donnees
    MOV ds,ax
    MOV cx,0
    
    repeter:
           MOV ah,1
           INT 21h
           CMP al,-1        ;la saisie s arrete au caractere -1
           JE dimension
           MOV t[cx], al
           inc cx
           jmp repeter
     
    dimension:
     
              MOV ah,4ch
              INT 21h
              saisie ENDP
              code ENDS
              END saisie

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 415
    Points
    59 415
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue !

    Comme expliqué dans la FAQ, le registre cx n'est pas un registre valide dans un adressage basé et/ou indexé.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Citation Envoyé par beraaa Voir le message
    Pour mettre à 0 un registre, on utilise le plus souvent l'instruction xor plutôt que mov.
    Cela permet généralement de réduire la taille du code. En effet, lors de l'utilisation de l'instruction mov avec une constante, cette valeur sera présente dans le code avec la même taille que la destination.
    Si reg est un WORD, 0 sera encodé sur 2 octets.
    Si reg est un DWORD, 0 sera encodé sur octets.

    Avec l'instruction XOR, les seules informations encodés sont les références de l'instructions (sont OPCODE) et celles des registres utilisés. La taille de l'instruction utilisée dans le code final ne dépendra pas de la taille des données manipulées.

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

Discussions similaires

  1. [2.x] UPDATE 2.1 : Le jeton CSRF est invalide en mode DEV
    Par pmithrandir dans le forum Symfony
    Réponses: 6
    Dernier message: 03/12/2012, 19h55
  2. INDIRECT.EXT en mode matriciel
    Par Carmiel dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/10/2011, 16h38
  3. [Step7 Micro/win] Adressage indirect, écriture
    Par Patrick25300 dans le forum Automation
    Réponses: 1
    Dernier message: 10/08/2009, 22h20
  4. adressage indirect SETP 7 siemens
    Par jaystas dans le forum Automation
    Réponses: 2
    Dernier message: 19/10/2008, 20h34
  5. [8051] Adressage indirect
    Par john491 dans le forum Autres architectures
    Réponses: 1
    Dernier message: 04/05/2006, 10h45

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