_emit Pseudoinstruction
Microsoft-spezifisch
Die _emit Pseudostruktur definiert ein Byte an der aktuellen Position im aktuellen Textsegment. Die _emit Pseudostruktur ähnelt der DB-Direktive von MASM.
Das folgende Fragment platziert die Bytes 0x4A, 0x43 und 0x4B in den Code:
#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
randasm
}
Achtung
Wenn _emit
Anweisungen zum Ändern von Registern generiert und Sie die Anwendung mit Optimierungen kompilieren, kann der Compiler nicht ermitteln, welche Register betroffen sind. Wenn _emit
beispielsweise eine Anweisung generiert wird, die das Rax-Register ändert, weiß der Compiler nicht, dass rax geändert wurde. Der Compiler kann dann eine falsche Annahme über den Wert in diesem Register vornehmen, nachdem der Inlineassemblercode ausgeführt wurde. Daher kann Ihre Anwendung bei der Ausführung unvorhersehbares Verhalten aufweisen.
Ende Microsoft-spezifisch