我想知道 g++ 使用哪种 ASM 风格(AT&T 或英特尔)。我正在处理一项要求我为各种 ASM 指令提供定义的任务。我看到了以下内容:
movl %esp, %ebp
where %esp = stack pointer and %ebp = base pointer
英特尔风格表示上述内容等同于:
movl destination, source
但是将基指针移动到堆栈指针中是没有意义的,这让我想知道 g++ 是否使用 AT&T ASM 样式。
这是我用来生成 ASM(和平台信息)的命令:
g++ -S src -o out.bin
OS: Fedora Linux 14, 2.6.35.10-74.fc14.i686
Compiler: gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC)
我的问题:有没有明确的判断 g++ 正在产生哪种风格?有没有什么开关。
请纠正我哪里错了。提前致谢!