崩溃实用程序可以反汇编内核函数。但它使用什么格式?哪个是第一个,源还是目标?
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
更多信息: