论文部分内容阅读
[摘 要]汇编语言是计算机科学与技术专业重要的一门专业课,也是实践性非常强的一门课。改革教学方法,提高教学效果,使学生能更好地学好汇编语言程序设计课程,我们努力探索,积极改革实验教学手段,增加教学内容,开展多媒体教学。经过近几年的使用,收到了很好的效果。
[关键词]教学方法 程序设计 汇编语言 面向机器
在教学工作中特别是一些理论性很强、概念较为抽象的专业课程中多媒体信息技术对其教学有很大帮助。多媒体信息既有图像、文字、声音等信息,又有动画效果作为辅助教学手段,可以使抽象的内容形象化弥补传统教学方式在直观性、立体感及动态效果方面的不足,有效地激发学生的学习兴趣,增大课堂教学信息量,从而提高教学效果使学生更容易、更好地掌握专业知识。
传统教学方式通常采用文字、挂图等手段往往存在信息量不足、内容陈旧、手段落后等缺陷。多媒体教学除文字外,还有声音、图像与图形、动画与视频等多种信息。在汇编语言课程的教学中充分运用多媒体技术,可有效地弥补传统教学方式的不足。
一、汇编语言的特点
与高级语言相比较,汇编语言程序归纳起来主要有以下几个主要特性:
1.汇编语言与机器的相关性。汇编格式指令实际上是机器指令的符号表示,与机器指令是一一对应的。因此,它与机器的硬件有着密切的关系。而不同类型的CPU有不同的机器指令系统,也就有不同的汇编语言。
虽然汇编语言源程序与高级语言源程序相比,它的通用性和可移植性要差很多,但通过汇编语言可以最直接最有效地控制机器。这常常是大多数高级语言难以做到的。
2.汇编语言程序执行效率高。正因为汇编语言有“与机器相关性”的特性,程序员用汇编语言编写程序时,可充分发挥自己的聪明才智,对机器内部的各种资源进行合理的安排,让它们始终处于最佳的使用状态。这样做的最终效果就是:程序的执行代码短,执行速度快。
用汇编语言编写的源程序在汇编后所得的目标程序效率高。这种目标程序的高效率反映在时间和空间两个方面:其一是运行速度快,其二是目标程序短。在采用相同算法的前提下,任何高级语言程序在这两方面的效率都不如汇编语言程序,许多情况下更是远远不及。
3.汇编语言程序编写复杂,调试困难。汇编语言编写程序时,必须考虑包括寄存器、存储单元和寻址方式在内的几乎所有的细节问题,例如:存储单元的分配、指令执行结果对标志位的影响、堆栈设置的位置既使用情况等。在使用高级语言编写程序时,这些问题都由操作系统完成,程序员不会遇到这些琐碎却重要的问题。
调试汇编语言程序往往要比调试高级语言的程序困难的多,其主要原因有:汇编语言指令涉及机器资源的细节,调试时要清楚机器资源的变化情况;汇编语言提供程序员最大的“舞台”,而程序员往往为了追求“时空”的高效率而不顾程序的结构。这是造成调试困难的客观上的原因,使汇编语言的调试工具落后。
二、发挥多媒体优势,增强教学效果
据统计,人们获取的外界信息中,83%来自视觉,11%来自听觉,3.5%来自嗅觉,1%来自味觉,1.5%来自触觉。因此在电子教案的设计中,应充分发挥视听多媒体的优势,通过动静的配合、色彩的搭配以及突出概念特征等方法,使枯燥的内容变得生动活泼,吸引学生的注意力,从而提高教学效果。
汇编语言程序设计是从事计算机研究的基础,是计算机研究和应用的技术人员必须掌握的一门技术。汇编语言是一种助记符形式的语言,它比机器语言容易掌握和运用。但是,汇编语言仍然是面向机器的语言,汇编语言程序设计需要掌握CPU的组织结构、存贮器组织、信息在计算机内部的表示、指令系统、寻址方式等知识,内容琐碎,知识点多,相对高级语言程序设计语言而言,学生显得较难掌握。我们在讲解该课程时,充分利用多媒体的特点,改革教学方法,扩大教学信息量,详细演示汇编语言各种开发工具的使用,让抽象内容直观化,可以使教学内容形象、具体。这不仅可以更好地吸引学生的注意力,而且可以加深学生的理解,使学生很好地掌握了汇编语言的特点,汇编语言的应用,收到了很好的效果。
1.硬件内容的教学。计算机硬件有CPU、内存、接口等组成,在教学中,首先,我们给出抽象的原理框图,然后给出8086CPU、内存条、显卡等实物和照片,在此基础上去讲解CPU组织结构、存贮器组织结构、接口的组织结构及其相互联系,特别是内存访问时物理地址的形成过程,利用动画技术可以使学生加深理解内存的分段方法、段地址、偏移地址、逻辑地址、物理地址、有效地址等抽象概念。
2.寻址方式和指令系统的教学。在多年的汇编语言教学中,深深体会到寻址方式是学好汇编语言最重要的内容,也是一个难点,学生非常不容易掌握,但一旦掌握了,对学习指令系统乃至学好整个汇编语言课程起着重要的作用,在教学中,我们充分利用多媒体教学手段,演示8086CPU 七种寻址方式以及8086指令系统各条指令的含义、应用,为汇编语言程序设计打下很好的基础,收到了良好的效果。
3.子程序和宏指令的教学。汇编语言程序的结构有顺序、分之、循环、子程序、宏指令五种结构,其中子程序是实现结构化程序设计的基础,也是汇编语言教学过程中的难点和重点,有关子程序的内容包括子程序定义、子程序的调用、子程序参数传递的方法(利用寄存器、利用内存单元、利用堆栈)。子程序执行过程中也需要保护断点地址、保护现场和恢复现场。宏指令有关的内容包括宏定义、宏调用、宏展开。教师可利用多媒体技术展示子程序调用的执行过程、子程序参数传递的过程以及子程序和宏调用的区别,帮助学生理解程序的执行过程,提高汇编语言程序设计的能力。
三、利用多媒体,演示汇编语言各种开发工具的使用
汇编语言的调式工具有:DOS程序的调试工具DEBUG和CV、宏汇编MASM611、MASM32使用、W32Dasm使用。
DEBUG.EXE是DOS提供的可用于调试可执行程序的一个工具软件,是学习汇编语言程序调试的一个基础,有关它的一些命令的使用必须熟练掌握。必须掌握的内容包括DEBUG的启动和退出,常用的DEBUG子命令,如A、U、R、D、G、T、P、E、N、L、W等的使用。
宏汇编MASM6.11是目前最常用的汇编语言编程环境,其命令行方式上机操作过程分为四步:编辑源程序、汇编源程序、连接目标程序、调试运行可执行程序。编辑源程序可以使用计算机系统中任何能编辑文本文件的编辑器来编辑汇编语言的源程序。常用的编辑程序有:EDIT.EXE、记事本;当源程序编写好后,可用MASM命令或ML/c命令来汇编该源程序;连接目标程序用LINK.EXE程序完成;最后调试运行可执行程序,如果我们在程序中没有编写结果输出程序,只是把结果放在了内存单元中或CPU内部的寄存器中,就需要使用Debug调试程序查看结果,或者当程序的运行结果达不到预期结果时,也需要使用调试程序,找出错误的语句或逻辑关系。MASM系统提供了用于源程序一级的调试工具CV(CodeView)。
Masm32是Windows下用汇编语言开发32位程序的工具。Masm32的原代码编辑、编译的程序是Qeditor.exe。要用汇编语言编写使用API函数和带有图形界面窗口GUI的程序,需要使用Masm32。
Windows下的反汇编工具分为静态和动态反汇编。常用的静态反汇编工具是W32Dasm。
W32Dasm的主要功能有:保存反汇编文本文件和创建方案文件;跳转到代码的某个位置;查看导入、导出函数;以二进制方式查看数据段和代码段数据;资源定位。
本文为河南工业大学校科研基金项目,项目编号08XGG022。
参考文献
[1]赵树声,杨建军.DOS/Windows汇编语言程序设计教程[M].北京:清华大学出版社,2005.
[2]沈美明,温冬婵.IBM-PC汇编语言程序设计[M].北京:清华大学出版社,2001.
[关键词]教学方法 程序设计 汇编语言 面向机器
在教学工作中特别是一些理论性很强、概念较为抽象的专业课程中多媒体信息技术对其教学有很大帮助。多媒体信息既有图像、文字、声音等信息,又有动画效果作为辅助教学手段,可以使抽象的内容形象化弥补传统教学方式在直观性、立体感及动态效果方面的不足,有效地激发学生的学习兴趣,增大课堂教学信息量,从而提高教学效果使学生更容易、更好地掌握专业知识。
传统教学方式通常采用文字、挂图等手段往往存在信息量不足、内容陈旧、手段落后等缺陷。多媒体教学除文字外,还有声音、图像与图形、动画与视频等多种信息。在汇编语言课程的教学中充分运用多媒体技术,可有效地弥补传统教学方式的不足。
一、汇编语言的特点
与高级语言相比较,汇编语言程序归纳起来主要有以下几个主要特性:
1.汇编语言与机器的相关性。汇编格式指令实际上是机器指令的符号表示,与机器指令是一一对应的。因此,它与机器的硬件有着密切的关系。而不同类型的CPU有不同的机器指令系统,也就有不同的汇编语言。
虽然汇编语言源程序与高级语言源程序相比,它的通用性和可移植性要差很多,但通过汇编语言可以最直接最有效地控制机器。这常常是大多数高级语言难以做到的。
2.汇编语言程序执行效率高。正因为汇编语言有“与机器相关性”的特性,程序员用汇编语言编写程序时,可充分发挥自己的聪明才智,对机器内部的各种资源进行合理的安排,让它们始终处于最佳的使用状态。这样做的最终效果就是:程序的执行代码短,执行速度快。
用汇编语言编写的源程序在汇编后所得的目标程序效率高。这种目标程序的高效率反映在时间和空间两个方面:其一是运行速度快,其二是目标程序短。在采用相同算法的前提下,任何高级语言程序在这两方面的效率都不如汇编语言程序,许多情况下更是远远不及。
3.汇编语言程序编写复杂,调试困难。汇编语言编写程序时,必须考虑包括寄存器、存储单元和寻址方式在内的几乎所有的细节问题,例如:存储单元的分配、指令执行结果对标志位的影响、堆栈设置的位置既使用情况等。在使用高级语言编写程序时,这些问题都由操作系统完成,程序员不会遇到这些琐碎却重要的问题。
调试汇编语言程序往往要比调试高级语言的程序困难的多,其主要原因有:汇编语言指令涉及机器资源的细节,调试时要清楚机器资源的变化情况;汇编语言提供程序员最大的“舞台”,而程序员往往为了追求“时空”的高效率而不顾程序的结构。这是造成调试困难的客观上的原因,使汇编语言的调试工具落后。
二、发挥多媒体优势,增强教学效果
据统计,人们获取的外界信息中,83%来自视觉,11%来自听觉,3.5%来自嗅觉,1%来自味觉,1.5%来自触觉。因此在电子教案的设计中,应充分发挥视听多媒体的优势,通过动静的配合、色彩的搭配以及突出概念特征等方法,使枯燥的内容变得生动活泼,吸引学生的注意力,从而提高教学效果。
汇编语言程序设计是从事计算机研究的基础,是计算机研究和应用的技术人员必须掌握的一门技术。汇编语言是一种助记符形式的语言,它比机器语言容易掌握和运用。但是,汇编语言仍然是面向机器的语言,汇编语言程序设计需要掌握CPU的组织结构、存贮器组织、信息在计算机内部的表示、指令系统、寻址方式等知识,内容琐碎,知识点多,相对高级语言程序设计语言而言,学生显得较难掌握。我们在讲解该课程时,充分利用多媒体的特点,改革教学方法,扩大教学信息量,详细演示汇编语言各种开发工具的使用,让抽象内容直观化,可以使教学内容形象、具体。这不仅可以更好地吸引学生的注意力,而且可以加深学生的理解,使学生很好地掌握了汇编语言的特点,汇编语言的应用,收到了很好的效果。
1.硬件内容的教学。计算机硬件有CPU、内存、接口等组成,在教学中,首先,我们给出抽象的原理框图,然后给出8086CPU、内存条、显卡等实物和照片,在此基础上去讲解CPU组织结构、存贮器组织结构、接口的组织结构及其相互联系,特别是内存访问时物理地址的形成过程,利用动画技术可以使学生加深理解内存的分段方法、段地址、偏移地址、逻辑地址、物理地址、有效地址等抽象概念。
2.寻址方式和指令系统的教学。在多年的汇编语言教学中,深深体会到寻址方式是学好汇编语言最重要的内容,也是一个难点,学生非常不容易掌握,但一旦掌握了,对学习指令系统乃至学好整个汇编语言课程起着重要的作用,在教学中,我们充分利用多媒体教学手段,演示8086CPU 七种寻址方式以及8086指令系统各条指令的含义、应用,为汇编语言程序设计打下很好的基础,收到了良好的效果。
3.子程序和宏指令的教学。汇编语言程序的结构有顺序、分之、循环、子程序、宏指令五种结构,其中子程序是实现结构化程序设计的基础,也是汇编语言教学过程中的难点和重点,有关子程序的内容包括子程序定义、子程序的调用、子程序参数传递的方法(利用寄存器、利用内存单元、利用堆栈)。子程序执行过程中也需要保护断点地址、保护现场和恢复现场。宏指令有关的内容包括宏定义、宏调用、宏展开。教师可利用多媒体技术展示子程序调用的执行过程、子程序参数传递的过程以及子程序和宏调用的区别,帮助学生理解程序的执行过程,提高汇编语言程序设计的能力。
三、利用多媒体,演示汇编语言各种开发工具的使用
汇编语言的调式工具有:DOS程序的调试工具DEBUG和CV、宏汇编MASM611、MASM32使用、W32Dasm使用。
DEBUG.EXE是DOS提供的可用于调试可执行程序的一个工具软件,是学习汇编语言程序调试的一个基础,有关它的一些命令的使用必须熟练掌握。必须掌握的内容包括DEBUG的启动和退出,常用的DEBUG子命令,如A、U、R、D、G、T、P、E、N、L、W等的使用。
宏汇编MASM6.11是目前最常用的汇编语言编程环境,其命令行方式上机操作过程分为四步:编辑源程序、汇编源程序、连接目标程序、调试运行可执行程序。编辑源程序可以使用计算机系统中任何能编辑文本文件的编辑器来编辑汇编语言的源程序。常用的编辑程序有:EDIT.EXE、记事本;当源程序编写好后,可用MASM命令或ML/c命令来汇编该源程序;连接目标程序用LINK.EXE程序完成;最后调试运行可执行程序,如果我们在程序中没有编写结果输出程序,只是把结果放在了内存单元中或CPU内部的寄存器中,就需要使用Debug调试程序查看结果,或者当程序的运行结果达不到预期结果时,也需要使用调试程序,找出错误的语句或逻辑关系。MASM系统提供了用于源程序一级的调试工具CV(CodeView)。
Masm32是Windows下用汇编语言开发32位程序的工具。Masm32的原代码编辑、编译的程序是Qeditor.exe。要用汇编语言编写使用API函数和带有图形界面窗口GUI的程序,需要使用Masm32。
Windows下的反汇编工具分为静态和动态反汇编。常用的静态反汇编工具是W32Dasm。
W32Dasm的主要功能有:保存反汇编文本文件和创建方案文件;跳转到代码的某个位置;查看导入、导出函数;以二进制方式查看数据段和代码段数据;资源定位。
本文为河南工业大学校科研基金项目,项目编号08XGG022。
参考文献
[1]赵树声,杨建军.DOS/Windows汇编语言程序设计教程[M].北京:清华大学出版社,2005.
[2]沈美明,温冬婵.IBM-PC汇编语言程序设计[M].北京:清华大学出版社,2001.