Bonjour à tous

J'ai un petit souci avec une ligne asm incluse dans mon code (c'est du code que j'ai récupéré). La voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
#define MKASMSYM(sym, val)      __asm__ __volatile__ ("SYM " #sym " %n0" : : "i" (-(val)))
utilisé comme cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
MKASMSYM (PT_BADVADDR   , (word_t) &(((mips_irq_context_t *) 0)->badvaddr));
Et lors de la compilation, je récupère l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Error: unrecognized opcode `sym PT_BADVADDR 152'
En gros, même si j'ai du mal à comprendre la syntaxe assembleur utilisée, cela semble produire un ligne correcte. Est-ce 'sym' qui pose problème ? Car en cherchant un peu sur le net, il semble que SYM puisse être utilisé comme directive de compilation, mais je n'ai pas trouvé cette instruction en assembleur.

Si cela ne marche pas, j'aimerais savoir quelle est la méthode pour définir une constante en asm (car c'est bien ce qu'on souhaite faire ?)

Merci de vos réponses.