计算机汇编语言课程教学改革与研究
汇编语言课程是计算机专业的一门基础主干课程,该课程与计算机硬件系统密切相关。主要介绍80x86cpu的指令系统、寻址方式、工作原理。通过该课程的学习,培养学生使用汇编语言编写程序的能力。加深学生对计算机内部论文联盟http://运行机制的理解,为学生开发系统软件和与硬件相关的软件打下坚实的基础。
一、汇编语言课程教学现状分析
1.与计算机硬件相关,课程难度大
汇编语言课程是以特定的计算机硬件为基础的,现在我国高等学校中普遍以80x86cpu系列计算机作为教学模型。首先介绍80x86cpu的工作方式、指令系统、寻址方式等与硬件有关的知识,然后讲解汇编语言的编程方法和技巧,最后介绍系统输入/输出功能调用和有关文件的编程方法。汇编语言课程通常开设在大学的第三学期或第四学期,学生只有高级语言的基础,习惯于高级语言的自然表达形式。学生具备的计算机硬件的知识非常少,所以学习汇编语言课程时会感到非常困难,难于适应复杂的低级语言。特别是在开始学习阶段,许多学生经常混淆寄存器、内存,地址、内容等基本概念。
2.课程内容单一,学生学习兴趣不足
目前多数高校讲授汇编语言课程的主要目标是使学生掌握一种编程语言。因为汇编语言比较难学,如果在教学中单纯强调掌握编程技术,学生可能失去学习该课程的兴趣。在汇编语言中既没有分支语句也没有循环语句,学生必须使用比较指令和条件转移指令来构造出分支结构和循环结构。学生更愿意选择易于理解和编写程序的高级语言,如c、c++、java等。不喜欢使用复杂的汇编语言来编写程序。学生不了解汇编语言与其他课程的关系,只是把它当作一门必须参加考试的课程对待。
二、汇编语言教学改革的思想和方法
1.明确课程的目标
根据汇编语言教学大纲的要求,掌握一种基于硬件的汇编语言编程技术是课程的基本目标和要求。在教学中可以将汇编语言与一种高级语言(如c语言)进行比较,通过学习汇编语言使学生更深刻地理解高级语言的工作原理。例如c中数组是连续的存储空间,相对于汇编语言中的寄存器相对寻址方式;c指针的概念在汇编中就是内存单元的地址,是寄存器间接寻址方式;c函数中的参数传递,是用汇编语言中的堆栈段(stack)实现的。前面提到的几个问题是c语言课程中的教学重点和难点,学生不易理解和掌握。通过汇编语言课程分析c语言中的这些问题,可以使学生从计算机的工作原理角度出发真正理解了c语言中的这些知识,并且掌握了c语言编译执行的过程,知道高级语言中分支结构和循环结构在执行时需要翻译成一条一条的指令来完成。从计算机工作原理入手讲解汇编语言可以使学生在学习一门计算机语言的同时深入理解计算机的工作原理,这是在高级语言教学中很难实现的。
教师在开始上课时,首先提出课程的目标和要求,同时要告诉学生汇编语言课程是《计算机组成原理》、《计算机接口与通讯技术》、《计算机操作系统》、《单片机原理》等课程的先修课,学好本课程会为其他相关课程的学习打下坚实的基础。
2.课程群的建设
传统的教学模式中,每位教师更多关注本课程的内容,很少考虑本课程对后续课程的影响以及课程之间的知识重复和交叉的问题。为了更好地培养计算机专业学生的软硬件综合能力,将《计算机组成原理》、《汇编语言程序设计》及《计算机接口与通讯技术》三门课程纳入到一个课程群来建设是十分必要的。建立基于软硬件综合能力培养的新教学体系和新实验模式。首先,这三门课程从内容上是相互关联的,例如汇编语言与计算机组成原理中都涉及到指令系统和寻址方式的章节,区别在于汇编语言是针对80x86cpu机型的,而计算机组成原理是不针对具体机型的。学生如果已经完全掌握了汇编语言中的指令系统和寻址方式的概念,学习计算机组成原理时就易于理解和掌握该章节的内容,教师也可以花费较少的学时来完成该部分的教学。其次,这三门课程是相互影响的,例如在计算机接口课程的实验中,学生需要使用汇编语言编写接口程序。所以,汇编语言课程学习的好坏会直接影响到计算机组成原理和计算机接口课程的学习效果。
3.优化整合教学内容
汇编语言课程中会用到二进制、十六进制、补码等知识,这些知识是先修课程信息技术基础中的内容。在汇编语言课程中可以将本课程中使用频繁的补码概念、数的溢出判断等知识点强调说明,其他的内容让学生自己复习,教师不必重复讲解。
汇编语言指令多达几百条,其中有的指令很少使用。所以在教学中要精心选取常用的指令,将功能相似的指令分组讲解,选择一组中某几个指令详细介绍指令的格式、功能和使用。在讲解指令时教会学生学习指令的方法,起到举一反三的效果,当学生今后遇到没学过的指令时可以自主学习。如果将所有的指令集中讲解,学生不易掌握。可以将指令分散到各个章节中,例如将比较指令和转移指令分解到分支程序设计中,将串指令分解到循环程序设计中。指令要与程序相结合,让学生在程序中学习指令、寻址方式和编程方法。
4.加强实验教学环节
汇编语言是实践性很强的一门课程,学生为了学好这门课程,必须多做实验。教师需要科学合理地安排和布置实验的题目,从而达到通过实验提高学生能力的目的。同时要加强实验环节的管理,将实验分为实验前、实验中和实验后这三个重要的阶段。实验前:教师提前一周布置实验的题目并给出实验的具体要求。学生根据题目要求给出解题方法;寄存器和内存单元的分配说明;画出程序的流程图;写出源程序;写出实验的步骤;设计程序测试用例和预期的运行结果。实验中:如果汇编源程序时出现错误,学生需要记录错误的类型,按照系统的提示信息仔细检查和分析,发现错误的原因并改正。当连接正确后,使用测试用例的数据运行程序,若运行结果不正确,利用debug调试工具分析产生错误的原因,记录段寄存器、通用寄存器、标志位、内存单元值的变化情况。找到产生错误的指令并加以改正,直到运行结果正确。实验后:学生按照教师的实验报告要求,认真书写本次实验的报告。实验报告中包括以下内容:题目、要求、解题方法、寄存器和内存单元的分配说明、程序的流程图、源程序、实验的步骤、设计程序测试用例和预期的运行结果、调试中出现的语法错误、debug调试的断点设置、寄存器和内存单元的值、运行结果和实验结论等。学生需在实验完成的三日内完成并向教师提交实验报告。教师要认真批阅学生的实验报告,总结学生容易出现的普遍性错误,在下次实验时提醒学生注意。
5.新技术的引入
学生在学习汇编语言课程时会与高级语言比较,学生普遍认为用高级语言编写程序更简单,所以一方面要引导学生意识到汇编语言在编写与硬件相关的底层系统软件时具有高级语言所不具备的优势,同时也要与时俱进地将新的技术和理念引入课堂中。可以增加保护模式下编程和win32编程的技术。主要介绍基于windows窗口的应用程序结构:主程序、窗口主程序、窗口消息处理程序和用户处理程序等。
6.教学内容与科研相结合
教学和科研是相辅相成的关系,在教学中及时引入科研成果可以提高学生学习的积极性,同时也可以保持教学内容的先进性和实用性。将用汇编语言实现软件的跟踪与反跟踪技术介绍给学生,对于有兴趣的学生可以组成研究小组,在教师的指导下深入研究,提高学生对于实际问题的分析和解决能力。
7.辅助教学资源的扩充
充分利用校园网络平台,建设汇编语言课程的学习网站,可以将课程的教学大纲、电子教案、课件、讲课录像等在网站上进行发布,建立课程的题库,方便学生自测学习效果。设置该课程的学习论坛、课程qq群,教师和学生可以对课程学习和相关的热点研究问题进行在线讨论。鼓励学生多阅读与汇编语言相关的英文原版书籍,如:the art of assembly language,randy hyde、ibm pc assembly language and programming,peter abel、电子工业出版社出版的intel 汇编语言程序设计(第4版),kip r. irvine等。学生多看原版的教材可以开阔视野和获取更多的知识。
三、结束语
汇编语言是计算机专业的基础课程,是后续计算机组成原理、计算机接口技术等课程的基础,在计算机专业的人才培养中起着重要的作用。本文分析了课程存在的一些问题,提出了从课程群的角度明确教学的目标,加强实验环节的教学,及时在课内引入新技术,同时充分利用网络资源为学生提供课外学习平台。培养出具有软硬件综合能力的计算机专业人才。转贴于论文联盟
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回通信学论文列表