APP下载

关于汇编语言教学的几点看法

2011-08-15曲瑞超

赤峰学院学报·自然科学版 2011年11期
关键词:汇编语言上机计算机

曲瑞超

(赤峰学院 计算机与信息工程学院,内蒙古 赤峰 024000)

关于汇编语言教学的几点看法

曲瑞超

(赤峰学院 计算机与信息工程学院,内蒙古 赤峰 024000)

“汇编语言程序设计”是一门计算机专业学生必修的重要专业基础课.由于汇编语言具有与高级语言不同的特点,这样就给初学者带来了一定困难,因此采取灵活有效的教学方法,就成为提高教学效果的必要手段.本文结合多年实际教学经验,系统分析了汇编语言课程的特点和重要性.并针对在教学中遇到的实际问题和现象进行探讨,提出了自己的一些看法和措施.即从让学生了解汇编语言的重要性入手,进而帮助学生形成系统的知识结构,并在教学中灵活运用多种教学手段,最终通过实践教学使学生达到熟练掌握的目的.

汇编语言;低级语言;教学方法;实践教学

1 引言

“汇编语言程序设计”是计算机教学体系中一门必修的专业基础核心课程.汇编语言可以直接控制计算机硬件,常用于设备驱动程序、实时控制程序等硬件设计开发等方面.在系统软件的底层、大型软件的性能优化、信息安全与计算机病毒的逆向工程等方面的应用上,汇编语言也具有其他高级语言所无法企及的优势.但是随着计算机编程语言向“面向对象”的发展和计算机人才市场需求的发展,人们越来越不重视汇编语言的应用,与此同时也就忽视了与之相关的教学.有的学校开始压缩课程或不再设置汇编语言的教学.这对学生的学习,特别是对计算机知识体系结构的建立,都是一种很大的损失.因为汇编语言的重要不仅仅体现在它的市场实用性上,更重要的是它在编程上让学生充分接触硬件,理解计算机运行原理,从而让操作者感知计算机的运行过程和原理,这样就能够对计算机硬件和应用程序之间的联系和交互形成一个清晰的认识.这也是最能够锻炼编程者编程思维逻辑的,只有这样,学习者才能形成一个软、硬兼备的编程知识体系,这是任何高级语言都无法给予的.

那么,如何把这个门课程教授好,让学生更好的理解和掌握它呢.在从事汇编语言教学工作这段时间是,对此体会更加深刻,所以觉得有必要从以下几方面进行分析和探讨.

2 汇编语言的特点及学习汇编语言的重要意义

首先需要强调的是汇编语言的特点及在计算机领域中的重要地位.只有让学生清楚的认识到汇编语言的重要性,让学生真正理解学习汇编语言的意义,才能树立学生对本课程学习的热情,并在学习的过程中坚定自己的学习信心.

2.1 作为低级语言的一种,汇编语言主要有以下两方面的特点

第一,直接操作硬件.与高级语言不同,汇编语言是一种面向机器的语盲,是低级语言.汇编语言程序可以方便地直接访问每个内存单元和I/O端口,可最直接和最有效地控制机器硬件,这是大多数高级语言难以做到的.因此汇编语言尤其适用于软硬件关系密切,软件需要直接有效控制硬件的场合,比如:单片机应用开发、接口板卡的驭动程序设计等.

第二,运行效率高.汇编语言是计算机能提供给用户的最快捷又最有效的语言,它可以充分发挥机器系统的优越性能,达到最佳的时间和空间运行效率.因而特别适用于对于程序的空间和时间要求很高的场合,比如:系统程序的关键核心设计开发,实时控制系统开发,智能仪器仪表的控制系统的开发等.

2.2 学习汇编语言的重要意义可以从以下三个方面来看

第一,从汇编语言所处的知识体系来看.学习计算机知识,学习的是计算机整套的系统知识,体系的开启项就应该是汇编语言.原因是由汇编语言本身的特性决定的:它充分接触硬件,理解计算机运行原理,可以让操作者感知计算机的运行过程和原理,从而能够对计算机硬件和应用程序之间的联系和交互形成一个清晰的认识.相对于繁复的高级语言,汇编语言指令集合更简约,指令操作更直接,从汇编开始学习更符合循序渐进的学习原理!

第二,从汇编语言与高级语言的关系上看.计算机的教学是有体系的,而汇编语言是计算机初学者的最佳切入点,这不是说其他课程不重要,也不是说学了汇编就万事大吉,什么高级语言都不用学了.相反,学了汇编语言能够让学生更好的理解高级语言,尤其是高级语言中的C语言.计算机科学的各个方面是一个统一的整体,只有多方面穿插,交互才能更好的搭建计算机知识体系.所以,我们要强调学科之间的联系.汇编对于高级语言的学习有很好的辅助基础作用.

