SunBo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

今天重读《深入理解计算机系统》中关于递归的章节,发现书中的反汇编代码和自己本机的不同,

区别在于书中的递归汇编代码中有多处push操作,而本机的汇编代码中没有。

C代码如下:

 

本机汇编代码如下:

 

书上的汇编代码:

 

 

movl    %eax, (%esp) 是将%eax(参数n)放入栈顶,完成了参数压栈的操作。

 

与书中的汇编代码相比,

1、使用的寄存器数量少了;

2、指令数量少了。

posted on 2010-10-14 16:37  SunBo  阅读(581)  评论(0编辑  收藏  举报