啥时候必须使用汇编语言

[复制链接]
1725|18
 楼主| zhanghqi 发表于 2013-11-10 13:20 | 显示全部楼层 |阅读模式
heweibig 发表于 2013-11-10 13:20 | 显示全部楼层
汇编语言并不是改善效能的灵丹妙药。
wyjie 发表于 2013-11-10 13:23 | 显示全部楼层
嗯,根据研究,大部分程序效率不佳的原因首先一类自算法本身,其次是编程习惯,例如用了过多不必要的循环或判断。
wyjie 发表于 2013-11-10 13:24 | 显示全部楼层
和CPU特性有关的主要是资料存取的效能问题,假设CPU操作缓存器或外部内存是以32bit为单位,那么在程序中每次操作IB(char)的效能当然比一次读出4B(long)到缓存器中的效能差。
jiajs 发表于 2013-11-10 13:27 | 显示全部楼层
对,通过改善程序的算法和多加注意资料存取的效率才是解决效能问题的主要方法
jiajs 发表于 2013-11-10 13:27 | 显示全部楼层
然后调整编译器最佳化等级,或将该程序模块搬到效能比较好的RAM里执行
liliang9554 发表于 2013-11-10 13:28 | 显示全部楼层
用汇编语言改写绝对是最后的办法。当用汇编语言改写后,再要去找出逻辑与算法的问题时就没不像改C程序那么容易了。
spark周 发表于 2013-11-10 13:29 | 显示全部楼层
非得用到汇编去改写某程序时,通常是对效能要求相当严格的应用的
lizye 发表于 2013-11-10 13:31 | 显示全部楼层
播放压缩过后的声音文件,解压缩的效能不佳会造成播放时断断续续,这样的效能问题不只是单纯的结果比较慢出来而已,而是代表这个应用根本不能使用。
huangchui 发表于 2013-11-10 13:32 | 显示全部楼层
这种状况就必须用上任何的最佳化手段,包含用汇编语言改写。
jiajs 发表于 2013-11-10 13:36 | 显示全部楼层
在我的经验中,从没有从头到尾写一个汇编程序文件,我都是修改的,有时候要弄清楚CPU的汇编语言函数和C语言函数要怎么沟通就很令人伤脑筋了
jiajs 发表于 2013-11-10 13:36 | 显示全部楼层
就算弄懂了第一个参数是用第几号缓存器存放,超过几个参数就要用stack传递等细节,等换个编译器或CPU又有完全不同的规定,工程师的脑力和时间实在不应浪费在这种事情上。
黄小俊 发表于 2013-11-10 16:10 | 显示全部楼层
调试的时候要懂。会用吧。
comeon201208 发表于 2013-11-10 19:10 | 显示全部楼层
楼上几位讲的有些道理的,我也参考的了
 楼主| zhanghqi 发表于 2013-11-10 23:56 | 显示全部楼层
哦,了解了,多谢大家啊
 楼主| zhanghqi 发表于 2013-11-10 23:57 | 显示全部楼层
结贴了,晚安
huangzj121 发表于 2013-11-11 10:56 | 显示全部楼层
TI的FFT库里面 没有存4096或更长的整数表
旋转因子sin() cos()计算又有些慢
而且复值算出来 还得求幅度lg()
...
以前在单片机上用展示计算lg()
发现很慢
慢过串口查询读数 波形reduce sampling
567 发表于 2013-11-11 13:51 | 显示全部楼层
啥时候必须使用汇编语言?
1.开发者除了汇编语言外不会其它语言的。
2.该型号MCU没有C编译器的。
3.对执行时间需要特别精确计算的
4.效率问题。
cxz_00 发表于 2013-11-11 20:05 | 显示全部楼层
用汇编的时候就是对事件要精确控制,或者是你需要对时间有很精确的要求的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部