民族院校的“汇编语言”课程教学改革探究

2017-06-06 11:57谈文蓉
大连民族大学学报 2017年3期
关键词:汇编语言指令计算机

姜 玥,谈文蓉

(西南民族大学 计算机科学与技术学院,四川 成都,610041)

民族院校的“汇编语言”课程教学改革探究

姜 玥,谈文蓉

(西南民族大学 计算机科学与技术学院,四川 成都,610041)

针对民族院校的“汇编语言”课程的教学现状和存在的问题,提出了“汇编语言”教学改革的必要性,对改革的方向做了探讨,提出适用于民族院校教学实际的教学思路和方法,取得了良好的教学效果。

汇编语言;教学改革;教学理念

“汇编语言”课程是高等院校计算机、自动化、电子、通信等专业的一门专业基础课程,尤其是对计算机专业来说,它是一门体现软硬件结合的基础课程[1]。汇编语言是学习计算机技术的重要基础。不但能使学生更好地理解计算机的组成及工作原理,深刻理解计算机内部运行机制,而且还能为程序设计打下良好的基础。“汇编语言”课程与许多课程联系紧密,是“计算机组成原理”、“微机原理”和“嵌入式系统”等课程的先修课如图1。汇编语言更是在开发嵌入式系统时必不可少的语言。

图1 汇编语言与相关课程的关系

1 教学现状及存在的问题

民族院校学生的学习基础差别很大。很多汉族学生在进入大学之前,就已经接触或熟悉过计算机,有些甚至已具备较高的水平。然而,从少数民族地区考入内地高校的少数民族学生,其高考成绩大大低于汉族学生的考分。由于环境因素,使得他们学习基础普遍较差,甚至很多学生的汉语基础就很低,英语基础就更差了,而汇编语言的诸多指令助记符是取自英语的[2]。他们在进入大学前几乎没有接触过计算机,连最基本的计算机操作知识都欠缺。这种巨大的知识构成悬殊使得民族学生学习“汇编语言”这门涉及软硬件知识的课程时,感到非常吃力。同时,老师在教学上的难度也倍增,既要保证基础好的同学能学到足够的专业知识,又要保证基础差的同学能跟上进度。民族院校的“汇编语言”课程教学主要存在以下几个问题。

1.1 切入难度大

汇编语言和硬件结合紧密,学生学习中感觉其抽象难懂。传统的汇编教学模式通常是直接介绍存储器,寻址方式,指令系统。但存储器,寄存器等基础硬件知识的理解程度极大地影响到指令系统的学习。学生对计算机内部结构认识不够,对计算机内部工作过程更是理不清头绪。相关硬件知识的不清晰导致指令系统的学习混乱。教学内容知识点过多,概念性过于抽象。学习指令系统时,介绍大量的指令,量多而不精,同时,与硬件内容分离脱节。汇编语言课程在前两章会出现大批新名词、新概念,如果每一个名词、概念都要理解透彻是非常困难的,从而得不偿失,引起学生的厌倦情绪。

1.2 理论和实验不同步

在传统教学模式中,理论教学与实验教学是孤立进行的。理论教学为实验教学做铺垫,实验教学辅助理论教学,学生通过实验来“验证”理论教学的内容。理论教学通常讲述完所有的基本理论知识,包括所有指令和伪指令后,再开始学习编写和调试程序。但实验的开展滞后,在汇编语言的理论教学后,未能及时通过实验强化。掌握汇编语言的上机及调试过程却是一个熟能生巧的过程,需要大量的上机操作。因此,很难在短时间内同步完成实验,导致实验效果不佳,学生产生“学无所用,纯粹理论”的感觉;反过来影响理论教学的进一步进行。最终,实验和教学脱节,严重地影响了课程的教学。

2 新的教学方式和思路

针对以上问题,具体采取了以下教学改革方法,形成汇编语言课程教学的新模式,促进教学的深入改革。一方面,调整教学内容来适应计算机技术的发展;另一方面,改进教学方式来降低课程的学习难度,提高学生的学习兴趣,提高整体教学效果。

2.1 教学理念的改革

以往的汇编语言课程讲授重在程序设计,针对汇编语言课程与计算机技术的发展严重脱离的事实,理清汇编语言课程与其他课程的关系,充分利用汇编语言最能发挥和利用计算机硬件特性的特征,明确课程的培养目标,将汇编语言课程讲授的目标定位于借助汇编语言来体会底层编程和深刻理解机器运行程序的机理。无论计算机硬件如何日新月异地发展,计算机最底层的硬件机制是没有变化的。

2.2 明确学习目的

写程序虽然不是汇编语言的强项,但却是理解计算机硬件工作原理与计算机程序执行的重要途径之一。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上可以理解各种软件系统,向下能够感知硬件;充分获取计算机底层的编程经验,深刻理解计算机程序的运行机制。学习汇编语言就是要紧密接触底层,保持它的“原汁原味”。教与学是相辅相成的。因此,为了优化学生的知识结构,提高学生的认知水平,教师应强调新形势下学习汇编的目的,激发学生的学习热情,发挥其主观能动性。

