一条C语言指令运行的时间是多少

程序1:
Void delay1ms(word count)
{word i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++)
;
}
程序2:
Void delay1ms(word count)
{word j;
while(count--!=0)
{for(j=0;j<72;j++)
;
}
}
这两个程序都是延时1ms*count,为什么for程序设置为120,而while程序设置成72,望分析之,谢谢。

视编译后的内容定。
最终计算机运行的都是汇编语言的指令。因此,c语言只是个过渡的高级编译工具。
如果需要看某个c语言命令的运行时间,建议编译后,查看其中的每条汇编指令,再查相关的汇编指令的运行周期,根据cpu的时钟,累计计算出具体多少时间。
粗略的办法:
将某条c语言命令重复运行1万遍(以上),记录开始的时间和结束的时间,并除运行次数。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-08-19
编译后,反汇编出来看就晓得了。用for更简洁,这是第一个函数的反汇编:
22: for(i=0;i<count;i++)
C:0x0D7E E4 CLR A
C:0x0D7F FE MOV R6,A
C:0x0D80 EE MOV A,R6
C:0x0D81 C3 CLR C
C:0x0D82 9F SUBB A,R7
C:0x0D83 500A JNC C:0D8F
23: for(j=0;j<120;j++)
24: ;
C:0x0D85 E4 CLR A
C:0x0D86 FD MOV R5,A
C:0x0D87 0D INC R5
C:0x0D88 ED MOV A,R5
C:0x0D89 B478FB CJNE A,#0x78,C:0D87
C:0x0D8C 0E INC R6
C:0x0D8D 80F1 SJMP C:0D80
25: }
第2个回答  2019-05-08
编译后,反汇编出来看就晓得了。用for更简洁,这是第一个函数的反汇编:
22:
for(i=0;i
评论
0
0
0
加载更多
第3个回答  2008-08-19
一条C语言指令运行的时间是多少
取决于你用哪条指令, 会被编译成多少机器指令, 还有. 你的编译优化级别也有关系
第4个回答  2008-08-19
可能是while比for慢吧。本回答被提问者采纳

c语言运行一条指令要多少时间
1.C语言源程序通过预处理然后编译,产生汇编代码,不同的汇编代码和指令有不同的执行时间。2.一个指令的执行时间,用其所需要的指令周期(执行一条指令所需要的时间)来衡量。对于单字节指令,就是一个读取-执行周期(fetch-execute cycle),对于多字节指令,还需要更多的指令周期。3.一个指令周期,一般...

C语言中 ,一个语句执行一般(家用PC)需要多少时间?
1.C语言源程序通过预处理然后编译,产生汇编代码,不同的汇编代码和指令有不同的执行时间。2.一个指令的执行时间,用其所需要的指令周期(执行一条指令所需要的时间)来衡量。对于单字节指令,就是一个读取-执行周期(fetch-execute cycle),对于多字节指令,还需要更多的指令周期。3.一个指令周期,一般...

程序执行一条语句需要多久的时间
1.C语言源程序通过预处理然后编译,产生汇编代码,不同的汇编代码和指令有不同的执行时间。2.一个指令的执行时间,用其所需要的指令周期(执行一条指令所需要的时间)来衡量。对于单字节指令,就是一个读取-执行周期(fetch-execute cycle),对于多字节指令,还需要更多的指令周期。3.一个指令周期,一般...

24MHZ单片机中 C语言一条指令需要多少时间
执行单周期指令需要41.7纳秒

c51单片机中,每条c语言需要的时间是多少?
在C51单片机的世界里,每条C语言指令的时间消耗并非固定,它取决于指令的复杂性。通常情况下,一个指令可能需要1到4个机器周期来完成,比如执行乘法或除法操作时,可能需要高达48个时钟周期。然而,许多51单片机型号采用12分频系统,这意味着一个机器周期会被分成12个时钟周期。这就意味着简单的指令可能只...

...c8t6执行一次乘法(浮点)和一次加法(浮点)的时间各是多少?
单条指令执行时间:STM32F10X单片机在主频为72MHz下,C语言程序执行一条指令需要的时间可认为10ns~100ns。

c51单片机中,每条c语言需要的时间是多少?
目前STC有不少型号的单片机有单时钟周期指令,一个时钟周期即为一个机器周期,不进行12分频,就是在1个时钟周期内可以执行一条指令,但只是部分指令可以单时钟周期执行,大多指令需要1-6个时钟周期来完成,相比较而言,已经比普通的12分频单片机速度快多了。51单片机是对所有兼容Intel 8031指令系统的单片机...

单片机中时间问题
C语言的执行时间,从来就没有计算公式。C程序的执行时间,和操作系统有很大的关系,和编译软件也有关,在单片机中,更和变量的存储类型有关(如单字节变量、两字节变量)。因为有如此多的不确定因素,所以,从来就没有办法计算C的执行时间。只是可以在仿真调试的时候,进行实际测量,得到一些(难以通用的...

c51单片机中,每条c语言需要的时间是多少啊,是一个机器周期还是时钟周 ...
目前STC有不少型号的单片机有单时钟周期指令,一个时钟周期即为一个机器周期,不进行12分频,就是在1个时钟周期内可以执行一条指令,但只是部分指令可以单时钟周期执行,大多指令需要1-6个时钟周期来完成,相比较而言,已经比普通的12分频单片机速度快多了。

单片机C语言。while(i--)的 执行时间
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...

相似回答