有没有办法使用 NASM 语法进行内联汇编?

kam*_*ow1 6 gnu-assembler nasm inline-assembly rust

我真的不喜欢 GNU 汇编器语法,并且我使用 NASM 语法编写的一些现有代码移植起来会非常痛苦且耗时。

是否可以使global_asm!()宏使用 NASM 作为汇编程序或使 GAS 使用 NASM 语法?

Dwi*_*wne 3

你也许可以改变它,但似乎 GAS 是唯一可行的选择。在指令支持中:“内联汇编支持 GNU AS 和 LLVM 内部汇编器支持的指令子集,如下所示。使用其他指令的结果是特定于汇编器的(并且可能导致错误,或者可能按原样接受)。此外,文档指出“目前,所有受支持的目标都遵循 LLVM 内部汇编器使用的汇编代码语法,该语法通常对应于 GNU 汇编器 (GAS) 的语法。在 x86 上,默认情况下使用 GAS 的.intel_syntax noprefix 模式。”

这可能也有帮助https://github.com/Amanieu/rfcs/blob/inline-asm/text/0000-inline-asm.md