论文部分内容阅读
【摘要】《汇编语言》是计算机专业一门重要的专业课,由于其自身的特点,导致在教学中出现效果不理想的局面。本文讨论了该课程难教难学的原因,给出了在教学中的几点建议。
【关键词】汇编语言;理论教学形象化;紧密结合实践;解决实际问题
1.汇编语言教学面临的问题
目前,高等院校的计算机专业教育从理论教学逐渐向应用教学转移,更加注重计算机应用性的教育与实训,而汇编语言作为一门与硬件紧密联系的低级语言,相较于其他计算机语言汇编语言更难以掌握。
计算机专业课程更新速度很快,又必须增加新的课程已适应技术的前进,而学习时间有限,必然通过缩短各门课程的学习时间来达到此目的,部分教师对于汇编语言认识不足,甚至认为《汇编语言》也不应该作为一门单独的课程,充其量不过在《微机原理》中介绍一下即可。《汇编语言》的前导课程教学不够,且在《汇编语言》的理论教学中,只是注重了基础知识的教育,而后面有意思的东西被删除了,比如:颜色和动画的设计等;实验课程时间的缩短,减少了学生动手写程序的机会,减少了学生对该门课程加深理解的机会。学生觉得《汇编语言》难学难理解。
汇编语言的自身特点导致课程难教难学,主要原因有下:
1.1与机器的相关性高,可移植性差。汇编语言的指令助记符,是机器指令的一种符号表示,面向硬件的,不同的cpu都有相对独立的指令系统,相互间无任何关系,即使计算机的cpu相同,因其外围硬件可能有差别,也会使相同的汇编语言程序在不同的机器上无法通用,程序的可移植性差。
1.2执行的高效率,程序体积小。汇编语言的结构十分紧凑,且直接与机器语言相对应,程序的执行代码短小精悍。Cpu对汇编语言的编译速度远远高于其他高级语言,所以汇编语言的运行速度很快,执行的效率很高。
1.3编写程序的复杂性。汇编语言的指令与机器指令基本上一一对应,指令功能比高级语言差,所以汇编语言指令具有功能单一、具体,用其编制程序要安排运算的每一个细节,使得编写程序比较繁琐、复杂。
1.4调试的复杂性。首先,汇编语言中使用大量的转移指令,破坏了程序的整体性;其次,汇编语言的调试工具落后,只能跟踪机器指令。
2.对汇编语言的深度认识
汇编语言面向机器的硬件,可以直接访问cpu的每一个寄存器、每一个内存单元、任一个I/O端口,可以最直接最有效的控制机器,所以汇编语言尤其适用于直接有效控制硬件的场合,比如:单片机应用、设备驱动编程等。
汇编语言程序编译后目标代码短小,执行时间短,是其他程序语言无法比拟的,在用户对程序空间、时间要求高,对数据采集、处理速度要求快,唯一能满足并解决问题的语言。
汇编语言下的操作系统是最真实的,可以最方便最灵活的使用各种系统功能。在设计系统软件时,底层的关键核心和设备驱动程序必须用汇编语言编写。
一些高级语言可以嵌入汇编指令,汇编语言源程序可以调用某些高级语言的函数,高级语言也可以调用汇编语言的目标程序(*.obj文件)。
3.汇编语言教学的几点建议
3.1理论教学形象化:计算机科学技术发展的最初愿望和最终目标都是模拟与实现思维的过程,使计算机系统成为人的延伸。那么教师在教学过程中,就可以将许多难以讲解和难以理解的理论知识,使用直观的方式表现出来,例如:在讲解移位指令的时候,就可以通过动画的形式将指令执行的过程演示出来。
3.2紧密结合实践:对于一门程序设计语言,上机实验操作是十分重要的环节,是对理论课程的强化和重要的补充,同时能有效的加深对知识的理解程度。
例如:DEBUG工具是计算机系统中查看程序运行的最直接的工具,也是学习汇编语言最初和最有效的工具。通过DEBUG可以“直观”的看到cpu和系统的状态和程序运行的状态;可以一条一条的查看程序执行时cpu中各个寄存器和内存单元的状态。
但在上机过程中,出现了很多的问题,归纳起来,原因有三:
(1)学生对DOS操作系统不熟悉。汇编语言的上机实验大部分是在DOS操作系统中进行的,而学生们对于DOS操作系统的了解少之又少,导致实验的成功率较低。
(2)汇编语言本身的规则较多较为繁杂。汇编语言的语法规则较多,较之高级语言程序的编写复杂,思路不同,结构性又较差,要求学生要很好的理解理论知识。
(3)汇编语言的上机过程过于复杂。汇编语言的上机操作过程比较复杂,一般分为编辑、汇编、连接、调试四个过程,在汇编、连接、调试中如果出现问题,必须回到编辑状态重新开始。
为了提高学生实验的效果,教师最好选择汇编语言集成开发环境PWB。该环境是基于WINDOWS的,将汇编语言的编辑、汇编、连接、调试过程集成在一起,使用起来更加方便。
3.3解决实际问题,提高学生学习汇编语言的兴趣:学习知识的目的是为了学以致用,解决实际问题。在教学中,教师应该把知识与实际问题结合起来,引导学生动脑思考利用知识解决问题,培养学生的动手能力和解决问题的能力。
例如:在教导学生学习DEBUG的使用时,为了提高学生的学习兴趣,可以先讲解一下CMOS的相关知识,然后利用DEBUG向端口70H和71H分别发送一个数据即可清除CMOS的口令密码,具体步骤如下:
C:\DEBUG
-O 70H 10
-O 71H 01
这样一来,教师即给学生讲授了知识,又激发了学生学习的兴趣,使学生认为汇编语言不再是一门枯燥的课程,而是有实际应用意义的课程。
参考文献
[1]沈美明IBM PC汇编语言程序设计[M]北京:清华大学出版社 2001
[2]王爽 汇编语言[M]北京:清华大学出版社 2003
收稿日期:2008-05-03
【关键词】汇编语言;理论教学形象化;紧密结合实践;解决实际问题
1.汇编语言教学面临的问题
目前,高等院校的计算机专业教育从理论教学逐渐向应用教学转移,更加注重计算机应用性的教育与实训,而汇编语言作为一门与硬件紧密联系的低级语言,相较于其他计算机语言汇编语言更难以掌握。
计算机专业课程更新速度很快,又必须增加新的课程已适应技术的前进,而学习时间有限,必然通过缩短各门课程的学习时间来达到此目的,部分教师对于汇编语言认识不足,甚至认为《汇编语言》也不应该作为一门单独的课程,充其量不过在《微机原理》中介绍一下即可。《汇编语言》的前导课程教学不够,且在《汇编语言》的理论教学中,只是注重了基础知识的教育,而后面有意思的东西被删除了,比如:颜色和动画的设计等;实验课程时间的缩短,减少了学生动手写程序的机会,减少了学生对该门课程加深理解的机会。学生觉得《汇编语言》难学难理解。
汇编语言的自身特点导致课程难教难学,主要原因有下:
1.1与机器的相关性高,可移植性差。汇编语言的指令助记符,是机器指令的一种符号表示,面向硬件的,不同的cpu都有相对独立的指令系统,相互间无任何关系,即使计算机的cpu相同,因其外围硬件可能有差别,也会使相同的汇编语言程序在不同的机器上无法通用,程序的可移植性差。
1.2执行的高效率,程序体积小。汇编语言的结构十分紧凑,且直接与机器语言相对应,程序的执行代码短小精悍。Cpu对汇编语言的编译速度远远高于其他高级语言,所以汇编语言的运行速度很快,执行的效率很高。
1.3编写程序的复杂性。汇编语言的指令与机器指令基本上一一对应,指令功能比高级语言差,所以汇编语言指令具有功能单一、具体,用其编制程序要安排运算的每一个细节,使得编写程序比较繁琐、复杂。
1.4调试的复杂性。首先,汇编语言中使用大量的转移指令,破坏了程序的整体性;其次,汇编语言的调试工具落后,只能跟踪机器指令。
2.对汇编语言的深度认识
汇编语言面向机器的硬件,可以直接访问cpu的每一个寄存器、每一个内存单元、任一个I/O端口,可以最直接最有效的控制机器,所以汇编语言尤其适用于直接有效控制硬件的场合,比如:单片机应用、设备驱动编程等。
汇编语言程序编译后目标代码短小,执行时间短,是其他程序语言无法比拟的,在用户对程序空间、时间要求高,对数据采集、处理速度要求快,唯一能满足并解决问题的语言。
汇编语言下的操作系统是最真实的,可以最方便最灵活的使用各种系统功能。在设计系统软件时,底层的关键核心和设备驱动程序必须用汇编语言编写。
一些高级语言可以嵌入汇编指令,汇编语言源程序可以调用某些高级语言的函数,高级语言也可以调用汇编语言的目标程序(*.obj文件)。
3.汇编语言教学的几点建议
3.1理论教学形象化:计算机科学技术发展的最初愿望和最终目标都是模拟与实现思维的过程,使计算机系统成为人的延伸。那么教师在教学过程中,就可以将许多难以讲解和难以理解的理论知识,使用直观的方式表现出来,例如:在讲解移位指令的时候,就可以通过动画的形式将指令执行的过程演示出来。
3.2紧密结合实践:对于一门程序设计语言,上机实验操作是十分重要的环节,是对理论课程的强化和重要的补充,同时能有效的加深对知识的理解程度。
例如:DEBUG工具是计算机系统中查看程序运行的最直接的工具,也是学习汇编语言最初和最有效的工具。通过DEBUG可以“直观”的看到cpu和系统的状态和程序运行的状态;可以一条一条的查看程序执行时cpu中各个寄存器和内存单元的状态。
但在上机过程中,出现了很多的问题,归纳起来,原因有三:
(1)学生对DOS操作系统不熟悉。汇编语言的上机实验大部分是在DOS操作系统中进行的,而学生们对于DOS操作系统的了解少之又少,导致实验的成功率较低。
(2)汇编语言本身的规则较多较为繁杂。汇编语言的语法规则较多,较之高级语言程序的编写复杂,思路不同,结构性又较差,要求学生要很好的理解理论知识。
(3)汇编语言的上机过程过于复杂。汇编语言的上机操作过程比较复杂,一般分为编辑、汇编、连接、调试四个过程,在汇编、连接、调试中如果出现问题,必须回到编辑状态重新开始。
为了提高学生实验的效果,教师最好选择汇编语言集成开发环境PWB。该环境是基于WINDOWS的,将汇编语言的编辑、汇编、连接、调试过程集成在一起,使用起来更加方便。
3.3解决实际问题,提高学生学习汇编语言的兴趣:学习知识的目的是为了学以致用,解决实际问题。在教学中,教师应该把知识与实际问题结合起来,引导学生动脑思考利用知识解决问题,培养学生的动手能力和解决问题的能力。
例如:在教导学生学习DEBUG的使用时,为了提高学生的学习兴趣,可以先讲解一下CMOS的相关知识,然后利用DEBUG向端口70H和71H分别发送一个数据即可清除CMOS的口令密码,具体步骤如下:
C:\DEBUG
-O 70H 10
-O 71H 01
这样一来,教师即给学生讲授了知识,又激发了学生学习的兴趣,使学生认为汇编语言不再是一门枯燥的课程,而是有实际应用意义的课程。
参考文献
[1]沈美明IBM PC汇编语言程序设计[M]北京:清华大学出版社 2001
[2]王爽 汇编语言[M]北京:清华大学出版社 2003
收稿日期:2008-05-03