【发布时间】:2013-03-19 21:29:25
【问题描述】:
如果您希望在 C++ 中编写内联汇编(使用英特尔编译器编译 C++ 时),您使用哪种汇编语法?是 FASM/NASM 还是 MASM?这对您使用的操作系统有影响吗(或者英特尔编译器是否将这种差异抽象出来)?
【问题讨论】:
如果您希望在 C++ 中编写内联汇编(使用英特尔编译器编译 C++ 时),您使用哪种汇编语法?是 FASM/NASM 还是 MASM?这对您使用的操作系统有影响吗(或者英特尔编译器是否将这种差异抽象出来)?
【问题讨论】:
根据Intel,英特尔® C++ 编译器支持 Microsoft 风格和类 GNU 风格的内联汇编:
内联汇编
Microsoft* 样式内联汇编
英特尔® C++ 编译器支持 Microsoft 风格的内联汇编。看 正确语法的 Microsoft 文档。
类 GNU* 样式内联汇编(仅限 IA-32 架构和 Intel® 64 架构)
英特尔® C++ 编译器支持类 GNU 风格的内联汇编。这 语法如下:
asm-keyword [ volatile-keyword ] ( asm-template [ asm-interface ] ) ;注意
如果汇编代码使用 AT&T*,英特尔® C++ 编译器支持 gcc 样式的内联 ASM System V/386 语法。
【讨论】: