for循环占用的指令周期问题
来源:互联网 发布:保税货物需要上传数据 编辑:程序博客网 时间:2024/05/16 12:56
for循环占用指令周期的影响因素:
1.单片机的指令集合,指令所花费的时间周期
2.循环变量的数据类型,所占字节数越大,所占指令周期也就越大
3.循环体完成的工作
以avr单片机为例对于循环代码
for(i=0;i<4;i++);
对应汇编指令如下:
for(i=0;i<1;i++)
0000 ; i -> R16,R17
0000 ; for(i=0;i<4;i++);
00000027 clr R16
00021127 clr R17
0004 L2:
0004 .dbline 4
0004 L3:
0004 .dbline 4
00040F5F subi R16,255 ; offset = 1
00061F4F sbci R17,255
0008 .dbline 4
00080430 cpi R16,4
000AE0E0 ldi R30,0
000C1E07 cpc R17,R30
000ED4F3 brlt L2
开始循环前变量i初始化占用两个指令周期,每次变量i的累加占用两个指令周期。跳转命令的判断占用三个指令周期,跳转命令占用两个指令周期。
所以每次循环占用七个指令周期。
- for循环占用的指令周期问题
- 8051的汇编控制指令,占用字节,执行周期列表
- for循环局部变量的生存周期
- 指令周期的基本概念
- 指令周期的数据流
- ARM 9的频率和指令周期的问题
- 最小的循环周期
- 指令,机器指令,指令周期,机器周期的辨析
- Dos指令下循环的指令(类似于for()语法)
- 时钟周期 机器周期 指令周期的概念
- 时钟周期,机器周期,指令周期的区别
- 单片机时钟周期、机器周期、指令周期的区别
- 时钟周期 指令周期 机器周期的理解
- 单片机时钟周期、机器周期、指令周期的区别
- 时钟周期,机器周期,指令周期的区别
- 【转】时钟周期,机器周期,指令周期的区别
- for循环的效率问题
- for循环的嵌套问题
- android屏幕 单位转换
- cocos2d-x跨android&ios平台开发入门教程
- [DLL]创建和使用静态库Lib
- Java 十进制 转 二进制、八进制、十六进制
- Myeclipse_Struts+Hibernate
- for循环占用的指令周期问题
- 未来 Firefox 将不自动运行所有插件
- C语言中的柔性数组结构
- Linux下Fork与Exec使用
- 远程访问virtualbox当中的osx的方法
- Versions 配合 Xcode 4.5 的 FileMerge
- Linux设备模型(总线、设备、驱动程序和类)之四:class_register
- spring 注解
- hibernate用注解(annotation)配置sequence