汇编语言教学探讨

2010-04-07 22:23张玉华郭红涛
关键词:汇编语言程序设计指令

张玉华,郭红涛

(1.华北水利水电学院,河南郑州450011;2.中兴通讯股份有限公司,江苏南京210012)

汇编语言教学探讨

张玉华1,郭红涛2

(1.华北水利水电学院,河南郑州450011;2.中兴通讯股份有限公司,江苏南京210012)

汇编语言是计算机专业的一门核心课程,掌握好这门课程可以提高学生的程序设计和调试程序的能力,有助于学生对后续专业课程的学习。由于汇编语言中指令执行过程看不见,摸不着,非常抽象,故学生学习非常困难。通过兴趣提高教学、动画仿真教学、任务驱动教学和改革考核方式,收到很好效果,提高了教学质量。

汇编语言;动画仿真;任务驱动

汇编语言课程是高等院校计算机科学与技术专业的一门专业基础课,是计算机科学与技术专业学生必修的核心课程之一,在计算机专业课程体系中占有重要地位。它不仅是计算机原理、操作系统等其它核心课程的必要先修课。而且掌握好这门课程可以提高学生的程序设计和调试程序的能力,有助于学生对后续专业课程的学习。该课程知识在计算机控制、嵌入式系统、数控机械、软件的分析等方面也有着广泛的应用。由于汇编语言中指令执行过程看不见,摸不着,非常抽象,故学生学习非常困难。我们把仿真可视化技术、任务驱动方法等引入教学中,收到很好效果,提高了教学质量。

一、兴趣提高教学

人们常说兴趣是最好的老师。为了提高学生的学习兴趣,打破教材原有的组织结构,不是一上来就介绍计算机的系统组织,这样学生容易感觉枯燥,不易理解。通过先引入一个实例,让学生看到汇编语言的实际应用,激发他们的学习兴趣,然后配合实例介绍计算机的系统组织及其功能和使用要点。笔者将学校实验室的实验器材带入课堂,搭建一个跑马灯实验。通过运行,让学生看到汇编语言程序设计的效果及在后续课程中的应用,让学生意识到该课程的重要性。通过讲解跑马灯的硬件组成和软件设计,让学生对汇编程序设计有一个整体概念,为下一步指令的学习提供良好的开端[1]。

二、动画仿真教学

汇编语言内容琐碎,知识点多。以8086系统为例,仅指令系统就有117条,分为6个功能组[2]。学生学习时要掌握每条指令的功能、指令的寻址方式、指令对标志位的影响以及指令执行时的约定设置、需要预置的参数、隐含使用的寄存器等内容。学生看不到计算机内部的执行过程,讲解这些内容如果用传统教学方式,学生会感觉抽象,难以记忆和掌握。采用动画模拟仿真计算机内部指令的执行过程,可以将抽象的内容直观化,用动态演示讲授内容,使学生在学习过程中注意力更集中,能够更准确地理解掌握所学知识点。比如在讲解寻址方式的时候,制作flash动画模拟每种寻址方式操作数获取的过程,学生学习起来一目了然,可以轻松理解几种寻址方式的区别。还制作了flash动画模拟存储单元物理地址的形成过程以及各逻辑段的分配过程,使学生更好地理解了对存储器的访问。在讲解指令时,每讲解一类指令,会给出例子,然后用动画模拟举例指令在计算机中的执行过程,使得学生对8086CPU指令的工作原理及过程有了感性的认识,为后续章节的学习打下良好的基础。在上课之初,就十分强调学生自己上机调试练习,加深对指令的理解。因此,在讲解指令时,用多媒体演示如何用Debug命令查看指令执行后相关寄存器、标志位、存储单元的变化,如何检验指令的格式是否正确,让学生掌握自主学习的方法,大大提高了课堂教学效率。

三、任务驱动教学

