资源描述
为什么要学习汇编语言?
作为符号化的机器语言,汇编语言不适宜承载编程技术的发展,历史证明,这个任务更合适由高级语言来完成,这也正是汇编语言早已不是主流编程工具的根本原因。不过:
①汇编语言将长期存在
如果基于存储(机器指令)程序式计算机的原理结构不变,汇编语言将一直存在,这是其他高级语言无法企及的;
②汇编语言是计算机原理的重要内容
通过汇编语言指令才能正确全面地了解计算机的基本功能和行为方式;任何其他编程语言都必须编译成机器语言(本质上也可以说是汇编语言)代码才能被计算机接受和执行,所以,汇编语言在计算机中居于顶(软件之)天立(硬件之)地的重要地位,是计算机原理的重要内容,是多门计算机专业课的重要基础。
③汇编语言适合初学者学习
汇编语言是一门功能基本完备、涉及面全、小巧玲珑的编程语言,且门槛不高,比较适合初学者学习。通过学习汇编语言,能使我们从CPU的层面思考问题,可有效提高计算机科研及应用开发的思维深度。
④透析高级语言功能机理的有效工具
任何高级语言都必须翻译成机器(或汇编)语言才能执行,所以任何高级语言的功能和实现机理,最终都将以机器(或汇编)代码的形式————简明无二义性地表述出来:这就是说,我们可以通过反汇编代码,透析和研究任何高级语言的功能和实现机理。
为了让更多的计算机学习者意识汇编语言的重要性,我就抛砖引玉,发表一下对汇编语言的理解,希望能够让更多的计算机技术的学习者对汇编语言的作用有一个正确的认识。
1.汇编语言
汇编语言是最接近于机器语言的编程语言。如果说机器语言是计算机操作的本质,那么汇编语言就是最最接近本质的语言。汇编语言操作直接面向硬件,所以,我们在使用汇编语言的时候,我们能够感知计算机的运行过程和原理,从而能够对计算机硬件和应用程序之间的联系和交互形成一个清晰的认识。这也是最能够锻炼编程者编程思维逻辑的,只有这样,学习者才能形成一个软、硬兼备的编程知识体系,这是任何高级语言都无法给予的!相对于繁复的高级语言,汇编语言指令集合更简约,指令操作更直接,从汇编开始学习更符合循序渐进的学习原理!所以,对于计算机技术初学者或者自学者,汇编语言重要性无可替代!
2.汇编语言之于高级语言
不否认,在应用层面,高级语言占据了软件开发市场的绝大部分。也正是这种现象,误导了学习者,甚者是教育者!所以目前高校计算机专业的现状是:专业课程中C语言,C++,java等高级语言一应俱全,而毕业的学生却连简单的程序都不能编写。为什么?听不懂,学不会!这就是缺乏基础造成的!
汇编语言才是计算机技术的基础,而不是常说的C语言。之所以说汇编重要,其一个重要的原因就是,汇编语言能够让你更好的理解高级语言,尤其是高级语言中的C语言。汇编语言对于内存的操作都是基于内存地址的,而C语言中最令人头疼的指针概念,说白了就是内存的地址。指针的学习和应用中最头疼的就是在指针这个抽象的概念和实际的内存单元之间建立思维映射,而这些恰恰是我们在汇编语言学习中频繁做的一件平常事。另外,对于C语言中的数据类型、形参实参、函数调用、全局变量、局部变量等概念及操作,我们都可以用汇编语言中的一些操作相关联,把这些抽象的概念和过程,通过汇编语言形成一个具体的映像,深度剖析,这样我们才能真正的学会、学好C语言。
有了汇编和C的基础,那些所谓的面向对象的语言学习起来就更为顺畅了!奉劝那些好高骛远的学习者,踏踏实实的从汇编开始吧,古云:磨刀不误砍柴工啊!
3.汇编语言之于应用
很多学习者放弃对于汇编语言的学习,是因为高级语言的开发更容易找到工作。这个理由也是我见到过的最现实的。但是,这里面明显存在着认识误区!
首先,我们的学习是一个系统过程,我们的知识结构不是一个单一课程所能够建立的。所以,学习汇编的目的并不是非要用汇编去挣饭钱。因为汇编语言对于一个编程人员所应该具备的基本素质的培养和形成得意义是非常重大的!这在前文中已经分析了,不再赘述!
其次,汇编本身也是很重要的应用技术。由于学习者,尤其是在校的学生,平时接触的最多的是纯软件的东西,所以,觉得五花八门的软件才是计算机技术应用的舞台。那么这些人最终会成为那位博主提到的那些工作后才意识到汇编的作用的“师兄”!汇编的操作由于跟硬件紧密相关,所以,很多硬件设施的嵌入式编程使用的都是使用的汇编语言,因为汇编语言更直接,更有效率!我们现在的数码产品很多,而这些数码产品赖以生存的芯片,主板等,都包含了嵌入式程序,而这些程序中,汇编语言的使用是相当重要的!
while(1){
编程;
if(遇到问题){
while(1){
if(解决掉了){
break;
}else{
continue;
}
}
while(1){
反思;
if(明白了为什么成功或为什么失败){
进步;
break;
}
}
} else {
不可能,不会执行到这里;
}
}
展开阅读全文