杂记之C语言之无限循环

嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?

汇编代码 -- 在vc6.0中生成相应语句的汇编代码 DEBUG模式

 //死循环
 for (;;)
 {
  x = 1;
 }

 while (true)
 {
  x = 1;
 }

对应的汇编语句为:

 $L270:
; 对于for的真循环,没有判断语句,直接执行for循环体内数据
; x = 1

 mov DWORD PTR _x$[ebp], 1
; for循环执行
 jmp SHORT $L270


$L271:
; 对于while(true)循环,有3条汇编语句来判断
 mov eax, 1
 test eax, eax
 je SHORT $L274
; x = 1
 mov DWORD PTR _x$[ebp], 1
; 无条件跳转到判断语句开始位置
 jmp SHORT $L271

理解:for比while要快一些。for(;;)是直接跳转,while多了两条指令而已。

Loop:                                                                                                                                                                                                                                 -------                                      

goto Loop;      

运用了汇编思想,直接使用goto语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值