传统教学模式以教师为中心,强调教师的教。教师对知识本身过分重视,而忽略了对学生获取知识的能力的培养,不能充分发挥学生的积极性和主动性,容易使学生丧失对学习的兴趣。现代教育理论的基本思想是提倡以学生为中心,强调学生学习的主动性。于是改变以往的教学模式,引入了任务驱动教学模式。所谓任务驱动就是将所要学习的新知识隐含在一个或多个任务中,教学过程以项目为主线,学生在教师引导下按需自主学习[3]。在讲解完汇编程序的指令系统和程序格式,进入程序设计阶段的学习时,就采用以“工资计算系统”这个项目为主线,划分为十个功能模块,在其中包含了分支程序设计、循环程序设计、子程序设计、宏结构程序设计、输入输出程序设计、系统调用等知识点[4]。每讲解一个知识点把相应的功能模块分配给大家,由大家自行设计,讨论分析,最后老师评议总结得到最终的程序设计。在这个过程中,以任务为驱动,充分发挥了学生的学习主动性,培养了学生的学习能力和合作意识,变传统的“教学”为“求学”、“索学”,起到了较好的教学效果。

四、改革考核方式

汇编语言是一门实践性很强的课程,学习并真正体会和掌握汇编语言程序设计的最好方法是对其进行充分的实践。但是学生中普遍存在重理论轻实践的现象。为了提高学生实践的主动性,对以往的考核方式进行了改革,增大了实验环节在综合考评中的比重。本着理论考核、实践能力考核并重的原则评定学生的成绩:

总成绩=平时成绩(占10%)+实验考核(占30%)+期末考试(占50%)

加大实验考核力度,避免期末考试一锤定音,有利于督促学生加强动手能力的训练和综合能力的培养。但是实验考核比重的加大又带来一个问题,如何客观公正地对学生的实践能力做出评价?如果处理不好,反而适得其反。经过反复实践,选用实验验收面对面、一对一的提问方式。提前布置上机题目,要求学生课下编写程序代码,实验课进行代码查错、调试运行,完成后由教师提问验收。要求学生能够讲解自己的程序,同时还能根据教师的要求实时修改程序或给出修改程序的编程思想,促使学生对编程实验有足够的重视,认真完成实验,保证了动手能力训练的质量和实践能力评价的公正性,较好地遏止了抄袭。

总之,通过对汇编语言课程教学改革的实践,提高了学生对这门课程的兴趣,培养了学生独立思考的能力,改善了学生做实验的态度,有效地提高了学生的整体知识水平和应用能力。

[1]任斌,赖树明.单片机教学方法探析[J].东莞理工学院学报,2007,(2).

[2]沈美明,温冬婵,张赤红.IBM-PC汇编语言程序设计(第2版)[M].北京:清华大学出版社,2001.

[3]陈浩.高职数学教学中任务驱动式教学初探[J].湖南农机,2008,(9).

[4]沈美明,温冬婵,张赤红.IBM-PC汇编语言程序设计实验教程[M].北京:清华大学出版社,1996.

Abstract:Assembly language is a core course of computer science courses.Mastering this course,students can improve the ability of program design and debug.It helps students learn follow-up professional courses.As the instruction execution process is invisible and very abstract,so it is very difficult for students to learn.We applay simulation visualization techniques and task-driven methods in teaching,which received very good results and improved the teaching level.

Key words:Assembly Language;Animation simulation;Task-driven

Discussion on Teaching of Assembly Language Teaching

ZHANG Yu-hua ,GUO Hong-tao
(1.North China Institute of Water Conservancy and Electric Power,Zhengzhou 450011,China;2.Zhong Xing Communication Corporation ,Nanjing 210012,China)

G642

A

1008—4444(2010)03—0159—02

2010-03-14

张玉华(1976—),女,河南开封人,华北水利水电学院信息工程学院讲师。

(责任编辑:宋孝忠)

猜你喜欢
汇编语言程序设计指令
基于Visual Studio Code的C语言程序设计实践教学探索
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
汇编语言与C语言的混合程序设计技术研究
从细节入手,谈PLC程序设计技巧
ARINC661显控指令快速验证方法
提高《汇编语言程序设计》教学效率的思考与实践
高职高专院校C语言程序设计教学改革探索
杀毒软件中指令虚拟机的脆弱性分析
PLC梯形图程序设计技巧及应用
试论汇编语言与C语言的混合程序设计技术