汇编语言是学习后续专业课程的工具。通过学习汇编语言,深入地理解计算机硬件,掌握计算机硬件、操作系统和应用程序之间的交互工作。汇编语言操作直接面向硬件,指令操作更直接,通过一条一条直接控制计算机的指令,清晰地看到计算机的工作,理解计算机的内部工作方式,清晰感性地认识计算机软件和硬件之间的联系和交互,形成一个软、硬兼备的编程知识体系。学习汇编语言帮助加深对高级语言的理解。虽然现在有许多的高级语言可以用来编程,但是要真地理解代码执行的实际过程,从本质上理解机器的行为,需要理解汇编指令的执行。

2.3 教学内容改革

2.3.1 优化教学内容

汇编语言是一种硬件编程语言,是连接软硬件的桥梁。从不同处理器架构在体系结构、指令系统、应用领域上的不同切入,讲明白系统结构和指令系统结构之间的关系,再选择某种典型芯片的汇编语言为实例,来驱动汇编基础知识的教学,使学生学会如何学习、思考和分析。以此类推,以后遇到其它的芯片,思维模式是相通的,也就可以举一反三,触类旁通。同时帮助学生建立对汇编语言底层属性的感性认识。并且,引导学生自行通过多种方式查阅相关资料,了解多种主流体系结构及对应的指令系统,帮助学生理解硬件与指令系统之间的关系,增强学生认知结构的可迁移能力。

在以往的教学中,完全按部就班地介绍完指令系统,学生理解困难。授课内容的选择上,注重教学内容的基础性和系统性,并结合国内教学的实际特点和学生的实际情况,对授课内容进行了调整和整合。精选深入学习的指令,而并非将指令系统全盘介绍。在教学中,注重软硬结合,结合相应的硬件知识,动态观察指令的运行过程,让学生即时看到指令的具体执行状况,适时深入到机器内部,观察到CPU和存储单元的情况,将抽象的硬件具体化。这样降低了教学难度,而且指令学了马上能用,即“即学即用”,学生也不容易混淆,而更加利于学生接受。

同时,为了把抽象、难懂的知识简单、直观地表现出来,使课堂教学生动、直观、形象,通过动画来模拟和观察CPU的内部结构,指令的执行过程和汇编语言的运行过程[3]。

2.3.2 教材建设

教材是学生学习的主要信息来源。目前的汇编语言教材主要侧重程序设计,而部分民族学生汇编语言的基础知识的把握都是个大问题。这也是导致教师难教,学生难学的两难困境的直接原因。于是,后续的计算机组成原理等课程的学习和理解,存在着连锁反应,即“一门不通,门门不通”。传统的汇编语言教材里在介绍知识点时,存在目前不用,在以后再用到,这会使得用到的时候,之前学到的知识点存在遗忘,并且知识点之间的连接度不高。尽管传统的汇编语言教材在知识的系统性方面较好,但学生的基础原因,特别是民族学生的思维方式,使得采用这类教材对于汇编语言知识的掌握效果并不好。

改革教材,针对学生基础差,底子薄的现状,重在抓基础。目标是通过汇编语言,软硬兼施地接触到硬件,将硬件感性化,为后续的硬件课程奠定良好的基础。将基础知识讲通、做通。

因此,遵循以上思路,合理组织教学内容,编写相应的教材。在教材的编撰上,打破常规,考虑汇编语言与其他课程之间的关系,考虑汇编语言知识点的连接,重新布局讲授内容的顺序,遵循讲到即用到,也就是讲到的知识点,立刻就能上机操作。

2.4 教学方式改革

以往,对于本科院校教学方式借鉴的比较多。但是,针对具体情况,要突破常规教学的格局,选择适合民族院校学生的教学方式。

2.4.1 理论和实验融合

通过对教学内容改革,学生可以从整体上了解计算机结构及工作原理,理解清楚指令、操作数的寻址方式以及指令运行的最基本概念和理论。在讲述每类最基本的指令时,就可以编写程序段,上机调试。使学生逐步接触指令,感性认识计算机的硬件。传统的汇编语言教学立足于用汇编指令来编写源程序。进行汇编指令教学时,侧重于借助指令,利用变量、标号等透视到计算机内部的表现。学生在整个学习过程的每一步都目标明确,主题清晰,基础扎实,同步消化和演练教学内容,达到循序渐进的效果,并且还会不断获得成就感。

