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