打印
[STM32F1]

每条c语句等于多少机器周期??

[复制链接]
271|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
supernan|  楼主 | 2020-10-11 20:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 该帖被管理员或版主屏蔽
沙发
morrisk| | 2020-10-11 20:13 | 只看该作者
看看反汇编 然后找本汇编的书,自己算算

使用特权

评论回复
板凳
yufe| | 2020-10-11 20:17 | 只看该作者
如若遇到for,if 这类语句,怎么计算?如若程序有2,000条,20,000汇编语句,怎么自己算?

使用特权

评论回复
地板
wangzsa| | 2020-10-11 20:21 | 只看该作者

通过调试窗口看到的反汇编内容不一样么?

使用特权

评论回复
5
wenfen| | 2020-10-11 20:24 | 只看该作者
our_name.a51是宏汇编源代码,读懂它就知道宏汇编分段分模块编程策略。调试窗口已经将各个模块连接成一体,一个大模块,若是几万行的代码,把你看晕。

使用特权

评论回复
6
tian111| | 2020-10-11 20:29 | 只看该作者
测时间,研究具体多少语句没有太大意义,可以估计1行C=7行汇编。

使用特权

评论回复
7
xxrs| | 2020-10-11 20:32 | 只看该作者
很多相同功能的语句,如果编译器没有优化,不能的写**导致不一样的编译长度,例如for(i = 10; i > 0; i --)
的最终指令数就要少于for(i = 0; i < 10; i ++)

使用特权

评论回复
8
morrisk| | 2020-10-11 20:38 | 只看该作者
很多相同功能的语句,如果编译器没有优化,不同的写法导致不一样的编译长度

使用特权

评论回复
9
langgq| | 2020-10-11 20:41 | 只看该作者
两种写法都是正确的,不过在没有优化的情况下会有不同的编译长度。

使用特权

评论回复
10
huanghuac| | 2020-10-11 20:45 | 只看该作者
这个不清楚 但是好像跟不同的语句也有关系

使用特权

评论回复
11
supernan|  楼主 | 2020-10-11 20:49 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

730

主题

10412

帖子

6

粉丝