APP下载

汇编语言程序设计教学改革初探

2013-07-13王海丰

海南热带海洋学院学报 2013年2期
关键词:汇编语言计算机专业程序设计

王海丰

(1琼州学院电子信息工程学院,海南三亚572022;2东北林业大学信息与计算机工程学院,黑龙江哈尔滨150040)

0 引言

汇编语言程序设计是高校计算机专业的基础课程,其前导课程为高级语言程序设计和计算机组成原理,后续课程为操作系统、计算机接口等课程,汇编语言在整个计算机课程的教学环节中有非常重要的作用。虽然汇编语言是计算机专业学生需要掌握的重要专业基础知识之一,但由于汇编语言为低级语言,依赖于硬件,虽然能通过巧妙地设计发挥硬件的潜力,编写出高效率的代码,但其抽象、程序可读性差,指令多,知识点多,教材无法覆盖所有知识点[1],而课时数减少,甚至有些学校将该门课程和计算机组成原理合并,导致教学过程中学生普遍反映难于理解;另外目前简单高效的高级语言及各种可视化的编程开发工具种类繁多,且使用方便,这些因素都致使学生学习兴趣下降。对汇编语言程序设计的不了解和不熟悉导致学生计算机知识链的断裂,势必影响学生对计算机系统的整体理解[2]。通过分析汇编语言课程及教学过程中存在的问题,结合实际教学状况,探讨如何改进课程教学,提高教学质量和效果,培养多样化的计算机专业应用型人才。

1 汇编语言程序设计课程概述及教学现状

汇编语言是介于机器语言和高级语言之间,用指令助记符、符号地址等组成的符号指令即汇编指令和伪指令等来编写程序,汇编语言程序要比用机器指令编写的程序容易理解和维护[3]。汇编语言程序的特点:

(1)依赖于硬件,可移植性差,不同类型的CPU之间的汇编语言程序是不能进行移植的。

(2)指令多,容易混淆,记忆难度大,指令和寄存器选择难度大。解题步骤繁琐,在程序编写时要考虑机器资源的限制以及指令的限制,一个简单的功能需要一系列的指令才能实现。所用实例大多数都与数制有关,学生容易发生混淆。

(3)程序调试过程复杂,学生对DOS,DEBUG等调试工具陌生,虽然有可视化的调试方法,由于指令涉及具体的机器资源,在调试过程中,要随时掌握每个资源的变化情况,同样也需要花费大量时间熟悉,影响上机效率。

汇编语言课程的教学现状:

(1)教学内容陈旧,缺乏应用类内容

目前采用的教材相对陈旧,缺乏面向应用型的信息处理开发系统,导致学生学习茫然,进而失去学习兴趣。甚至有些学校学生放弃汇编语言的学习,原因是高级语言的开发更容易找到工作[4]。

(2)课时少,内容多,理论性强

由于课时压缩,导致上课内容减少,课堂讲授时间相对变长,实践部分减少,满堂理论尽是硬件和指令等基础性内容,且反复同模式地讲解每一条指令和伪指令[5],导致学生兴趣下降。

(3)实验设计不合理

由于课时减少,程序调试困难加之学生调试能力缺乏,现在汇编语言课程的实验课大都是课本上验证性的例题,甚至有些直接就是已经编写好的电子版源代码,学生只要按照代码直接录入电脑或者拷贝,编译、运行都不会出现任何问题,这对于培养学生动手写代码、调试代码的能力是一种限制,仅仅这样学生能将程序调试运行成功仍需要时间和耐性,从而也使学生失去耐心和兴趣。

2 汇编语言教学方法及手段

汇编语言作为低级语言的特点以及学习记忆困难和上机调试的复杂性,使得教学质量差,学习难度加大,如何提高教学质量及提高教学的实际效果是教者必须面对的问题,也是需要解决的首要问题。在教学过程中,需要重新认识汇编语言,重新发掘教改思路和创新实验方法:

(1)尽量减少板书,充分利用多媒体教学,制作具有动感的课件,利用多媒体等手段演示指令执行过程,增强视觉记忆功能,减少学生对枯燥指令的死记硬背,增加学生对指令的感性认识。增强教学的直观性、趣味性和可理解性,增强学生学习的兴趣。

