Partilhar via


_emit Pseudoinstrução

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

Ver também

Usando a linguagem Assembly em blocos __asm