Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Específico da Microsoft
O assembler em linha permite que você incorpore instruções de linguagem de montagem diretamente em seus programas de código-fonte C sem etapas extras de montagem e link. O assembler embutido é incorporado ao compilador — você não precisa de um assembler separado, como o Microsoft Macro Assembler (MASM).
Como o montador em linha não requer etapas separadas de montagem e ligação, é mais conveniente do que um montador separado. O código de montagem em linha pode usar qualquer variável C ou nome de função que esteja no escopo, por isso é fácil integrá-lo com o código C do seu programa. E como o código de assembly pode ser misturado com instruções C, ele pode executar tarefas que são complicadas ou impossíveis apenas em C.
A __asm palavra-chave invoca o assembler embutido e pode aparecer sempre que uma instrução C for legal. Não pode aparecer por si só. Deve ser seguido por uma instrução de montagem, um grupo de instruções fechado em chaves ou, no mínimo, um par de chaves vazio. O termo "__asm bloco" aqui refere-se a qualquer instrução ou grupo de instruções, com ou sem acólitos.
O código abaixo é um bloco simples __asm fechado em chaves. (O código é uma sequência prolog de 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
Como a __asm palavra-chave é um separador de instruções, você também pode colocar instruções de montagem na mesma linha:
__asm push ebp __asm mov ebp, esp __asm sub esp, __LOCAL_SIZE
END Específico da Microsoft