[技术求助] 谁能讲讲啥时候必须使用汇编语言啊

[复制链接]
316|39
 楼主 | 2018-10-12 15:17 | 显示全部楼层 ||阅读模式
谁能讲讲啥时候必须使用汇编语言啊
| 2018-10-12 15:22 | 显示全部楼层
汇编语言并不是改善效能的灵丹妙药。
| 2018-10-12 15:26 | 显示全部楼层
嗯,根据研究,大部分程序效率不佳的原因首先一类自算法本身,其次是编程习惯,例如用了过多不必要的循环或判断。
| 2018-10-12 15:31 | 显示全部楼层
和CPU特性有关的主要是资料存取的效能问题,假设CPU操作缓存器或外部内存是以32bit为单位,那么在程序中每次操作IB(char)的效能当然比一次读出4B(long)到缓存器中的效能差。
| 2018-10-12 15:37 | 显示全部楼层
对,通过改善程序的算法和多加注意资料存取的效率才是解决效能问题的主要方法
| 2018-10-12 15:41 | 显示全部楼层
然后调整编译器最佳化等级,或将该程序模块搬到效能比较好的RAM里执行
| 2018-10-12 15:45 | 显示全部楼层
用汇编语言改写绝对是最后的办法。当用汇编语言改写后,再要去找出逻辑与算法的问题时就没不像改C程序那么容易了。
| 2018-10-12 15:58 | 显示全部楼层
非得用到汇编去改写某程序时,通常是对效能要求相当严格的应用的
| 2018-10-12 16:03 | 显示全部楼层
播放压缩过后的声音文件,解压缩的效能不佳会造成播放时断断续续,这样的效能问题不只是单纯的结果比较慢出来而已,而是代表这个应用根本不能使用。
| 2018-10-12 16:07 | 显示全部楼层

这种状况就必须用上任何的最佳化手段,包含用汇编语言改写。
| 2018-10-12 16:11 | 显示全部楼层
在我的经验中,从没有从头到尾写一个汇编程序文件,我都是修改的,有时候要弄清楚CPU的汇编语言函数和C语言函数要怎么沟通就很令人伤脑筋了
| 2018-10-12 16:17 | 显示全部楼层
就算弄懂了第一个参数是用第几号缓存器存放,超过几个参数就要用stack传递等细节,等换个编译器或CPU又有完全不同的规定,工程师的脑力和时间实在不应浪费在这种事情上。
| 2018-10-12 16:23 | 显示全部楼层

调试的时候要懂。会用吧。
| 2018-10-12 16:23 | 显示全部楼层

TI的FFT库里面 没有存4096或更长的整数表
旋转因子sin() cos()计算又有些慢
而且复值算出来 还得求幅度lg()
...
以前在单片机上用展示计算lg()
发现很慢
慢过串口查询读数 波形reduce sampling
| 2018-10-12 16:31 | 显示全部楼层

啥时候必须使用汇编语言?
1.开发者除了汇编语言外不会其它语言的。
2.该型号MCU没有C编译器的。
3.对执行时间需要特别精确计算的
4.效率问题。
| 2018-10-12 16:43 | 显示全部楼层

用汇编的时候就是对事件要精确控制
| 2018-10-12 18:23 | 显示全部楼层
嗯,或者是你需要对时间有很精确的要求的。
| 2018-10-12 18:26 | 显示全部楼层

对执行时间需要特别精确计算的需要汇编
| 2018-10-12 18:30 | 显示全部楼层

现在汇编用的越来越少了的,一般都是用C或者c++等高级语言实现了。。
 楼主 | 2018-10-12 18:35 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表