_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 专用

另请参阅

在 __asm 块中使用汇编语言