汇编语言程序设计(第一节课讲稿)

这个是准备给学生上汇编语言的第一节课的讲稿,如果您看见了,请多提意见.

 

 

为什么要学习汇编语言

汇编是干什么的?为什么要学好汇编?不学不行吗?要学好计算机非得学好汇编吗?这些问题是刚接触汇编语言的同学最常见的问题,也是如今这个连学习的功利性都很强的年代同学们常常思考的问题。人们经常认为汇编语言的应用范围很小,而忽视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。学习汇编的目的并不是非要用汇编去挣饭钱。因为汇编语言对于一个编程人员所应该具备的基本素质的培养和形成得意义是非常重大。

所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。 所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。 机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。

汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。

学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。学习过汇编的人会了解计算机的底层工作方式,他会了解到cpu、内存、硬盘等硬件设备是如果协调地工作在一起,数据从哪里转移到哪里,在哪里被运算,又在哪里被存储起来等等等等。总之,计算机在你的面前不会再是一个黑洞。做这样一个比喻:一个貌美的姑娘总能让小伙子产生美好的幻想,而在医生眼里他永远是由639块肌肉和206块骨头组成的躯体。同样计算机在常人眼里可能是个神奇的东西,但在专业人眼里他就是一堆晶体管。原来我们的目的是让计算机在我们眼里变成一堆晶体管,这才是我们真正要的东西。得出结论:我们的真正目的是让计算机在我们眼里变成一堆晶体管,而不是要学好汇编。

汇编语言是最接近于机器语言的编程语言。如果说机器语言是计算机操作的本质,那么汇编语言就是最最接近本质的语言。汇编语言操作直接面向硬件,所以,我们在使用汇编语言的时候,我们能够感知计算机的运行过程和原理,从而能够对计算机硬件和应用程序之间的联系和交互形成一个清晰的认识。这也是最能够锻炼编程者编程思维逻辑的,只有这样,学习者才能形成一个软、硬兼备的编程知识体系,这是任何高级语言都无法给予的!相对于繁复的高级语言,汇编语言指令集合更简约,指令操作更直接,从汇编开始学习更符合循序渐进的学习原理!所以,对于计算机技术初学者或者自学者,汇编语言重要性无可替代!不要认为自己现在是大三大四的学生了,初学者这个称号离自己很远了,在你没有入门以前,你永远都只是个初学者,不论你能多么熟练的完成“可视化编程”。况且奥运击剑冠军仲满说,自己能够得冠军,也因为自己永远把自己当新人。

不否认,在应用层面,高级语言占据了软件开发市场的绝大部分。也正是这种现象,误导了学习者,甚者是教育者!所以目前高校计算机专业的现状是:专业课程中C语言,C++java等高级语言一应俱全,而毕业的学生却连简单的程序都不能编写。为什么?听不懂,学不会!这就是缺乏基础造成的!

汇编语言是比C语言更重要的计算机技术的基础。之所以说汇编重要,其一个重要的原因就是,汇编语言能够让你更好的理解高级语言,尤其是高级语言中的C语言。汇编语言对于内存的操作都是基于内存地址的,而C语言中最令人头疼的指针概念,说白了就是内存的地址。指针的学习和应用中最头疼的就是在指针这个抽象的概念和实际的内存单元之间建立思维映射,而这些恰恰是我们在汇编语言学习中频繁做的一件平常事。另外,对于C语言中的数据类型、形参实参、函数调用、全局变量、局部变量等概念及操作,我们都可以用汇编语言中的一些操作相关联,把这些抽象的概念和过程,通过汇编语言形成一个具体的映像,深度剖析,这样我们才能真正的学会、学好C语言。 而且讨论到学习C语言的终极目的,应该不是你会用C语言编写了多少个解决鸡鸭同笼的问题,解决了多少个背包问题,而是你是否从无到有建立了程序的概念,是否从无到有了解计算机程序的开发的基本过程,是否从无到有了解了计算机的基本原理?有了汇编和C的基础,那些所谓的面向对象的语言学习起来就更为顺畅了!

 

如何学习汇编语言

学习心态的丧失是导致学习者放弃学习的直接原因,而没有很好的进行入门教育是导致学习者学习心态丧失的重要原因。计算机专业的好的教育者,就是能够引导学生学习心态和积极性,能够实实在在为学生如何学会计算机技术做考虑的人。如果不能正确的认识到什么阶段的学生需要什么样的教育,一味的标榜高级语言,他越努力的教学也就是越兢兢业业的误导学习者

