崩溃实用程序的反汇编程序使用什么格式来输出汇编指令?

崩溃实用程序的反汇编程序使用什么格式来输出汇编指令?

崩溃实用程序可以反汇编内核函数。但它使用什么格式?哪个是第一个,源还是目标?

inst src, dist 

或者

inst dist, src

我要问的是:

crash> dis sys_signal
0xc0112c88 <sys_signal>:        push   %ebp
0xc0112c89 <sys_signal+1>:      mov    %esp,%ebp
0xc0112c8b <sys_signal+3>:      sub    $0x28,%esp
0xc0112c8e <sys_signal+6>:      mov    0xc(%ebp),%eax
0xc0112c91 <sys_signal+9>:      mov    %eax,0xffffffec(%ebp)
0xc0112c94 <sys_signal+12>:     movl   $0xc0000000,0xfffffff0(%ebp)
0xc0112c9b <sys_signal+19>:     lea    0xffffffd8(%ebp),%eax

答案1

反汇编程序生成AT&T 语法汇编代码将源放在最前面,将目标放在最后。(英特尔语法则相反,你可以根据各种符号的使用来区分它们,如%$。)

  • AT&T:mov %srcreg,%dstreg
  • 英特尔:mov dstreg, srcreg

更多信息:

相关内容