汇编语言教学必须强调与实际机器结合,特别强调动手训练。将“把实验环节与理论教学相融合,抓实验教学促进学科理论知识学习”的教学方法贯穿始终,有效地提高了学生的学习兴趣。枯燥的理论教学与繁杂的实验教学紧密结合,同步进行,采用边学习边实践边理解的方式,每部分的理论知识都对应相应的实验,所介绍的示例程序的分析都深入到机器内部,让学生看到机器具体的操作和运行,使学生有样板可学,有结果可见。在教学中,尽早实验,从硬件知识的学习开始,就真实地去看计算机内部,学生有了感性认识,学生理解起来当然就要容易些;学习了寻址方式就可以调试程序,再经过指令系统部分的调试实验,到完整程序的时候,对调试手段已经非常熟悉了。同时,专门编写的教材本身也融理论和实验为一体,将以往理论教材和实验教材合二为一。学生一书在手,掌握了基本理论知识直接上机,快速掌握技能,学习难度降低。从而,学习效率和效果大大地提高了,为下一步学习微机原理和接口技术课程、单片机原理和应用、嵌入式课程和计算机组成原理等课程打下良好的基础,培养了计算机系统能力。

2.4.2 实验平台

目前,X86架构的处理器占据了超过90%的个人电脑市场,以ARM架构为代表的RISC产品则同样占据了超过90%的移动计算市场,并且X86架构的指令系统大都可以访问存储器,因而,我们选择X86架构的指令系统来观察硬件及数据流动。

纯粹的8086 PC机已经不存在了。但是现在任何一台和Intel兼容的计算机,都能以8086的方式进行工作。所以,8086汇编语言是最佳的入门语言。8086 CPU的汇编语言,结构简洁,方便教与学。从8086汇编语言指令入手,通过相对简单的8086汇编语言指令深入地切入到机器内部,降低汇编语言入门学习的门槛难度,使观察硬件的方式尽可能的简单化;避免繁杂的80X86等汇编语言指令集增加学习的难度,妨碍观察硬件的兴趣。

2.5 考试方式改革

“汇编语言”课程的突出特点是借助汇编语言来熟悉存储器、CPU的各个寄存器,以及计算机的工作机理。“汇编语言”如果仅仅是通过传统的闭卷笔试的方式来对学生进行考核,容易造成学生以笔试考试为目标进行学习,忽略了实践环节,造成学生动手能力差,达不到预期的教学效果。汇编语言是面向机器的语言,在一个半小时的考试时间内也无法考察出实际动手能力。因此,本课程的考试改革思路是:坚持以学生为本,以培养学生的实践能力为目标,以激发学生的学习兴趣为动力,提高学生的学习效果。考试方式改革后,把原来在教室里考试改为在实验室里考试,可以使用计算机,避免了知识的死记硬背。

3 结 语

“汇编语言”课程具有实践性强、内容抽象、需要记忆的东西多等特点,这无疑会给教学带来相当大的困难。但是,在教学改革中打破传统的汇编语言教学模式,从系统结构入手,明确汇编语言的作用,合理安排教学内容、把握难点、软硬教学融合,注重理论教学后的即时实验,化繁为简,使得理论和实验相得益彰,相互促进。学生学习的自觉性和兴趣大增, 教学改革的成效显著,给教学工作增添了活力。

教学改革不是一蹴而就的,是一个长期过程,因此加强“汇编语言”课程的教学研究在今后仍然是一项有意义的工作。

[1] 张洪业,宋人杰,周欣欣. “汇编语言”教学改革与实践[J]. 计算机教育,2009(21):60-61.

[2] 单博炜,陈晓飞,郭兰英. 包含少数民族学生的计算机专业的教学思路探讨[J]. 教育教学论坛,2012(4):249.

[3] 娄国焕,吴亚峰,郝胜男. “汇编语言”双语教学课程改革与实践[J]. 中国电力教育,2010(22):108.

(责任编辑 王楠楠)

Teaching Reform and Exploration of Assembly Language in Minority Universities

JIANG Yue, TAN Wen-rong

(School of Computer Science and Technology, Southwest Minzu University, Chengdu Sichuan 610041, China)

Analyzing the current situation and problems in teaching of assembly language in universities for nationalities, this paper points out the necessity of teaching reform of assembly language, discusses the direction of the reform and presents the teaching ideas and methods adapting to the reality of minority universities. The effect is good.

assembly language; teaching reform; teaching idea

2017-03-07;最后

2017-03-29

四川省计算机科学与技术专业综合改革项目。

姜玥(1978-),女,南湖邵东人,副教授,博士,主要从事数据挖掘研究。

2096-1383(2017)03-0274-04

G642

A

猜你喜欢
汇编语言指令计算机
计算机操作系统
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
基于计算机自然语言处理的机器翻译技术应用与简介
汇编语言与C语言的混合程序设计技术研究
ARINC661显控指令快速验证方法
信息系统审计中计算机审计的应用
提高《汇编语言程序设计》教学效率的思考与实践
杀毒软件中指令虚拟机的脆弱性分析
试论汇编语言与C语言的混合程序设计技术
中断与跳转操作对指令串的影响