_emit, pseudo-instruction
Section spécifique à Microsoft
La pseudoinstruction _emit définit un octet à l’emplacement actuel dans le segment de texte actuel. La pseudoinstruction _emit ressemble à la directive DB de MASM.
Le fragment suivant place les octets 0x4A, 0x43 et 0x4B dans le code :
#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
randasm
}
Attention
Si _emit
génère des instructions qui modifient les registres et que vous compilez l'application avec les optimisations, le compilateur ne peut pas déterminer quels registres sont affectés. Par exemple, si _emit
elle génère une instruction qui modifie le registre rax , le compilateur ne sait pas que rax a changé. Le compilateur peut alors évaluer de façon incorrecte la valeur dans ce registre après l'exécution du code assembleur inline. Par conséquent, votre application peut présenter un comportement imprévisible lorsqu'elle s'exécute.
FIN de la section spécifique à Microsoft