当前位置:编程学习 > 汇编语言 >>

关于protues中仿所用的程序,用c语言编的程序和用汇编语言编写的程序,哪个更有更有优势?

我只会c语言,可看很多资料都是用的汇编语言。只会c语言能学好protues?请高手指教,谢了!
答案:对于问题我想说以下几点:
1.Proteus仿真时需要加载的是经过汇编(由汇编语言编写的源程序文件时)或编译与汇编(由C或其他高级语言编写的源程序文件要先编译成汇编语言,再汇编成hex、bin文件)的hex文件(称为目标文件)。
2.Proteus与C语言没有必然关系,要的只是hex文件,可以经过编译生成hex文件的语言一大堆。
3.学好Proteus没有成就感,Proteus只适合一些小的设计,上不了正堂,而且Proteus仿真过的,实物不一定行的通,Proteus只适合理论上的初步验证,当然学了还是多多益善。
4.汇编语言比C语言等在生成hex文件时形成指令的效率更高,比如,汇编语言几乎每一句都有用,都会生成有效的二进制指令(除伪指令外),而C语言在生成二进制指令时有好多多余的语句(比如函数调用时的不必要的入堆栈保护)。
5.汇编简练,不易移植,不适合大一点的工程;C的编译效率低,但是可移植性好,总之各有优势,你现在看的应该是一些学习性的单片机程序,当然是小程序,经常遇到汇编就正常。
6.建议既要会C也要会汇编,这样在以后用C等编写的大工程中调试程序时,也可以知道某条语句其实现的原理,以便更好发现问题,解决问题。
其他:用C的要多点! 对于绝大多数人和绝大多数情况下,C和汇编基本没有区别。
对于Proteus来说,和单片机连接的程序都是编译过的,C和汇编都一样。
学好Proteus和会C还是汇编没有关系。 最早用汇编都是因为可编程微处理器的片内或者片外RAM和ROM的空间太小了,必须仔细的利用每一个字节。而汇编恰恰可以做到这一点。C语言是高级语言,经过编译器编译之后,存储器的分配是由编译器自动分配的,所以用的RAM要多。现在的微处理器都有很丰富的内存,所以基本没必要用汇编了! 如果是学习编程,仅就proteus来说,用汇编更有优势。因为只要用proteus的话就可单步调试,如果你的程序有bug,可以很容易看出。这对学习汇编很有帮助的。 
如果是学习proteus,那和用C还是汇编是一样的,没什么区别。 

上一个:汇编填空题
下一个:汇编语言该怎样学 给点意见

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,