目录
前言
下面,将分别介绍三种的概念、特点、运用等内容。而对于学习单片机,了解一定的汇编语言是所必须的,比如,stm32的启动文件就是由汇编语言编写的。
一、机器语言
给单片机烧写程序时所用的文件(后缀为.hex)就是由机器语言编写的文件。也即是说单
片机等微机所能直接识别并运行的就是机器语言(二进制表示),如果是其他语言(汇编语言、高级语言)编写的代码必须经过编译软件进行处理,转换得到机器语言之后,才能够给微机烧录。如下,在通过
stc-isp.exe程序给51单片机烧写代码时,可以看到打开的程序文件,全是由十六进制表示的二进制代码。
直接由二进制数表示代码,不易懂,难记忆,易出错。
二、汇编语言
1、概念
汇编语言是一种使用助记符来代替机器指令的操作码,并且使用地址符号或标号来代替指令或操作数的地址的语言,又称为符号语言。
2、特点
程序效率高,占用存储空间小,运行速度快
,用汇编语言能编写出最优化的程序。能直接管理和控制硬件设备(功能部件),它能处理中断,也
机
”
的语言,
缺乏通用性
。因此汇编语言只能在特定CPU的机器语言指令集中找到对应的映射,在不同CPU上无法直接移植,汇编的指令集不一样,指令格式不一样,寻址方式也不一样。每一款CPU都有它自己的汇编指令集,在这款CPU上能用的汇编代码,换一款就不一定能用了,严格来说,即使是一个厂家的产品,不同代的CPU,指令集向前兼容,但是可能会加入新的指令 。
如ARM汇编指令集和MCS—51的汇编指令集就不同。
3、相关概念
汇编程序
。
原始的汇编语言程序称为
源程序
。汇编语言源程序 “翻译”成机器代码(指令代码)的过程称为“
汇编”,
经汇编程序“
汇编(翻译、编译)
”
得到的机器语言程序称为
目标程序
,。汇编可分为
手工汇编和
机器汇编两类:
人工查表翻译指令
。但遇到的相对转移指令的偏移量的计算,要根据转移的目标地址计算偏移量,不但麻烦,且容易出错。
反汇编,即把机器语言转化为汇编语言。
4、汇编指令
即指令系统,不同硬件结构的计算机对应着不同的指令系统,每一条指令语句在汇编时都产生一个指令代码——
机器代码。
汇编时没有机器代码与之对应
,
即伪指令语句只是为了辅助整个汇编源程序逻辑建立等。
三、高级语言
汇编指令虽然较二进制机器指令容易阅读和编写,但还是不如高级语言更接近英语自然语言。解决方法是用高级语言编程,再用某种特殊程序翻译成机器语言。如C、C++、Python、Java、Matlab、LabVIEW等等,都属于高级语言,相对于低级语言(机器语言和汇编语言),它更接近于我们平时正常的人思维。
特点:编写容易,代码可读性好,可移植性好,也就是说,仅需稍作修改甚至不用修改,就可将一段代码运行在不同类型的计算机上。高级语言的好处就在于,语言本身与设备是无关的,同样的代码,在编译的时候编译器会根据目标环境把高级语言编译成相应的机器语言,这样就可以适应更多种类的运行环境。而高级语言只关心逻辑,不同语言之间只需要“翻译” — 即改变语法结构,数据结构一般不做改动或只做微小改动即可。
编译器:具体地说,针对某个用户系统用高级语言编写的用户程序翻译成某个具体的微处理器的机器语言程序(这种过程叫做编译)的软件,叫做编译器。
现在市面上有各种C编译器,能把C语言转换成某个具体的微处理器的机器语言。这种编译器比较适宜于对汇编语言不熟悉的用户使用,其缺点是不可避免地会出现编译后的机器程序冗长、不够简练,导致程序运行时间长、速度低等问题。另外,用汇编语言编程能更有利于硬件电路与程序的结合设计与调试。
当然,在有些时候,会将汇编语言与高级语言混合使用。如STM32用汇编语言写启动文件,而其他部分又通过C语言来进行开发。
完结
本文属于微机基础概念及其内容这篇文章的补充内容,喜欢的铁子可以查阅。
有误之处望指正。
今天的文章机器语言,汇编语言,高级语言各有什么特点_程序设计语言有哪些分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80790.html