_emit pseudoinstruction
Konkrétní společnosti Microsoft
_Emit pseudoinstruction v aktuálním segmentu text definuje jeden bajt v aktuálním umístění._Emit se podobá pseudoinstruction DB směrnice o jazyk MASM.
Následující fragment bajtů, 0x4B, 0x4A a 0x43 umístí do kódu:
#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
randasm
}
![]() |
---|
Pokud _emit generuje pokyny, registrů, upravit a Kompilovat aplikaci s optimalizací, kompilátor nemůže určit, jaké registry jsou ovlivněny.Například pokud _emit generuje instrukci, která mění rax rejstříku, kompilátor nebude vědět, že rax byl změněn.Kompilátor pak může být nesprávné předpokladů o hodnotu, která po inline assembler kód provede registraci.Aplikace může být v důsledku toho vykazovat nepředvídatelné chování při spuštění. |
Konec konkrétní společnosti Microsoft