选择和循环结构的机器级表示

  • if-else两种机器级表示

1
注意区分条件转移和无条件转移指令

  • switch-case机器级表示

2
此处机器级代码是先判断了a>17和a<10时的default情况,然后10到17引用了跳转表,跳转表在目标文件的只读节中,按4字节边界对齐
但对于范围较大的swith-case语句不适用

  • 循环结构的机器级表示

3

  • 循环与递归

4
5

过程体中没用到被调用过程保存寄存器。因而,该过程栈帧中仅需保留EBP,
即其栈帧仅占用4字节空间,若考虑栈帧按16B对齐,也仅用16字节,而递归
方式则用了16n字节,是n倍关系!每次递归调用都要执行16条指令,一共多
了n次过程调用,因而,递归方式比循环方式至少多执行16n条指令。
由此看出,为提高程序性能,能用非递归方式执行则最好用非递归方式。


参考:南大计算机系统基础(一)

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值