一个简单C程序的编译及反汇编

CSAPP Exp1 

meipc@ubuntu:~$ cat ./mj/code1.c

int accum=0;


int sum(int x, int y){
int t=x+y;
accum+=t;
return t;
}


int main(){
return sum(1,2);
}

meipc@ubuntu:~$ gcc -o ./mj/code1 -c ./mj/code1.c
meipc@ubuntu:~$ objdump -d ./mj/code1



./mj/code1:     file format elf32-i386




Disassembly of section .text:


00000000 <sum>:
   0: 55                   push   %ebp
   1: 89 e5                 mov    %esp,%ebp
   3: 83 ec 10             sub    $0x10,%esp
   6: 8b 45 0c             mov    0xc(%ebp),%eax
   9: 8b 55 08             mov    0x8(%ebp),%edx
   c: 01 d0                 add    %edx,%eax
   e: 89 45 fc             mov    %eax,-0x4(%ebp)
  11: a1 00 00 00 00       mov    0x0,%eax
  16: 03 45 fc             add    -0x4(%ebp),%eax
  19: a3 00 00 00 00       mov    %eax,0x0
  1e: 8b 45 fc             mov    -0x4(%ebp),%eax
  21: c9                   leave  
  22: c3                   ret    


00000023 <main>:
  23: 55                   push   %ebp
  24: 89 e5                 mov    %esp,%ebp
  26: 83 ec 08             sub    $0x8,%esp
  29: c7 44 24 04 02 00 00 movl   $0x2,0x4(%esp)
  30: 00 
  31: c7 04 24 01 00 00 00 movl   $0x1,(%esp)
  38: e8 fc ff ff ff       call   39 <main+0x16>
  3d: c9                   leave  
  3e: c3                   ret   
  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值