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 :

Code assembleur en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de med_alpa
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Par défaut Code assembleur en C
    Bonjour,

    JE voudrais comprendre ce code écrit en c assembleur :

    /* Context switching */

    #define BACKUP_CTX(sp) \
    asm ("mov r1, %0" : "=r"((sp)[0])); \

    #define RESTORE_CTX(sp) \
    asm ("mov %0, r1" :: "r"((sp)[0])); \
    Je sais le principe, c'est de sauvegarder le SP : (stack pointer) et le restaurer.
    il s'agit d'une opération move;
    mais je voudrais comprendre le "%0" et le "=r" et le (sp)[0]

    Et lorsqu'on écrit asm(). est ce que c'est le cas pour tout type de microcôntrolleur?

    merci.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    L'écriture de code assembleur dans du code C est spécifique au compilateur utilisé.

    Il faut que tu relises la doc concernant le code assembleur pour ton compilateur (ou que tu nous dises le compilateur que tu utilises).
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirmé Avatar de med_alpa
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Par défaut
    Le compilateur c'est gcc-msp430 avec les packages suivant binutilsmsp430,
    msp430-libc.

    le but c'est de le réécrire en AVR-gcc pour un microcontroleur atmega128L.

Discussions similaires

  1. [ST6] Besoin d'aide code assembleur
    Par doutsie dans le forum Autres architectures
    Réponses: 16
    Dernier message: 06/02/2006, 16h30
  2. Editer/colorer syntaxiquement du code assembleur
    Par gnogno dans le forum Langage
    Réponses: 8
    Dernier message: 26/09/2005, 22h34
  3. Réponses: 5
    Dernier message: 21/12/2004, 18h12
  4. Outils d'analyse statique de code assembleur ?
    Par atomic dans le forum Assembleur
    Réponses: 4
    Dernier message: 11/06/2004, 11h42
  5. Peut-on faire du son juste avec du code assembleur ?
    Par Rick1602 dans le forum Assembleur
    Réponses: 7
    Dernier message: 26/03/2004, 17h39

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