网络与通信学院

当前位置: 网站首页 >> 院系新闻 >> 网络与通信学院 >> 正文

高职高专《汇编语言》课程教学探讨

发布日期:2012-08-30    点击:

1、汇编语言教学现状

汇编语言是我系电子信息工程技术和移动通信技术专业的一门必修专业课程,与计算机组成原理、单片机等其他课程都有着重要的联系。用汇编语言编写的源程序汇编后得到的目标程序在时间和空间两个方面体现出较大的优势,运行速度快,目标代码短。在计算机自动控制、仪器仪表和家用电器等的应用程序日益发展的今天,速度快、功能强的汇编语言更是占有非常重要的地位。

汇编语言是一种以“指令助记符”为特征的低级语言。指令集中的部分指令不容易理解和记忆,学生们对汇编程序如何控制和操作CPU和其它硬件感到很抽象,这就会导致学生们在汇编语言的学习中产生厌烦情绪,对汇编语言的学习热情普遍不如其它高级语言高。

2、教学方法研究

为了提高学生学习汇编语言的积极性,教师应针对汇编语言学习的难点来一一破解。对部分同学认为汇编语言知识跟不上时代发展步伐这一误区,教师应该在上课时予以更正,要告诉学生汇编语言的应用领域,如目前流行的嵌入式系统的硬件的检测和控制部件都是由汇编语言完成的。

对于汇编语言和机器的体系结构结合紧密、抽象性强、难于理解的问题,教师在讲解指令系统时,要与CPU的功能结构结合起来,把地址、数据和控制信息的传递要通过图示进行分解。

如讲解指令 MOV AL,[3008H],这是一条传送类指令,即将偏移地址为3008H的存储单元中的信息送回CPU中的累加器AL寄存器中。如果这样讲,学生不易明白,因为他们之前学过的语言都没有涉及到CPU的内部部件,而且在程序中也没有直接提供存储器的地址信息。为了让学生明白这条指令的含义,可以在课件中画出CPU的功能结构图,然后通过动画演示整条指令执行的全部过程:从指令队列中读取指令,通过译码器译出指令的功能;将偏移地址3008H通过内部总线送至总线接口部件;通过20位的地址形成部件与16位数据寄存器DS的内容结合形成20位的物理地址,通过控制部件发出存储器读命令;存储器将所存储的信息通过数据总线送至总线接口部件,通过内部总线送至AL寄存器中。

学生编写汇编程序的初期,往往会认为程序调试麻烦,这是因为汇编语言相对于其他高级语言来说比较抽象,实验结果不容易检验造成的。简单的汇编语言实验结果往往是存储在CPU内部的寄存器或者内存当中,不能够很直观的看到,如果通过DEBUG就可以观察到寄存器的内容和存储器的内容,同时通过T命令,可以跟踪每条指令执行后寄存器和存储器的变化,这是调试程序和发现逻辑错误非常有效的手段。它要求学生要灵活掌握DEBUG的各种功能,记住它的各种命令,因此,需要教师在课堂上花费一定的时间来讲解各种命令的用途,同时需要演示它们的使用方法。一旦学生真正地掌握了DEBUG的应用方法,对深入了解计算机的工作原理和指令系统将起到直接和不可替代的作用

3、实验教学平台设计

实验教学是检验和巩固已学知识的一个必要手段,是培养学生创造性的关键环节,也是教学改革的一个重要方面。然而学生在汇编语言这门课程中,对所学知识缺乏必要的感性认识,因此实验环节在整个教学活动中就占据了举足轻重的地位。

然而,传统的80X86汇编语言实验一般都是在DOS环境下进行的,用编辑程序(如EDIT命令)编写源程序,然后用编译程序(MASM命令)将源程序编译成目标程序(即.obj文件),然后用连接程序(LINK命令)将目标文件转换成可执行文件,在DOS环境中执行这些命令时,后面往往需要紧跟各种参数,这些会给学生带来很多额外的负担,而且在一个源程序进行编译连接的过程中往往不能一次通过,可能会出现各种错误,这样上面的过程会多次的重复,因此在DOS的命令行上要频繁进行上面的操作,非常的繁琐,容易引起学生厌倦。实训室可以尝试安装在Windows环境下运行的编译软件,使学生更容易理解和接受。

4、实验教学的组织

由于DEBUG是关键的调试程序,因此教师需要专门设计若干个小实验让学生对DEBUG有一个深刻的了解和认识,通过熟悉DEBUG的过程掌握指令的功能和各种寻址方式。

由于汇编语言不同于其他高级语言,因此直接让学生来编写汇编语言程序并不太现实,应该设计一些具有一定功能的小程序,让学生来验证,通过模仿和验证逐渐掌握汇编语言的编程规律和方法。同时让学生在现有正确程序的基础上故意安排几个错误,重新进行编译和连接,使学生熟悉汇编语言编译系统所报的各种错误信息的含义,以及修改方法,这样当学生调试自己所编写的程序时,遇到报错信息,就会心里有数而不至于手足无措了,这样会大大提高学生编写汇编语言程序的自信心和实践能力。

5、结束语

汇编语言是一门重要而又难学的课程,这要求教师必须不断学习、创新,在改革教学模式的同时努力培养学生的创新精神和动手实践能力。