Share via


_emit (Pseudoinstrucción)

Específicos de Microsoft

La pseudoinstrucción _emit define un byte en la ubicación actual del segmento de texto actual. La pseudoinstrucción _emit se parece a la directiva DB de MASM.

El fragmento siguiente coloca los bytes 0x4A, 0x43 y 0x4B en el código:

#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
    randasm
    }

Precaución

Si _emit genera instrucciones que modifican los registros y se compila la aplicación con optimizaciones, el compilador no puede determinar qué registros se ven afectados. Por ejemplo, si _emit genera una instrucción que modifica el registro rax, el compilador no sabe que rax ha cambiado. y podría suponer incorrectamente el valor de ese registro después de la ejecución del código ensamblador alineado. Por consiguiente, la aplicación podría tener un comportamiento impredecible al ejecutarse.

FIN de Específicos de Microsoft

Consulte también

Uso del lenguaje de ensamblado en bloques __asm