Pseudoinstruction di _emit
Specifici di Microsoft
Lo pseudoinstruction _emit definisce un byte alla posizione corrente nel segmento di testo corrente.Lo pseudoinstruction _emit è simile alla direttiva DB di MASM.
Nel frammento posiziona i byte 0x4A, 0x43 e 0x4B nel codice:
#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
randasm
}
![]() |
---|
Se _emit genera istruzioni che si modificano i registri e l'applicazione viene compilata con le ottimizzazioni, il compilatore non può determinare quali registri sono interessati.Ad esempio, se _emit genera un'istruzione che modifica il registro rax, il compilatore non riconosce che rax è stato modificato.Il compilatore può quindi erroneamente il valore nel log dopo il codice assembler inline esegue.Di conseguenza, l'applicazione potrebbe presentare un comportamento imprevedibile durante l'esecuzione. |
Microsoft FINALE specifico