_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