Assembleur inline (c)
Spécifique à Microsoft
L'assembly inline vous permet d'inclure l'instruction en langage assembleur directement dans vos programmes sources C sans étapes d'assembly et de liaison.L'assembleur inline est généré dans le compilateur - vous n'avez pas besoin d'un assembly distinct tel que le macro-assembleur Microsoft (MASM.
Étant donné que l'assembly inline n'a pas besoin des étapes d'assembly séparé et de lien, il est plus pratique qu'un assembly séparé.Le code assembleur inline peut utiliser une variable ou nom de fonction C qui est dans la portée, il est facile de l'intégrer avec le code C de votre programme.Étant donné que le code d'assembly peut être combiné avec des instructions de C, il peut effectuer les tâches qui sont encombrantes ou impossibles dans seul C.
Le mot clé d' __asm appelle l'assembly inline et peut arriver là où l'instruction c est conforme.Elle ne peut pas apparaître seul.Elle doit être suivie d'une instruction assembly, un groupe d'instruction placée entre accolades, ou, pour le moins, une paire d'accolades vide.Le terme « bloc d'__asm » fait référence ici à une instruction ou groupe d'instructions, si accolades.
Le code ci-dessous est un bloc simple d' __asm entre accolades.(Code est une séquence personnalisée du prologue de fonction.)
__asm
{
push ebp
mov ebp, esp
sub esp, __LOCAL_SIZE
}
Sinon, vous pouvez mettre __asm devant chaque instruction assembly :
__asm push ebp __asm mov ebp, esp __asm sub esp, __LOCAL_SIZE
Étant donné que le mot clé d' __asm est un séparateur d'instruction, vous pouvez également placer des instructions assembleur sur la même ligne :
__asm push ebp
__asm mov ebp, esp
__asm sub esp, __LOCAL_SIZE
détail de FIN Microsoft