Comment définir une variable dans GCC avec l'assemblage en ligne de la syntaxe Intel?
Pourquoi n'est-ce pas le code jeu temp
à 1? Comment puis-je réellement faire?
int temp;
__asm__(
".intel_syntax;"
"mov %0, eax;"
"mov eax, %1;"
".att_syntax;"
: : "r"(1), "r"(temp) : "eax");
printf("%d\n", temp);
source d'informationauteur Mehrdad
Vous devez vous connecter pour publier un commentaire.
Vous voulez
temp
à être une sortie, ne pas en être un, je pense. Essayez:Vous devez passer un argument à GCC assembleur.
Et vous avez le code C comme ceci:
N'oubliez pas d'ajouter le préfixe trait de soulignement (_) pour toutes les variables dans asm() mot-clé, ou de ne pas le reconnaître.
Et le mot-clé asm() utiliser le préfixe "0x") pour chaque entier hexadécimal, pas de suffixe "h".
Ce code fait ce que vous essayez d'atteindre. J'espère que cela vous aide à: