【发布时间】:2015-05-22 10:25:53
【问题描述】:
我在 64 位 SUSE Linux 上运行 32 位 C 应用程序。 我刚刚在 gdb 中反汇编了它的一个函数,我在函数开始时看到了下面的程序集,即函数序言:
0x08048c0e <+0>: push %ebp
0x08048c0f <+1>: mov %esp,%ebp
汇编指令mov指令语法我猜是:
mov <Destination>, <Source>
但是看到上面的汇编代码好像改成了
mov <Source>, <Destination>
汇编指令的语法是否依赖于处理器?
【问题讨论】:
-
gcc,gas,objdump等默认使用AT&T汇编语法。您可以将它们设置为使用带有适当命令行选项的 intel 样式语法:gcc -masm=intel、objdump -M intel... -
感谢 EOF。它消除了疑虑。
-
标题问题,汇编指令的语法是否依赖于处理器?,由于不同的处理器有不同的汇编指令,显然答案是“是” >。但是相同的处理器可以有不同的汇编语法,这取决于所使用的汇编工具。
标签: assembly