第三,从实际应用来看.由于汇编语言在底层操作、代码效率、运行速度等方面依然保持固有的优势,所以汇编语言在计算机领域中依然有它的独特而重要的地位.比如现在的数码产品很多,而这些数码产品赖以生存的芯片,主板等,都包含了嵌入式程序,而这些程序中,汇编语言的使用是相当重要的.另外所有电脑语言写出的程序运行时在内存中都以机器码方式存储,机器码可以被比较准确的翻译成汇编语言,故几乎所有跟踪、调试工具都是以汇编示人的,因此在软件解锁解密技术中,反汇编被当作最强悍的工具来广泛使用.还有汇编程序是最简洁的语言,用它可以编出最矮小精悍的程序包括病毒程序.由此可以看出,在应用领域也是有汇语言的一席之地的.

3 学习的主体——学生的问题

首先在汇编语言的学习中,学生中存在的比较普遍的一种思想就是“汇编语言无用论”很多学生认为“汇编语言是市面上已经不再用的、过时的且被淘汰的东西”.对于开设这门课程的必要性方面和重要性,很多学生还存在着认识上的误区和盲区.

其次从学生学习的心态和自信心上看,学习心态的丧失是导致学习者放弃学习的直接原因.我觉得要想学好任何知识都必须具备两点:第一是积极的学习心态.缺乏这一点,必然不会学到知识.想学好一门专业,没有积极的学习心态是不行的.就算又再好的老师,再好的教材,都是白白浪费.第二才是负责的教育者,就是能够正确引导学生学习心态和充分调动学生的学习积极性,能够实实在在为学生考虑的人.

我相信每个计算机专业的学生都想学好计算机知识.当他们进入大学后开始以专心学习计算机技术的时候,每个人我相信都有学好计算机技术的态度和信心.对于计算机专业的大学生而言,计算机技术在大学阶段其实是一个开始,是处于一个计算机技术的启蒙阶段.在这个启蒙阶段,最重要的就是入门.当大家都满怀信心的去学习计算机入门教材的C语言的时候,发现太多的“不明白”,比如说,刚开始就是#include和printf(“hello world”),而且被很正式的告知,这就是第一个C语言程序,也是最简单的.可是#include是什么,为什么要在程序的开始加上它?printf怎么就在屏幕上打印了字符了呢?老师说:“include是引入头文件,printf是在屏幕上打印字符!”然后学生理解不了的就得死记硬背,认为这就是计算机规定的.就这样,一天天记、背,这样一个问号一个问号的累积,想不明白的问号太多,最终就会把自己的信心消磨掉从而失去了学习的心态.

失去了学习的心态和信心,是造成一个学生无法学好计算机技术的一个直接原因.所以,我们考虑的重点就在如何建立学生的信心和学习的正确态度.其实,按照生的学习目的我们很容易就能给他们维持和巩固他们的学习热情和学习信心.就是应该从最容易理解的地方入手教授学生,给他们最好的入门教育,不要在他们满怀期待的进门的时候就绊他们一个大跟斗.对于汇编来说,它不象高级语言接近自然语言,让人容易理解和接受,它有着自己独特的语言表达方法,看起来晦涩难懂.此外学生在一些硬件方面的概念和知识上的欠缺也导致了学习上的困难.所以作为教师就应该把最简单最吸引人的小程序让他们作,让他们每完成一个程序都有成就感,这对于建立一个人的学习信心至关重要.

再者就是学生在学习的过程中往往不注重学习方法的培养.本课程大部分计算机院校都会安排在前两个学期,而绝大多数大一的学生都还没有从应试教育走出来,很多学习习惯都高中的,需要老师去提醒去关注才知道去学习,甚至要老师去督促才知道去学习.这样只为了去考个好成绩去学习,去为了一门课程而学习,不能及时灵活地将前后的知识联系贯穿起来,不能做到知识的有效融会贯通和灵活运用,就达不到好的学习效果.

作为教师,应该帮助学生树立正确的学习态度,正确认识开设汇编语言的必要性和重要性.让学生在学习中知难而进,培养学习的兴趣以及埋头苦干的钻研精神和耐力.再次应该理论联系实践,注重学习方法的培养和各学科课程知识的融会贯通以及灵活运用,同时多与老师或同学互相交流,使自己的遇到的问题得到及时的解答,这样教学相长,对老师的教学对同学学习都有个促进.

4 教师方面存在的问题和现象

4.1 教师方面存在的问题

