天天都饱饱 发表于 2019-1-28 14:52:19

关于mov,sub的问题

mov操作符,不是把第一个操作数存储到第二个操作数吗?
那么为什么可以mov $0,%eax呢?
同理还有sub操作符,到底是第一个操作数减去第二个操作数并存在第一个操作数中;还是第二个操作数减去第一个操作数并存在第二个操作数中,还是两个都可以?
可以用sub %rax,%rcx为例解释吗?

jackz007 发表于 2019-1-28 15:12:44

本帖最后由 jackz007 于 2019-1-28 16:00 编辑

      楼主说的是 AT&T 汇编语言,主要在 Linux 系统使用,在 Windows 下主要使用 Intel 汇编语言,二者的区别和联系可以参考以下链接:

      https://www.cnblogs.com/xiaojianliu/articles/8733496.html

      objdump 通过使用命令行选项 “-M intel”(不包括引号)可以指定按 Intel 汇编格式输出目标程序的反汇编代码,可以通过设置别名:

      alias objdump 'objdump -M intel'

      让 objdump 缺省就按 Intel 汇编格式输出目标程序的反汇编代码;

      gdb 在启动后,通过输入“set disassembly-flavor intel” (不包括引号)指令指定按 Intel 汇编格式显示目标程序反汇编代码。当然,如果偏好 Intel 汇编,可以把此命令保存到 $HOME/.gdbinit,然后通过设置别名:

      alias gdb 'gdb -n -x ~/.gdbinit'

      这样,gdb 缺省就会按照 Intel 汇编格式显示目标程序反汇编代码了。

天天都饱饱 发表于 2019-1-30 07:30:24

jackz007 发表于 2019-1-28 15:12
楼主说的是 AT&T 汇编语言,主要在 Linux 系统使用,在 Windows 下主要使用 Intel 汇编语言,二者的 ...

哦哦哦,好哒谢谢了
页: [1]
查看完整版本: 关于mov,sub的问题