1、#比较汇编语言与高级语言,说明其优缺点。答:高级语言是高度封装了的编程语言,与低级语言(又称汇编语言)相对。由于汇编语言依赖于硬件体系,且助记符量大难记,于是人们又发明了更加易用的所谓高级语言。在这种语言下,其语法和结构更类似普通英文,且由于远离对硬件的直接操作,使得一般人经过学习之后都可以编程。高级语言与计算机的硬件结构及指令系统无关,在编写程序方面比汇编语言优越。但是高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参
2、数的地址。优缺点主要有以下:高级语言,具有可移植性,能够结构化编程。使用高级语言的程序,几乎都可以不作改变移植到不同的微机平台上,对于嵌入式等的微控制芯片,属于高级语言的部分也很少需要修改,而且程序很容易读懂。高级语言编写程序结构清晰,移植性好,容易维护和修改。高级语言缺点是,程序的效率不如极端优化的汇编高,特别是数学计算程序。汇编语言针对不同的操作系统平台,不同的微控制器,指令都是完全不同的,即使指令相似,也不具有可移植性。但是汇编语言是针对专门的控制器的,所以运行速度可以精确到一个指令周期。汇编语言的程序读懂需要借助微控制器的指令手册以及各个寄存器的说明,所以很难读懂。汇编语言编写代码实时
3、性强,能够直接控制硬件的工作状态,但是不具有可移植性,维护和修改困难。#“汇编语言”是计算机及电子信息类相关专业一门重要的基础课程,开设这门课程目的不仅仅是教授一门编程语言,更重要的是通过这门课程的学习,可以帮助学生理解计算机的体系结构以及系统各硬件之间如何协调统一工作,为以后从事软硬件相关方面的工作打下良好的基础。结合你自己的学习经历,谈谈你认为学习汇编语言的意义,以及汇编语言今后的发展前景。在学习了汇编语言这门课程后,我深深了解了汇编语言是最近接近于机器语言的编程语言。如果说机器语言是计算机操作的本质,那么汇编语言就是最最接近本质的语言。汇编语言操作直接面向硬件。我们在使用汇编语言的时候,
4、我们能够感知计算机的运行过程和原理,从而能够对计算机硬件和应用程序之间的联系和交互形成一个清晰的认识。这也是最能购锻炼编程者编程思维逻辑的。只有我们学习了汇编语言,才能形成一个软、硬兼备的编程知识体系,这事任何高级语言都无法给予的!相对于繁复的高级语言,汇编语言指令集合更简约,指令操作更直接,从汇编开始学习更符合循序渐进的学习原理!所以,对于像我们这种计算机技术初学者或者自学者,汇编语言的重要性无可替代。通过学习汇编语言,能够加深对计算机原理和操作系统等课程的理解。通过学习和使用汇编语言,能够感知、体会和理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原
5、理,打下实践应用基础。迄今为止,还没有程序员敢断定汇编语言是不需要学的,同时,汇编语言(Assembly Language)是面向机器的程序设计语言,设计精湛的汇编程序员,部分已经脱离软件开发,挤身于工业电子编程中。对于一个全面了解微机原理的程序员,汇编语言是必修语言。汇编语言(Assembly Language)是面向机器的程序设计语言。历史上,汇编语言曾经是非常流行的程序设计语言之一。随着软件规模的增长,以及随之而来的对软件开发进度和效率的要求,高级语言逐渐取代了汇编语言。但即便如此,高级语言也不可能完全替代汇编语言的作用。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码。由于这部分代码与硬件的关系非常密切,即使是 C 语言也会显得力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能。汇编语言试用于很多领域。例如:要求执行效率高、反应快的领域,如:操作系统内核,工业控制,实时系统等;系统性能的瓶颈,或频繁被使用子程序或程序段;与硬件资源密切相关的软件开发,如:设备驱动程序等;受存储容量限制的应用领域,如:家用电器的计算机控制功能等;没有适当的高级语言开发环境。