打印

单片机开发之C语言和汇编预言对比

[复制链接]
2282|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sqcumt123|  楼主 | 2012-4-16 16:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
随着计算机时代的不断创新,想必大家对C语言和汇编语言有了一定的了解呢,但是在单片机您觉得是用那种编程语言会比较好呢,下面由卓跃教育为您介绍。  
      汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。  
      对于目前普遍使用的RISC架构的8bitMCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。  
      而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。
因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统对于目前普遍使用的RISC架构的8bitMCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。
     对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。如果对这些特性不了解,那调试起来就有的烦了,到头来可能还不如用汇编来的快。

相关帖子

沙发
职场新鲜人| | 2012-4-17 11:28 | 只看该作者
感觉还是C语言用得多一些

使用特权

评论回复
板凳
qingjiegong| | 2012-4-17 13:33 | 只看该作者
在学单片机的时候用的汇编,而现在基本都沾过手,都用的C语言...

使用特权

评论回复
地板
五谷道场| | 2012-4-18 16:29 | 只看该作者
学习汇编硬件,可以更了解和接近硬件的工作原理,呵呵

使用特权

评论回复
5
u880| | 2012-4-18 21:42 | 只看该作者
挺有道理的

使用特权

评论回复
6
huigoushang| | 2012-4-18 21:54 | 只看该作者
看一看

使用特权

评论回复
7
G21372| | 2012-4-18 22:41 | 只看该作者
有道理

使用特权

评论回复
8
davines| | 2012-4-19 15:15 | 只看该作者
学习单片机,C语言不离手。:$

使用特权

评论回复
9
ji7411| | 2012-4-21 08:41 | 只看该作者
嗯。楼主讲的不错。

使用特权

评论回复
10
renyi581176| | 2012-4-21 10:14 | 只看该作者
多谢分享

使用特权

评论回复
11
文峰聊书斋| | 2013-4-19 13:52 | 只看该作者
一看你们就晕,C是一定要用的,但是汇编和C语言一样,很多厂家使用汇编的,不用C。都得会,苦逼我们开发的了。

使用特权

评论回复
12
shenmu2012| | 2013-4-23 15:42 | 只看该作者
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。

使用特权

评论回复
13
shenmu2012| | 2013-4-23 15:48 | 只看该作者
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。

使用特权

评论回复
14
pmp| | 2013-4-24 00:20 | 只看该作者
还是喜欢C

使用特权

评论回复
15
pmp| | 2013-4-24 00:20 | 只看该作者
汇编种类太多了

使用特权

评论回复
16
firstblood| | 2013-4-25 09:59 | 只看该作者
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 

使用特权

评论回复
17
gygp| | 2013-4-25 14:57 | 只看该作者
用一种单片机就得学一种汇编,麻烦。

使用特权

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

本版积分规则

88

主题

2107

帖子

1

粉丝