Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsoft-specifik
_emit pseudoinstruktionen definierar en byte vid den aktuella positionen i det aktuella textsegmentet. Pseudoinstruktionen _emit liknar direktivet DB i MASM.
Följande fragment placerar byteen 0x4A, 0x43 och 0x4B i koden:
#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
randasm
}
Försiktighet
Om _emit genererar instruktioner som ändrar register och du kompilerar programmet med optimeringar kan kompilatorn inte avgöra vilka register som påverkas. Om _emit till exempel genererar en instruktion som ändrar rax-registret vet kompilatorn inte att rax har ändrats. Kompilatorn kan sedan göra ett felaktigt antagande om värdet i det registret efter att assemblerkoden inlinjats. Därför kan ditt program uppvisa oförutsägbart beteende när det körs.
Avsluta Microsoft Specifik