1、 汇编语言程序设计课程教学改革与实践摘 要 为了改善汇编语言程序设计课程的教学效果,使学生更好地理解并掌握课程内容,根据多年的教学经验与实践,对教学中所采用的对比教学、画图简化难点、创设情境等教学方法和手段进行总结探讨。关键词 汇编语言;对比教学;板书画图;创设情境teaching reform and practice in the course of assembly language/tao xueli1, guo fengying2abstract to improve the teaching effectiveness of the assembly language progra
2、mming course, and to make student to better understand and master the course contents, base on years of teaching experience and teaching activities ,the author summarizes and discusses the teaching methods and means such as contrast teaching, drawing for simplifying difficulties and creating situati
3、on used in the teaching.key words assembly language; contrast teaching; blackboard writing drawing; creating situationauthors address1 college of computer and information technology, henna normal university, xinxiang, henan, china 4530072 department of computer information center, beijing university
4、 of chinese medicine, beijing, china 100029汇编语言程序设计是高校计算机专业的专业基础课程之一,它是计算机组成原理、计算体系结构等计算机硬件核心系列课程的必要先修课。汇编语言指令可以直接有效地控制计算机硬件,产生高效的代码,在很多情况下是高级语言无可替代的。但是汇编语言指令较多,编程和调试过程复杂,实用性和可见性差,导致学生没有兴趣,因而教学效果不理想。如何改善教学效果,提高教学质量,是每一位相关专业任课教师应该研究的问题。笔者根据多年来从事汇编语言程序设计课程教学的实践,谈一下自己的经验和体会。1 采用合适的教学方法教学方法是为完成教学任务、实现教学
5、目标服务的,合理的教学方法可以使教学的基本要素在教学活动中充分发挥各自作用和功能,从而达到预期的教学目标和教学效果。1.1 对比教学法1汇编语言程序设计一般开设在大学二年级,在学习了一门高级语言(如 c 语言)程序设计课程之后。因此,在教学过程中,可以充分运用对比教学法,将汇编语言与高级语言相通的知识点进行对比,利用学生熟悉的知识,帮助学生理解新的知识,可以达到事半功倍的教学效果。1.2 板书画图,直观演示,简化难点在汇编语言课程中,操作数的寻址方式是学生学习指令和后续内容的基础,是全书的重点也是难点。在介绍操作数有效地址的4 种组成部分(位移量、基址、变址、比例因子2)时,可以通过一个图示举
6、例进行讲解,降低难度。假设数据段有一个字节数组,要用指令访问数组中的任意一个元素。数据定义如下:x db abcdefjhijklmnopqrstuvwxyz此处在黑板上画图,可以直观地演示数据在存储器存储的情况以及操作数的寻址方式(图 1) 。x 是数组在存储器中的首地址,是一个符号地址。从图 1 中可以看出,通过数组首地址和某个元素相对于第一个元素的位移量,就可以访问到这个元素。1)例如,在 8086/8088 处理器下,要将字符“f”存入 al 寄存器,可以用下面的几种方式实现。mov al, x+5通常情况下,可以将数组的首地址存入一个基址寄存器(bx或者 bp) ,指令为:mov a
7、l , bx+5可以将位移量用一个变址寄存器(si 或 di)表示,通过修改si/di 的值,便可以访问数组中其他的字符,指令为:mov al , bx+si2)带比例因子的寻址方式是 386 及其后继机型引入的操作数寻址方式,适合用来寻址多字节数据数组中的元素。此时,可以将图 1 所示的数据看成 3 个双字(4 字节)数组(图 2)给学生讲解。如要访问第三个双字,则可采用指令:mov al, bx+si*4这样只需要知道访问第几个元素,修改 si 的值即可,不需要计算被访问元素在数组中的位移量,简化了思考和计算。特别是在4 字节数组或者 10 字节数组中,比例因子显得更为有用,使用起来更为方
8、便。通过此处的讲解,不仅降低学生理解基本概念的难度,而且联系到汇编语言中变量的定义及存储空间的分配,帮助学生熟悉指令与硬件知识的结合,建立先后知识点间的关联。1.3 通过创设情景,帮助学生理解指令功能在介绍一些不容易理解的指令时,可以通过创设简单的应用情景介绍指令。例如,可以用一个给字符串加密的应用情景,介绍xlat 指令的功能及应用。假设数字加密规则为:09,分别对应 aj,即如果从键盘输入“3” ,则显示出“d” 。数据定义如下:x db abcdefghij板书画出数据在存储器中的存放情况(图 3) 。从键盘输入的数字字符保存在 al 寄存器中,实现加密的指令序列为:lea bx, xs
9、ub al, 30hxlat如果执行指令之前,al 的内容为字符“3” ,则指令序列执行过后,al 的内容就为“d” 。课堂上,可以将这个简单应用编写成一个具有输入和输出功能的完整的程序,给学生演示。这样既可以讲解指令的应用,也可以让学生熟悉汇编语言源程序的格式及开发过程;也可以将这个程序设计成一个功能可以逐步扩充的系统案例3-4,通过不断扩展程序的功能,循序渐进介绍程序设计,这里不再详述。2 强化实验教学“实践出真知” ,上机实验是教学的一个重要环节,也是学习和掌握汇编语言程序设计的最有效方法。针对学生学习的进度和知识基础,合理安排实验内容。为了督促学生上机实验,增加实验成绩在期末考核中的比
10、例。平时实验课上,通过向学生提问题,考查学生掌握知识的情况,这是对教学的一个反馈,可以作为今后提高教学质量、改善教学效果的参考。3 总结本文是对笔者多年教学经验的总结,教学实践证明,这些方法与手段在一定程度上降低了学习的难度,提高了学生对本课程学习的积极性,改善了教学效果。笔者深知教学相长的道理,有些方法并不是一劳永逸的,要因材施教。因此,要想取得更好的教学效果,还需要相关专业教师的不断努力,进行更多的探索与交流。参考文献1熊小兵 “汇编语言程序设计”的比较教学法j.计算机教育,2010(3):147-149.2沈美明,温冬婵.ibm-pc 汇编语言程序设计m.2 版.北京:清华大学出版社,2007.3何立新,王昆仑,等 汇编语言程序设计教学方法的探讨j.电脑知识与技术,2011,7(10):2459-2462.4陈梅.汇编语言程序设计课程中比较教学方法课例分析j.安庆师范学院学报:自然科学版,2011,17(1):102-104.