SunBo

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

2010年10月14日

摘要: 今天重读《深入理解计算机系统》中关于递归的章节,发现书中的反汇编代码和自己本机的不同,区别在于书中的递归汇编代码中有多处push操作,而本机的汇编代码中没有。C代码如下:int fib_rec(int n){ int prev_val, val; if(n < 2) return 1; prev_val = fib_rec(n - 2); val = fib_rec(n - 1); return prev_val + val;} 本机汇编代码如下:fib_rec: pushl ... 阅读全文
posted @ 2010-10-14 16:37 SunBo 阅读(581) 评论(0) 推荐(0) 编辑

摘要: 3. 各类型的数据在栈中的排列方式栈的增长方式:由高地址向低地址方向增长数据存放方式:例如内存中存放的long型数据为0x12345678a. 高端法(Gig Endian)高字节(高位) => 低地址低字节(低位) => 高地址 |----------|0x2003 | 78 | high address |----------|0x2002 | 56 | |----------|0x2001 | 34 | |----------|0x2000 | 12 | low address |----------|数组存放方式(大端法):例如int a[8]; |----------|a 阅读全文
posted @ 2010-10-14 11:41 SunBo 阅读(242) 评论(0) 推荐(0) 编辑