我在64位SUSE Linux上运行32位C应用程序。 我只是在gdb中反汇编了它的一个函数,我在函数start看到下面的汇编,即函数序言:
0x08048c0e <+0>: push %ebp
0x08048c0f <+1>: mov %esp,%ebp
汇编指令mov指令语法我猜是:
mov <Destination>, <Source>
但是看到上面的汇编代码似乎改为
mov <Source>, <Destination>
汇编指令处理器的语法是否依赖?
答案 0 :(得分:1)
您所描述的内容通常称为“英特尔”语法,而您的反汇编以AT&amp; T格式显示。
如果您使用的是GDB,则可以执行enum SyntaxConstruction {
COPY {
@Override
public String parseFromString(String str){
// impl
}
},
// ...
;
public abstract String parseFromString(String str)
}
命令进行更改。实际上,您甚至可以将其放入您正在调试的本地目录中的set disassembly-flavor intel
文件中,或者如果您希望在主目录中进行更一般的配置。然后会自动设置。