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

C Discussion :

Forcer l'utilisation de certaines instructions assembleur


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Forcer l'utilisation de certaines instructions assembleur
    Bonjour ,

    Je travaille sur l'analyse de code assembleur (je débute \o/) et j'aimerais éviter d'utiliser l'instruction LEA (load effetive address) à cause de conditions dans mon projets , j'ai lu que cette instruction peut être remplacée par deux instructions MOV, peut-on alors forcer le compilateur à cette transformation pour ne plus avoir de LEA dans le code assembleur généré ?

    Ma question est de savoir s'il y a un moyen de dire au compilateur (gcc) d'éviter d'utiliser au maximum l'instruction LEA quand il génère le code assembleur à partir de mon code C.

    (Je sais pas trop ou poster ma demande car c'est pas vraiment du C ou de l'assembleur )

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    La réponse instinctive, c'est "À part en modifiant le code du back-end, tu ne peux."
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Hello,

    Citation Envoyé par ottomucha Voir le message
    Je travaille sur l'analyse de code assembleur (je débute \o/) et j'aimerais éviter d'utiliser l'instruction LEA (load effetive address) à cause de conditions dans mon projets , j'ai lu que cette instruction peut être remplacée par deux instructions MOV, peut-on alors forcer le compilateur à cette transformation pour ne plus avoir de LEA dans le code assembleur généré ?
    En voila une drôle d'idée. Quel genre de conditions peut t'empêcher d'utiliser LEA en particulier ? Et pourquoi s'en priver ?

    Ma question est de savoir s'il y a un moyen de dire au compilateur (gcc) d'éviter d'utiliser au maximum l'instruction LEA quand il génère le code assembleur à partir de mon code C.
    Pas à ma connaissance. Maintenant, pour le peu que j'ai examiné les codes assembleur produits par GCC, je ne l'ai pas vu souvent non plus.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Hum , c'est bien ce que je pensais , c'est juste pour savoir s'il existait une méthode simple et rapide . Du coup, je vais plutôt essayer de m'affranchir de cette condition quelque peu embarassante.

    Merci pour vos réponse \o/

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par ottomucha Voir le message
    Hum , c'est bien ce que je pensais , c'est juste pour savoir s'il existait une méthode simple et rapide . Du coup, je vais plutôt essayer de m'affranchir de cette condition quelque peu embarassante.

    Merci pour vos réponse \o/
    Mais par curiosité, on peut connaître cette condition qui te pousse à vouloir te priver d'une instruction assembleur ?

Discussions similaires

  1. Forcer IE à utiliser la version du JRE de mon choix
    Par Nomade95000 dans le forum Applets
    Réponses: 7
    Dernier message: 18/08/2017, 19h10
  2. Forcer l'utilisation de certaines instructions assembleurs
    Par ottomucha dans le forum Assembleur
    Réponses: 4
    Dernier message: 14/01/2014, 15h33
  3. Conversion instructions assembleur X86 -> PPC
    Par bencall dans le forum Assembleur
    Réponses: 4
    Dernier message: 28/09/2006, 22h02
  4. Réponses: 20
    Dernier message: 19/09/2006, 20h52
  5. Instructions Assembleur SSE
    Par uriotcea dans le forum C++Builder
    Réponses: 1
    Dernier message: 05/07/2006, 09h31

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