Pseudo-istruzione _emit
Sezione specifica Microsoft
La pseudoinstruction _emit definisce un byte nella posizione corrente nel segmento di testo corrente. L '_emit pseudoinstruction è simile alla direttiva DB di MASM.
Nel frammento seguente i byte 0x4A, 0x43 e 0x4B vengono posizionati nel codice:
#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
randasm
}
Attenzione
Se _emit
genera istruzioni che modificano i registri e l'applicazione viene compilata con le ottimizzazioni, il compilatore non può determinare i registri interessati. Ad esempio, se _emit
genera un'istruzione che modifica il registro rax , il compilatore non sa che rax è stato modificato. Il compilatore può quindi basarsi su un presupposto non corretto in relazione al valore nel registro dopo l'esecuzione del codice assembler inline. Di conseguenza, l'applicazione potrebbe comportarsi in modo imprevedibile durante l'esecuzione.
Fine sezione specifica Microsoft