skirby
Messages postés96Date d'inscriptionvendredi 1 avril 2005StatutMembreDernière intervention26 juillet 2007
-
19 avril 2006 à 09:56
skirby
Messages postés96Date d'inscriptionvendredi 1 avril 2005StatutMembreDernière intervention26 juillet 2007
-
19 avril 2006 à 20:34
Bonjour tout le monde,
J'aimerais mettre de l'assembleur inline dans mon code en C.
J'utilise Code::Block et mingw.
Voici un extrait de code qui ne veut pas fonctionner :
int tmp; // Variable globale pour pourvoir être utilisé dans le code asm
int fnt(char* s) {
int a;
for (int i = 0; i < strlen(s); i++) {
tmp = (unsigned char)s[i];
// Ce morceaux de code fonctionne (passage par un registre)
// asm(".intel_syntax noprefix \n"
// "mov eax, _tmp \n"
// "sar eax, 0x45 \n"
// "mov _tmp, eax \n"
// ".att_syntax \n"
// "\n");
// Pas celui la
// Le message d'erreur est le suivant : 1\Temp\ccOEaaaa.s:100: Error: ambiguous operand size for `sar'
skirby
Messages postés96Date d'inscriptionvendredi 1 avril 2005StatutMembreDernière intervention26 juillet 2007 19 avril 2006 à 11:20
Salut BruNews,
La n'est pas le problème car même si je mets 0x05 par exemple, j'ai le même message d'erreur.
1\Temp\cciOaaaa.s:63: Error: ambiguous operand size for `sar'