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 32-bits / 64-bits Assembleur Discussion :

Questions à propos du XOR EAX, EAX


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Questions à propos du XOR EAX, EAX
    Bonsoir,
    Je tiens à préciser que je suis débutant dans l'assembleur.
    Il se trouve que j'ai besoin d'éditer certaines parties d'assembleur pour un projet (voir ci joint la partie du code)
    Nom : Capture.PNG
Affichages : 1298
Taille : 25,2 Ko
    De base je suis sensé avoir un PUSH 01 à la place du XOR EAX, EAX car je dois le changer en PUSH 02 pour que mon projet marche comme je le souhaite.
    En changeant le XOR EAX, EAX en PUSH 02 ou même 01 le programme crash.
    Nom : Capture2.PNG
Affichages : 646
Taille : 21,3 Ko
    Initialement cette partie du programme fonctionne de tel sorte qu'un objet qui est placé dans un slot QUITTE ce dernier après avoir appuyé sur un bouton, en changeant l'instruction de fin PUSH 01 en PUSH 02 l'item est sensé rester dans le slot (testé et fonctionnel sur une AUTRE version de ce programme)
    Sauf que sur cette version il y a un XOR EAX, EAX a la place d'un PUSH 01
    Voici l'autre version du programme pour laquelle tout marche correctement
    Nom : wKeGd.png
Affichages : 674
Taille : 15,2 Ko

    Merci d'avance,

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 634
    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 634
    Points : 43 617
    Points
    43 617
    Par défaut
    xor eax,eax va mettre le registre eax à 0. push va empiler une valeur ou un registre. tout ce qui a été empilé doit être dépilé. Il faut comprendre ce qu'on fait. Empiler des valeurs va servir à les sauvegarder ou passer des paramètres à une fonction..

  3. #3
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 946
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 946
    Points : 5 659
    Points
    5 659
    Par défaut
    Bonjour,

    Comme pour tout langage, il faut commencer par en apprendre les bases avant de vouloir l'utiliser pour modifier des programmes, et c'est particulièrement vrai dans le cas de l'assembleur.


  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    690
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2005
    Messages : 690
    Points : 1 647
    Points
    1 647
    Par défaut
    En plus d'après tes captures d'écran, un xor eax,eax prend un octet, alors qu'un push 01 en prend deux.
    Tu peux donc remplacer un push 02 par un xor eax,eax suivi d'un nop mais pas l'inverse

Discussions similaires

  1. Question à propos des compilateurs
    Par elf dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 20/07/2005, 17h00
  2. Question à propos des niveaux de transaction
    Par davy.g dans le forum Oracle
    Réponses: 3
    Dernier message: 18/01/2005, 15h31
  3. Petite question à propos du redbook...
    Par Michaël dans le forum OpenGL
    Réponses: 3
    Dernier message: 04/11/2004, 12h54
  4. Petite question à propos d'une requete
    Par ViBy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/09/2004, 12h21
  5. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

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