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
A pseudoinstrução _emit define um byte no local atual no segmento de texto atual. A pseudoinstrução _emit assemelha-se à diretiva DB do MASM.
O fragmento a seguir coloca os bytes 0x4A, 0x43 e 0x4B no código:
#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
randasm
}
Atenção
Se _emit gerar instruções que modificam registos e o utilizador compilar a aplicação com otimizações, o compilador não conseguirá determinar que registos serão afetados. Por exemplo, se _emit gera uma instrução que modifica o registro rax , o compilador não sabe que o rax foi alterado. O compilador pode então fazer uma suposição incorreta sobre o valor nesse registro depois que o código assembler embutido é executado. Consequentemente, seu aplicativo pode apresentar um comportamento imprevisível quando é executado.
END Específico da Microsoft