在 __asm 块中使用 C 或 C++ 符号

Microsoft 专用

__asm 块可以引用块显示范围内的任何 C 或 C++ 符号。 (C 和 C++ 符号是变量名、函数名和标签;即,不是符号常量或 enum 成员的名称。不能调用 C++ 成员函数。)

C 和 C++ 符号的使用有一些限制:

  • 每个汇编语言语句只能包含一个 C 或 C++ 符号。 多个符号可以出现在只有 LENGTH、TYPE 和 SIZE 表达式的同一汇编指令中

  • __asm 块中引用的函数必须在程序中及早声明(原型化)。 否则,编译器无法区分 __asm 块中的函数名和标签。

  • __asm 块不能使用与 MASM 保留字具有相同的拼写(无论大小写)的任何 C 或 C++ 符号。 MASM 保留字包括指令名(如 PUSH)和寄存器名(如 SI)

  • 结构和联合标记在 __asm 块中无法识别。

结束 Microsoft 专用

另请参阅

在 __asm 块中使用 C 或 C++