打印

DSP软件,C 和ASM的优点和缺点是什么?

[复制链接]
2351|11
手机看帖
扫描二维码
随时随地手机跟帖
沙发
airwill| | 2012-9-20 19:58 | 只看该作者
DSP软件, 其实很多高效的指令都没有办法用通用的 C 的语法来实现, 大量调用内部函数.
感觉别扭, 对于关键的代码, 干脆用 ASM 来完成, 可见 ASM 的效率可以得到提高.
但是 ASM 的结构性, 可读性和可维护性, 以及程序员写代码的效率却很低

使用特权

评论回复
板凳
wjzx111056| | 2012-9-20 19:59 | 只看该作者
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
   对于目前普遍使用的RISC架构的8bitMCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。

使用特权

评论回复
地板
gaochy1126| | 2012-9-20 23:40 | 只看该作者
ASm执行速度没的说呀,但是写起来繁琐而已

使用特权

评论回复
5
jojojoy| | 2012-9-21 16:13 | 只看该作者
c语言要简单点呵

使用特权

评论回复
6
hawksabre| | 2012-9-22 18:58 | 只看该作者
汇编语言属低级语言,而C语言是高级语言,所谓高级语言就是更容易被人们理解的语言,其实汇编语言能实现的功能往往也能通过C语言来实现,甚至用C语言会更简单,但是汇编语言有一个优势是其他任何语言所不具备的,这也是为什么汇编语言一直能在编程中占有一席之地,那就是汇编语言对硬件的直接控制,也就是说他能直接对硬件操作,可以绕过操作系统等等之类。虽然有的领域其他编程也能实现,但是在很多地方往往是汇编语言能更加简单,更加完美的完成。而且学好了汇编语言你就能对cpu是怎么工作的有了清晰的认识,所以学计算机专业的一般都会学汇编语言。

使用特权

评论回复
7
hawksabre| | 2012-9-22 18:58 | 只看该作者
这是个人的一点感想    希望对你有所帮助

使用特权

评论回复
8
springspring| | 2012-9-23 19:50 | 只看该作者
c就是简单,直观,初学的时候都是C

使用特权

评论回复
9
sqcumt123| | 2012-9-24 13:15 | 只看该作者
C语言是比较灵活的语言,可以自定义很多东西,更改也方便,适合于编程但不利于机器读取

使用特权

评论回复
10
五谷道场| | 2012-9-24 16:14 | 只看该作者
一般对速度要求比较高的地方使用ASM进行编程,但代码大部分还是用C语言编写,容易理解编写方便

使用特权

评论回复
11
爱之翼V| | 2012-9-26 08:49 | 只看该作者
C语言简单方便,ASM用于高级编程

使用特权

评论回复
12
firstblood| | 2012-9-27 14:38 | 只看该作者
好的,跟着楼上各位学习下了,这理论知识的还是蛮重要的啊

使用特权

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

本版积分规则

460

主题

2188

帖子

12

粉丝