Assembleur inline gcc [GCC][ASM] - Codes et scripts - Linux et OS Alternatifs
MarshPosté le 02-10-2003 à 09:09:11
Voila, quand je fait de l'assembleur in-line gcc et que je lui demande une de mes entrée dans un registre et que je modifie ce registre, pour lui signaler ( vu que je peut pas le mettre dans la liste des clobber ), je fait une dummy output.
Code :
void func( void* ptr)
{
int dummy;
asm( "movl $0x0BADBABE, %[ptr];"
: "=r" (dummy)
: [ptr] "0" (ptr)
);
}
Ca marche evidemment mais : - J'ai besoin d'un "int dummy" qui ne sert a rien - A la fin de ma fonction, il sauve le contenu du registre dans dummy ... Si j'ai plusieurs entrée que je modifie, il le fait plusieurs fois et c'est completement inutile, perte de temps
Comment on peut éviter ca ?
PS: Je sais, il y a un forum "programmation" mais je pense qu'il y a plus de personne ici susceptible de connaitre gcc.
Marsh Posté le 02-10-2003 à 09:09:11
Voila, quand je fait de l'assembleur in-line gcc et que je lui demande une de mes entrée dans un registre et que je modifie ce registre, pour lui signaler ( vu que je peut pas le mettre dans la liste des clobber ), je fait une dummy output.
Ca marche evidemment mais :
- J'ai besoin d'un "int dummy" qui ne sert a rien
- A la fin de ma fonction, il sauve le contenu du registre
dans dummy ... Si j'ai plusieurs entrée que je modifie, il le
fait plusieurs fois et c'est completement inutile, perte de temps
Comment on peut éviter ca ?
PS: Je sais, il y a un forum "programmation" mais je pense qu'il y a plus de personne ici susceptible de connaitre gcc.