4.1.1 一些教师在教学过程中对学生学习本门课程的重要性强调得不够,不能利用有效的手段激发调动学生的学习积极性,以至于学生在初次接触低级语言中涉及到的一些新概念时,就已经产生了厌烦和抵触情绪,建立了一个不良的开端.

4.1.2 在教学过程中,面对的基本都是大一的学生,他们刚从高中上来,自主学习的能力很弱,教师如果不及时指导督促,很多学生就会把该学的知识点遗漏,所以教师要针对学生的学习情况,及时的调节自己的教学方法和教学进度并不断督促学生,使他们都能在学习上跟进,否则学生一但跟不上,积累的问题就会越来越多,最后就会导致学生对本课程的放弃.

4.1.3 教师在教学过程中对实验环节重视得不够,不能有效地帮助学生通过实践加深对理论知识的理解.另外,在教学中不注重教学手段和方法的运用,给学生在理解一些重点和难点方面造成了一定的困难.

4.1.4 教学用的教材通常是订购的,一些教师往往习惯于依照教材安排的章节来教授,并不十分注重针对所教授学生的具体情况.课堂内容与学生前续知识往往不能有效衔接或者前后内容安排不是很得当,以至于不能有效合理地传达知识,从而增加了学生学习的负担.

4.2 针对教师方面存在的问题,提出几点建议

4.2.1 作为教师应帮助学生建立良好的学习心态、消除心理障碍并有效地调动学生的学习积极性.可以通过列举一些汇编语言应用的实例,比如最简单的字符处理,字符串处理程序,或一些比较实用的小程序.以此实例来体现汇编语言的简洁、高效等优越性,用实实在在的例子来激发调动学生的学习积极性.

4.2.2 要重视教学中的上机实验环节,上机实验是计算机教学中不可缺少的重要教学环节,合理地安排实验内容可以帮助学生更好地理解和领会理论知识,并激发学生的学习兴趣,更好地锻炼动手能力和培养学生不断创新的意识和能力.有意识的加强上机实验课程的讲解,并作好上实验的辅导工作是每位教师应该作的本职工作.很多学校的计算机机房都有专职的辅导教师,这些辅导教师主要是对机房进行管理并对上机的学生进行相应的安排,对学生的课程进度和实验内容了解的不多,所以我觉得实验辅导最好还是由任课教师来作,这样一方面可以更好的指导学生学习,另一方面可以进一步走近学生,实地了解学生对指令的理解和对编程技巧及调试技巧的掌握程度,所谓实践是检验真理的唯一标准,当你看到学生在上机的过程中能够还是不能够熟练运用指令和编程技巧时,你就知道,自己应该在上课的时候应该强调的知识点了.

4.2.3 应该明确本学科在计算机领域中的重要地位,应能深刻地理解和领会本学科的精髓,选择合适的教材或者自编教材,并在施教过程中注重内容的前后衔接,从受教者容易接受和理解的角度合理地安排、调整、增加和删减教材中的教学内容.比如在最初上机的时候就应该增加DEBUG调试软件相关的内容.也应该把汇编语言的上机过程及相应步骤给学生讲清楚,这样就可以解除学生上机实践的理论障碍.

4.2.4 应该注重教学方法和手段的多样化,比如可以把多媒体技术手段引人汇编语言的教学中.通过生动、活泼的文字、声音、图形、动画等多媒体手段,把抽象的问题形象化、复杂的问题简单化、枯燥的问题生动化,以达到深人浅出的目的.

5 结束语

除上述讨论的问题以外,在汇编语言课程教学过程中还会遇到很多问题.只有通过不断的分析、探索和研究才能找出更好的解决方案.因此,作为高等教育教师的,加强汇编语言教学研究在今后也仍然是一项很有意义的工作.

〔1〕沈美明,温冬蝉.IBM PC汇编语言程序设计[M].北京:清华大学出版社,1997.

〔2〕王爽.汇编语言(第2版)[M].北京:清华大学出版社,2008.

〔3〕钱晓捷.新版汇编语言程序设计[M].北京:电子工业出版社,2006.

〔4〕张君.汇编语言程序设计习题集[M].沈阳:东北大学出版社,2011.

TP313

A

1673-260X(2011)11-0046-03

猜你喜欢

汇编语言上机计算机
周金应
计算机操作系统
标准化护理程序对体外膜肺氧合术患者上机各阶段用时的影响
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
基于计算机自然语言处理的机器翻译技术应用与简介
汇编语言与C语言的混合程序设计技术研究
上机数控“可疑”的高毛利率
信息系统审计中计算机审计的应用
提高《汇编语言程序设计》教学效率的思考与实践
试论汇编语言与C语言的混合程序设计技术