“汇编语言”课程教学改革与实践
“汇编语言”课程是计算机科学、自动化及电子信息类专业的一门核心专业课程。[1-2]对于计算机及其相关专业的学生来说,汇编语言程序设计是需要掌握的重要专业基础知识之一。了解和熟悉汇编语言可以优化学生的知识结构,提高学生的认知水平,增加学生的程序开发手段。相较于快速发展的可视化高级语言,作为低级语言的汇编语言,可读性较差,比较繁琐,不符合自然语言表述,学生普遍感到难学。因此,“汇编语言”课程如何优化教学质量、提高教学效果,是任课教师面临的一个重要问题。[3]本文结合实际教学体会,就如何提高“汇编语言”课程教学效果进行了分析与探讨。
一、汇编语言程序的特点
计算机是一个编码的世界,只能识别和处理由“0”和“1”组成的二进制代码的机器语言,这种指令代码编写易出错且不易修改。于是,人们发明了“指令的助记符”,用助记符(mnemonic)代替操作码,用标号(label)和地址符号(symbol)代替地址码,用这种符号系统形成汇编语言。[4]因此,汇编语言本质上就是机器语言,只不过更容易被人读懂且更容易记忆。使用汇编语言编程,可以对计算机内部硬件进行直接控制,合理地安排机器内部的各种资源。归纳起来,汇编语言程序有以下几个主要特点:
一是与硬件的相关性。汇编语言与机器指令一一对应,不同类型的cpu内部硬件结构不同,因而有不同的指令系统,相应的汇编语言程序也就不同,其通用性、可移植性比较差。二是执行效率高。由于汇编语言与硬件相关,它可以有论文联盟http://效、直接地控制机器,程序的执行代码短、速度快,是其他高级语言难以企及的。三是编程、调试相对困难。为了有效地控制机器,汇编语言指令涉及到硬件资源的各种细节,如标志、堆栈、寄存器、存储单元等。相对高级语言,其编程及调试比较繁琐、复杂。[5-6]
二、明确教学目的,优化教学内容
1.激发学生的学习热情
“汇编语言”与许多课程联系紧密,如图1所示,它是“操作系统”、“计算机接口技术”、“计算机组成原理”、“嵌入式系统”等课程的基础,在开发嵌入式系统时更是必不可少的语言。“汇编语言”课程学习起来比较枯燥、学习周期较长,不像高级语言那样上手比较容易且能很快见到效果。因此,应教育学生少一些急功近利的思想,应着眼于长远的、全面的技术成长。有条件的教师可以将自己相关的科研成果带入课堂,说明汇编语言有着广泛的应用领域。在授课过程中,注意拓宽学生的知识面,结合具体的应用,激发学生的学习热情。
2.优化教学内容
不同于高级语言的教学模式,汇编语言是一种硬件编程语言,是连接软硬件的桥梁。一方面,汇编语言与芯片密切相关,学习汇编语言时应具备一定的硬件基础知识,需要时穿插相关知识点,回顾前导课程的相关内容,如计算机结构等;另一方面,又不需要紧跟着产品来讲授,只要选择一种典型的汇编语言指令集讲清楚、讲透彻,使学生掌握学习与思考的方法,今后遇到其他的芯片,也就可以举一反三,触类旁通。
具体到一种汇编语言指令集,应突出其重点、难点,如分段管理技术、寻址方式、堆栈管理、中断技术等。为了便于后续程序结构的学习,在学习寻址方式和指令集时就教会学生使用debug,讲解了常用的调试命令,使学生能尽快上机实践,验证指令,编写短小程序,看到运行结果,从而加深影响,巩固所学的内容。由于汇编语言的指令很多,涉及的知识点抽象,刚开始接触这门课程时,学生往往不太适应,前后的知识点容易混淆,教师应及时对讲授过的内容进行比较与小结。课堂上,应适当增加讲授例题的数量,不同的教学阶段,例题的侧重点不一样。开始阶段,例题主要涉及汇编语言格式与汇编语言指令;中间阶段,例题讲授的是如何用汇编语言指令实现汇编语言流程;后续阶段,例题重点讲解汇编语言程序设计算法的确定,分析、解决问题的思路与方法。而在学生掌握了基本内容及重点内容的基础后,教师应提纲挈领,从系统的整体角度分析“汇编语言”课程在整个硬件知识体系中的作用,让学生从更高层次理解、使用汇编语言。
3.多种教育手段相结合
随着现代教育技术快速发展,多媒体技术在教学中有着广泛的应用。在“汇编语言”课程中,可以利用多媒体课件图文并茂的特点吸引学生的注意力,活跃课堂气氛。例如,可以通过动画形式将寻址过程、堆栈变化、循环移位、子程序调用、中断调用过程等表示出来,将复杂的、抽象的问题简单化、形象化,提高教学效率。而在确定汇编语言程序设计的算法,用汇编语言实现编程,培养学生的推理、思维能力时,采用传统教学方法。对不同的知识点,结合不同的教学方法,有利于学生对不同教学内容的理解与掌握。
三、注重实验环节,提高教学效果
1.实验平台及实验内容
汇编语言程序设计要经过编辑、汇编、连接和调试等过程,如图2所示,传统的上机实验一般是在dos操作系统环境下进行的。目前流行的是windows操作系统平台,学生对dos操作环境相对陌生。为了提高上机的效率,应摒弃dos环境,采用基于windows操作系统的汇编语言集成实验环境。在该环境下,可以方便编辑汇编语言程序,使用下拉式菜单或快捷按钮进行汇编、连接及调试等工作,并可以预先设定段定义、过程定义等。
在实验内容安排上,应根据授课的进度及学生的掌握程度,并与教学目标相匹配,精心选择一些有代表性的、有实用价值的内容,尽量避免实验内容过长、过杂等问题。实验的内容应包括:指令系统及调试工具debug使用;汇编语言程序设计上机环境及过程;顺序、分支、循环基本结构程序设计;子程序设计和宏汇编程序设计;中断调用程序设计;综合性实验。
2.发挥学生在实验中的主体作用
在整个实验过程中,以学生为主体,教师只是起到组织、引导的作用。
实验前,教师讲解难点、重点及有关注意事项,点到为止,也可以先给出相关的问题,让学生去思考、去观察。要求学生对实验内容进行预习,并在下次上实验课时用提问、抽查等形式检查。学生通过预习带着问题进行实验,可以提高学习的主动性,且能对知识点的领悟更深刻。
实验中,鼓励学生按照自己的思路去编写、调试程序。对于学生在实验过程中提出的问题,一般不直接给出答案,而是引导学生通过学过的理论知识自己寻找解决的方法。只要能达到预定的实验目标,对实验步骤及过程不做过多要求。对学有余力的学生,鼓励他们在完成规定的实验内容后,对补充题或对自己设计的问题进行实验;而对基础较差的学生,则鼓励他们独立地解决问题。
实验后,要求学生及时对实验进行归纳、总结,并撰写实验报告。
3.实验实践贯穿整个教学
“汇编语言”课程有其特殊性,只有通过不断的上机实践,学生才能加深对理论知识的理解,提高编写程序的能力。因此,要转变观念,重视实验教学,避免实验教学流于形式。程序设计是一个调试修改语法及逻辑错误,最终得到正确程序的过程。教师应充分利用多媒体等手段,引导学生动手编程,通过实际例题观察数据流变化,培养学生调试、修改程序的能力和意识。教师演示与学生实践可以穿插交替进行。如果学生对自己编的程序没有把握,则鼓励他们上机进行验证,反复地调试、修改、运行。对有些验证性实验,可以用作业的形式要求学生在课外完成。如用debug调试工具验证各类指令的功能和格式,对标志位的影响,查看数及字符在存储器中的存放形式,堆栈的变化等。既加深了学生对所学内容的理解,又为汇编语言程序设计打下了基础。
本课程的目的是使学生掌握程序设计的方法,学会用汇编语言编写程序。结合各章节所学的知识点,每次实验要求学生编写相关的程序,检验学生具体知识点的掌握程度。注意加强前后实验之间的相互联系,融会贯通各个知识点。随着课程进展的加快,实验内容应从比较简单到相对复杂,再到课程结束阶段,经过知识及多个实验经验的积累,使学生具备一定的程序设计能力。
四、结语
“汇编语言”课程具有实践性强、内容抽象、需要记忆的东西多等特点,这无疑会给教学带来相当大的困难。但是,只要教师在教学中注意突出重点,把握难点,优化整合教学内容,充分利用多媒体等多种教学手段,激发学生的学习热情,调动他们的学习积极性,注重实践教学,就能够取得良好的教学效果。转贴于论文联盟
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。