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 dans C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut Assembleur dans C
    Bonjour à tous,
    J'aimerai introduire du code Assembleur dans mon code C
    Je code sous Wind River.
    J'éspére que vous pourrez m'aider!
    Bonne journée

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 260
    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 : 18 260
    Par défaut
    Je sais pas ce qu'est Wind River, mais pour intégrer de l'assembleur en C, regardes ceci :
    http://asm.developpez.com/cours/asminline/
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Membre Expert

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Par défaut
    Ce que j'ai vu le plus souvent, c'est la partie assembleur encapsulée dans une clause "asm { }". Exemple:

    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
     
    void Cpu_Delay100US(word us100:__D0)
    {  
      asm {   
     
        andi.l #0xFFFF,d0                  /* parameter is word - clear the rest of d0 register */
        tpf                                /* alignment */
    loop:
        move.l #0x012B,d1                  /* (1 c: 41.67 ns) number of iterations */
    label0:
        moveq    #85,d3                    /* Reset watchdog counter - 2x write*/
        move.b   d3,SRS
        move.b   #-86,d3
        move.b   d3,SRS
        tpf                                /* (1 c: 41.67 ns) wait for 1 c */
        subq.l #1,d1                       /* (1 c: 41.67 ns) decrement d1 */
        bne.b label0                       /* (2 c: 83.33 ns) repeat 299x */
        tpf                                /* (1 c: 41.67 ns) wait for 1 c */
        tpf                                /* (1 c: 41.67 ns) wait for 1 c */
        tpf                                /* (1 c: 41.67 ns) wait for 1 c */
        /* 100 us delay block end */
        subq.l #1,d0                       /* parameter is passed via d0 register */
        bne.w loop                         /* next loop */
     
        rts                                /* return from subroutine */
      }
    }
    Sinon, ce qui se fait aussi c'est d'isoler le code assembleur dans un fichier "*.s".

Discussions similaires

  1. introduire du code assembleur dans un programme C++
    Par hzaki1986 dans le forum C++
    Réponses: 1
    Dernier message: 14/04/2007, 17h14
  2. Problème d'inclusion de code Assembleur dans du C
    Par tnarol dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 06/09/2006, 18h56
  3. probleme d'insertion de code assembleur dans du c++
    Par Pragmateek dans le forum C++
    Réponses: 4
    Dernier message: 05/03/2006, 23h30
  4. Réponses: 5
    Dernier message: 14/01/2006, 15h16
  5. EDI pour intégrer efficacement de l'assembleur dans du C/C++
    Par Selenite dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 04/04/2004, 18h27

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