_emit Pseudoinstruction
Microsoft 专用
_emit 伪指令在当前文本段的当前位置定义一个字节。 _emit 伪指令类似于 MASM 的 DB 指令。
以下片段将字节 0x4A、0x43 和 0x4B 放入代码中:
#define randasm __asm _emit 0x4A __asm _emit 0x43 __asm _emit 0x4B
.
.
.
__asm {
randasm
}
注意
如果 _emit
生成了修改寄存器的指令,并且您在编译应用程序时进行了优化,则编译器无法确定受到影响的寄存器。 例如,如果 _emit
生成修改 rax 寄存器的指令,编译器将不知道 rax 已更改。 在内联汇编程序代码执行后,编译器随后可能会对该寄存器中的值做出错误假设。 因此,在应用程序运行时,它可能展示出不可预知的行为。
结束 Microsoft 专用