相信每个当初报考计算机专业的学生没有一个不想学好计算机知识的。当你们进入大学后开始以专业的心学习计算机技术的时候,每个人我相信都有学好计算机技术的态度和信心。对于计算机专业的大学生而言,计算机技术在大学阶段其实是一个开始。之前如果学过什么word之类的办公软件,我可以说,那根本就不是计算机技术,只是计算机应用软件。所以,计算机专业的学生大学其实处于一个计算机技术的启蒙阶段。在这个启蒙阶段,最重要的就是入门。当大家都满怀信心的去学习那些被各大高校都当作计算机入门教材的C语言的时候,发现太多的不明白,比如说,刚开始就是#include printf(“hello world”),而且被很正式的告知,这就是第一个C语言程序。想必大家也是从这个开始的吧,因为我就是从这个开始的。那您就没有过疑问?#include是干嘛的,为什么?printf怎么就在屏幕上打印了字符了呢?高深?!非也!就是拿棍子砸你!而老师就跟你说了:“include是引入头文件,printf是在屏幕上打印字符!然后某些人就得死记硬背,认为这就是计算机规定的。就这样,一天记,一天背,而信心呢?一天天消磨!就因为他想不明白为什么,一个问号一个问号的累积,最终否定了自己,失去了学习的心态。写不出简单程序,从最直接的角度来说,是因为学生失去了学习的心态。

其实,按照学习者来学习的目的我们很容易就能给他们维持和巩固他们的学习热情和学习信心。就是给他们最好的入门教育,不要在他们满怀期待的进门的时候就绊他们一个大跟斗。所以,对于教育者就应该明白怎样的入门才能更好的引导学习者。对于教育者传授知识当然离不开课程。所以,我们的解决问题的焦点就明晰了,就是要确定一门最好的入门课程。我们都经历过小学,知道,入门教育的知识结构要简约,直接,而且具备极强的原理性!这三者应该是相当重要的。简约,能够使学习范围更明确;直接,能够使学习感受更加强烈;原理性,能够使学习成果更具广泛性。题外话,纵观计算机各个课程,C语言被大多数教育这认为是最简单的计算机语言了,真的如此么?他们就没有看到他们的教材上那醒目的几个大字“C语言高级编程!我觉得有点自欺欺人,都明明是高级语言了,还敢说是入门的!学生不会,郁闷,失去学习心态,失去了学习进取心!制定这些课程标准的5060后是有责任的。

 我们再回头看看,到底什么语言是最简约,最直接,最具原理性的呢?汇编语言?非也!是计算机语言,语言范围不过01,够简约!代表高低脉冲,够直接!而且计算机就认识这0 1 ,只要会了,至少图灵理论的计算机应该都没问题了,原理性绝对更牛!那他当入门课程?这次直接上板砖算了!那是计算机语言,你是计算机么?不是吧。所以我们没有必要再去拿着0 1 在那念经了!我们既然不能学习这最简约,最直接,最具原理性的机器语言,那应该是什么呢?!俗话说,退而求其次!我们是人,具有创造性,所以,我们就定义了一个和计算机的机器语言最接近的亲戚--汇编语言。

我相信,如果你说的那些因为没有学习心态直接导致没有学习好编程技术的人,当初如果他们的教育者选对了正确的入门课程的话,我想至少还会有很大一部分完成自己入学时的梦想的。(当然不排除就是混日子的,那样的人别说学习汇编了,本来就没有学习之心,不在我讨论范围)

学习心态的丧失是导致学习者放弃学习的直接原因,而没有很好的进行入门教育是导致学习者学习心态丧失的重要原因,学习的关键有以下三点:

一:要有勇气开始汇编的学习,因为有的人听说汇编如何如何难学,所以还没有开始就产生了畏难情绪,这是不对的;另外这也是你一种敢于挑战新事物的精神。

二:在学习的过程中,要多上机编程序,解决到遇到的每一个问题,这样学习才会深入。

三:一定要有一个好的结尾,既然开始了学习,就要克服各种困难,学完课程,这本身也有锲而不舍的精神在里面。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值