(2)重新组织教学内容:以实际教学情况来看,课程内容主要包括相关基础知识、指令系统及寻址方式、汇编语言语句格式和程序格式、循环分支子程序及I/O程序设计等基础部分;提高部分是有选择的选取中断程序设计、宏汇编和模块化程序设计及与其他高级语言的连接等部分内容;为了更好与后续课程的衔接,还将介绍相关ARM指令集及嵌入式引导程序等相关知识;同时将教学内容与科研项目相结合,提高学生分析和解决实际问题的能力,既可以使教学内容满足实际需求,又可以提高学生的学习兴趣。

(3)教学顺序,在讲解指令前先讲授如何使用DEBUG。为了增加学生对DEBUG的兴趣,穿插讲授一些关于使用DEBUG的经典应用实例,如破解BIOS密码等。指令部分不再集中进行讲解,按实际要求分解讲解,具体讲解顺序如表1所示。这样指令都是分散讲解,学生不会感到无从下手。从而也解决了前期集中讲解指令而无法上机,后期讲程序,上机时间不足的问题。

(4)教学方法 模仿教学:教师先讲解经典程序,然后布置学生模仿练习,提高学生的动手能力,积累经验。鼓励学生在课堂上讲解自己的程序,说明算法的思路,师生共同讨论算法的优劣,增加学生学习的热情。

类比教学[6]:学生都已经学过高级语言程序设计课程,对C语言等都比较熟悉,在讲授时,通过与C语言的比较学习,对两者进行对比,增强对汇编语言的认知程度,增进学生对低级语言的理解。如学生对DOS功能调用的入口参数和出口参数不太理解,通过与C语言中的函数调用参数与返回值进行对比,使两者联系起来,便于理解记忆。

(5)增加实践教学,增强学生动手能力

重新设计实验案例,增加趣味性、实用性、应用性。基础实验先讲解算法思想,然后分析源代码,最后学生自己动手实践。提高阶段,分析经典案例源代码,如一些小游戏等,锻炼学生读程序的能力,加强对学生的引导,提高学习兴趣。应用阶段,学生根据自己的兴趣借鉴经典案例设计完成一个自拟题目实验,加大学生对代码的编写、调试能力,激发学生的主观能动性,增加学习兴趣。

表1 指令分散讲解顺序

3 展望

汇编语言在计算机专业中的重要性,使得在其上进行的教学探索对于计算机专业的发展及应用型人才的培养都具有重要意义。在教学过程中,不仅要注重理论知识,而且也不能忽视对学生编程能力的培养,增加课程实用性,激发学生学习兴趣,提高教学效果,为其它后续课程学习奠定坚实的基础。

[1]钱晓捷.32位汇编语言教学技巧[J].计算机教育.2012,(02):84-87.

[2]刘敬勇.汇编语言教学中存在的问题与对策[J].广东工业大学学报(社会科学版).2010,10(增刊):76-78.

[3]沈美明,温冬婵.IBM汇编语言程序设计[M].北京:清华大学出版社出版,2001.

[4]田祎,樊景博.汇编语言课程内容设置与教学方法规范化探讨[J].网络与信息,2012,4:34-35.

[5]木林.《汇编语言程序设计》实验教学的探讨[J].呼伦贝尔学院学报,2012,2(20):92-94,83.

[6]陈梅.《汇编语言程序设计》课程中比较教学方法课例分析[J].安庆师范学院学报(自然科学版),2011,17(1):102-104.

猜你喜欢

汇编语言计算机专业程序设计
“以赛促学,以赛促教”促进计算机专业教学理念创新与实践研究
基于Visual Studio Code的C语言程序设计实践教学探索
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
汇编语言与C语言的混合程序设计技术研究
从细节入手,谈PLC程序设计技巧
提高《汇编语言程序设计》教学效率的思考与实践
高职高专院校C语言程序设计教学改革探索
职业高中计算机专业教学改革浅析
PLC梯形图程序设计技巧及应用
试论汇编语言与C语言的混合程序设计技术