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 :

assembleur et langage C (__asm)


Sujet :

C

  1. #1
    Nouveau membre du Club Avatar de fred_sell
    Inscrit en
    Juin 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 106
    Points : 33
    Points
    33
    Par défaut assembleur et langage C (__asm)
    Bonsoir

    Je voudrais intégrer l'assembleur dans un petit programme de test en langage C, et en faisant une petit recherche sur GOOGLE j'ai vu que je dois utiliser __asm...

    alors je voudrais savoir comment utiliser __asm !!

    et merci encore !!

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 136
    Points
    23 136
    Par défaut
    j'ai vite regardé dans google :

    _asm c'est pour visual studio il me semble

    Si tu compile avec gcc : asm("ton_code_assembleur");

    Apparemment ça marche bien sous Linux, mais sous windows, il y a certaines choses qui sont bloquées (comme les intéruptions)

    Sinon, pourquoi utiliser de l'assembleur?
    L'assembleur ne doit être utilisé que dans le cas de problèmes spécifiques et particulier où une solution en C n'est pas possible.

  3. #3
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 136
    Points
    23 136
    Par défaut
    j'ai vite regardé dans google :

    _asm c'est pour visual studio il me semble

    Si tu compile avec gcc : asm("ton_code_assembleur");

    Apparemment ça marche bien sous Linux, mais sous windows, il y a certaines choses qui sont bloquées (comme les interruptions)

    Sinon, pourquoi utiliser de l'assembleur?
    L'assembleur ne doit être utilisé que dans le cas de problèmes spécifiques et particulier où une solution en C n'est pas possible.

  4. #4
    Nouveau membre du Club Avatar de fred_sell
    Inscrit en
    Juin 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 106
    Points : 33
    Points
    33
    Par défaut
    j'ai vite utiliser ce vous avez dit, ça compile (ce qui n’était pas le cas avant) !!
    maintenant, si je voudrais faire un CALL à une fonction déjà définie dans mon code source C, comment dois-je faire ?

  5. #5
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 136
    Points
    23 136
    Par défaut
    Je n'ai vu que le 80251 en assembleur donc ce n'est pas forcément la même syntaxe :

    void ta_fonction_en_c();

    en assembleur :

    CALL _ta_fonction

    /!\ la norme veut que tu place les paramètres de ta fonction dans certains registres et que tu empile le reste.

    Dans le cas du MCS 251, on met les paramètre dans les registres R1 à R8.
    On utilise le first fit : tu place chaque élément dans le registre le plus proche de R1.

    PS : désolé pour le double post.

  6. #6
    Nouveau membre du Club Avatar de fred_sell
    Inscrit en
    Juin 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 106
    Points : 33
    Points
    33
    Par défaut
    j'ai remarqué que vous avez fait un underscore avant le nom de la fonction !
    est ce que c’était voulu ou pas ?

  7. #7
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 136
    Points
    23 136
    Par défaut
    C'est voulu.

    Mais c'est pour le MCS251, pour d'autres processeurs, il est fortement probable que ce soit un autre signe.

  8. #8
    Nouveau membre du Club Avatar de fred_sell
    Inscrit en
    Juin 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 106
    Points : 33
    Points
    33
    Par défaut
    ok merci !

Discussions similaires

  1. Assembleur vers langage C
    Par benjaminadv dans le forum Autres architectures
    Réponses: 12
    Dernier message: 28/05/2015, 07h25
  2. Réponses: 2
    Dernier message: 06/01/2010, 16h14
  3. Coder en langage Assembleur
    Par sone47 dans le forum Assembleur
    Réponses: 7
    Dernier message: 23/05/2007, 00h18
  4. Traduction d'Assembleur en langage C
    Par Aquadrox dans le forum Assembleur
    Réponses: 6
    Dernier message: 01/06/2005, 10h40
  5. insertion d'assembleur en langage c
    Par coach dans le forum MFC
    Réponses: 6
    Dernier message: 28/01/2004, 09h35

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