Partilhar via


Montador embutido (C)

Específicos do Microsoft

O montador embutido permite a você incorporar instruções de linguagem assembly diretamente em seus programas de código-fonte c sem assembly extra e etapas do link.O montador in-line baseia-se no compilador — não é necessário um montador separado, como o Microsoft Macro Assembler (MASM).

Como o montador in-line não requer assembly separado e etapas de link, é mais conveniente que um montador separado.Código de assembly embutido pode usar qualquer nome de função ou variável c que está no escopo, portanto, é fácil de integrá-lo ao código do seu programa em C.E porque o código de assembly pode ser misturado com instruções de C, ele pode realizar tarefas que são incômodos ou impossíveis em c sozinhos.

O __asm palavra-chave invoca o montador in-line e pode aparecer sempre que uma declaração de c é legal.Ele não pode aparecer sozinha.Ele deve ser seguido por uma instrução de assembly, um grupo de instruções entre chaves, ou, na pior das hipóteses, um par de chaves de vazio.O termo "__asm bloco" aqui se refere a qualquer instrução ou o grupo de instruções, ou não entre chaves.

O código a seguir é uma simples __asm bloco entre chaves.(O código é uma seqüência de prólogo da função personalizada.)

__asm
{
   push ebp
   mov  ebp, esp
   sub  esp, __LOCAL_SIZE
}

Como alternativa, você pode colocar __asm na frente de cada instrução de montagem:

__asm push ebp   __asm mov  ebp, esp   __asm sub  esp, __LOCAL_SIZE 

Desde que o __asm palavra-chave é um separador de instrução, você também pode colocar instruções assembly na mesma linha:

__asm push ebp
__asm mov  ebp, esp
__asm sub  esp, __LOCAL_SIZE

Específicos do Microsoft final

Consulte também

Conceitos

Atributos de função