杂记之C语言之无限循环
来源:互联网 发布:java注解怎么传入变量 编辑:程序博客网 时间:2024/04/28 20:52
嵌入式系统中经常要用到无限循环,你怎么样用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语句。
- 杂记之C语言之无限循环
- 杂记之C语言之循环语句的效率
- 杂记之C语言之关键字const
- 杂记之C语言之库函数assert
- 杂记之C语言函数getchar()
- 杂记之C语言的转义字符
- 杂记之C语言函数strncmp
- C语言之循环语句
- C语言之循环语句
- C语言之 switch循环
- C语言之while循环
- C语言之循环结构
- C语言基础之循环
- 杂记之C语言之指针(一)
- 杂记之C语言之ASCII码中的转换
- 杂记之C语言之条件真假判断
- 杂记之C语言之关键字volatile和static
- 杂记之C语言之指针(二)
- 为什么我的电压器总是烧掉?
- Java反射实例
- C compiler not work ....in configure checking .,..
- 数据库链接
- 触摸屏不能触摸,点了没有动静?
- 杂记之C语言之无限循环
- 控制线如果在当地购买需要购买怎么样的?
- 这个控制线经常会出现什么样的问题?
- linux 强大的strace
- Project Euler 25
- 显示器触摸屏显示线VGA线常见故障
- S3C2440看门狗定时器
- 将所获取的行集合 转换为Map封装为类 供调用
- 电脑主机的故障有哪些?