满意答案
需要几个指令周期与i的数据类型有关;
参考如下:
int型2字节
9: while(i--);
C:0x000F EF MOV A,R71个指令周期
C:0x0010 1F DEC R71个指令周期
C:0x0011 8E83 MOV DPH(0x83),R62个指令周期
C:0x0013 7001 JNZ C:00162个指令周期
C:0x0015 1E DEC R61个指令周期
C:0x0016 4583 ORL A,DPH(0x83)1个指令周期
C:0x0018 70F5 JNZ C:000F2个指令周期
9*(r7+1)+(256*9+1)*r6+1个指令周期
char型1字节
12: while(a--);
C:0x0027 AF05 MOV R7,0x052个指令周期
C:0x0029 1D DEC R51个指令周期
C:0x002A EF MOV A,R71个指令周期
C:0x002B 70FA JNZ C:00272个指令周期
6*(r5+1)个指令周期
此应用每个指令周期1us。(1e-6s)
已上是keil C 4的编译器的结果。
20分享举报