APP下载

微机原理与汇编语言的可视化教学

2011-12-31孔祥洪郭阳雪杨渭

计算机教育 2011年24期


  摘 要:微机原理与汇编语言是电子信息、通信技术和计算机专业学生的专业基础课。文章针对目前该课程教学现状和存在的问题,提出改变传统教学方法、采用可视化的教学模式、降低教师教学难度、提高学生的兴趣等教学手段,使学习过程变得轻松,实现寓教于乐的目的。
  关键词:微机原理;汇编语言;可视化教学
  
  微机原理与汇编语言课程是计算机专业的主干核心课程,也是一门综合性、实践性极强的课程[1]。但由于汇编语言是面向机器的语言,是机器语言的符号化,语句不直观、结构化程度低,程序调试困难,与高级语言的教学相比难以讲解,所以学生在学习过程中普遍感到难度较大[2]。如何从事该门课的教学,使学生通过学习,深入掌握微机原理和基本知识,利用汇编语言编程,培养解决实际问题的能力,对于教师授课来讲有一定难度。如何更好地将该门课程知识传授给学生是每位教师都在探索的问题。结合自己近几年的教学实践,为激发学生的学习热情,提高汇编语言的教学质量,降低学习门槛,我们提出几点可视化的教学的手段,该教学方法在教学过程中效果良好。
  1 微机原理知识的可视化动态演示
  汇编语言是微机原理课程的一门工具性语言,课程中有很多交叉结合的知识点[3]。如果在微机原理部分没有弄明白内部结构和工作原理,大量的指令就无法正确运用,熟练灵活运用汇编程序编程就更难。微机原理部分概念和专有名词多、工作单元不易建模,内容抽象,学生不易理解和接受。目前的教学通常采用比较传统的教学方法,教师是在教室用粉笔在黑板上讲授,内容较枯燥且受板书的限制,难以激发学生
  
  兴趣,教学效率低下,而对于初学的学生来说,入门较难,学起来比较吃力。为了达到良好的教学效果,利用多媒体进行可视化教学,把声音、动画、图形、文字等媒体有机地组合在一起,将难懂难理解的内容以动画的形式展示出来,调动学生学习积极性,把注意力集中到重点部分。通过逼真的动画显示,使学生从视觉上和感官上真实地感受到微型计算机的内部构造。如在讲授寻址方式的时候,可以通过动画的形式将寻址的过程以及各个寄存器的相关变化情况表现出来,这样将枯燥的理论内容可视化,提高学生的感官认识。学生学习起来一目了然,并可以轻松理解几种寻址方式的区别。另外,我们还可以利用动画模拟存储单元物理地址的形成过程以及各逻辑段的分配过程,使学生更好地理解对存储器的访问等其他内容。
  2 汇编语言的可视化调试环境利用
  汇编语言面向机器的硬件,相对比较抽象、指令伪指令较多、语法难记、调试困难、程序的可读性差,在上机调试程序时又由于不能直接看到程序的运行结果,实践教学中学生很难掌握汇编语言的应用。另外,在传统的教学中,常用汇编语言教学调试工具DEBUG和MASM软件都是在DOS下用指令运行的,而学生对DOS操作系统不熟悉,不能理解,也跟不上教学步骤,教师的教学难度极大,实验的成
  
  基金项目:上海市教委上海海洋大学重点课程建设项目(A2600-10-0053,A2600-10-0052);上海市高校本科教育高地建设项目(B8515-10-0001)。
  作者简介:孔祥洪,女,高级实验师,研究方向为物理应用及控制技术。
  
  功率很低。作者在教学中利用启东的DVCC-8086的微机原理实验系统MASM for windows软件进行书写程序,该软件是一个结合了先进可视化编辑器、编译器,反编译器,具有排错功能的软件模拟工具,通过这样的可视化程序调试环境进行书写程序时,可有效提高学生的编程能力和上机调试技能,有利于加深学生对汇编语言的程序的理解,降低调试难度。图1是启东8086汇编语言的可视化调试环境,它具有高级语言,集成环境语言所具有的可视化集成环境的下拉菜单,图标化的快捷按钮、热键、快捷命令等特点,如文件编辑菜单有文件、编辑、查找、选项、编译菜单;实验指南菜单有编辑窗口的快捷菜单,可使用鼠标右键来激活;调试部分有动态调试菜单、窗口菜单;
  
  窗口部分有编辑窗口、反汇编窗口、数据窗口、寄存器窗口;工具栏有编辑工具栏、调试工具栏、实验指南工具栏等等。而调试工具栏还具备联接、编译、调试、单步、运行、断点等功能。再如,菜单可用ALT/ALT+字母来激活,用热键或字母来选择所有输入地址数据值等。
  8086汇编语言可视化的调试环境在进行程序调试时可以直接看到命令的执行过程,得到程序运行结果,这有利于学生掌握汇编语言的程序设计方法,培养实际动手能力,激发学习汇编语言的兴趣,同时,也可以降低教学难度,使学生在短时间内真正理解和掌握教学重点和难点。
  
  
  3 可视化寄存器窗口、代码数据窗口、反编译器的利用
  汇编语言是机器语言的符号化,通过它可以充分理解指令在计算机中的执行过程,能够最直接最有效地操作机器硬件系统,编写在时间和空间两方面都是最有效的程序[4]。但编写及调试汇编程序时相对高级语言程序要困难、复杂得多,如果利用可视化寄存器窗口、代码地址数据窗口等调试环境,就可以帮助学生加强对低级语言编译过程中时空高效性的理解。使学生能从物理存储结构和系统物理地址结构两方面建立起计算机系统的完整性、可控性的概念。8088汇编语言的可视化调试环境中可视化寄存器窗口如图2所示,可视化代码地址数据窗口如图3所示。
  
  在学习寄存器和存储器的组织结构时,学生对很多概念只有一个很抽象、模糊的认识,这时,我们可以通过8088教学软件打开“窗口”菜单的“代码数据窗口”和“寄存器窗口”,查看寄存器的状态;教师在讲授存储器和寻址方式的知识时,利用可视化“代码数据窗口”查看内存单元,让学生可以动态了解内存单元的地址与内容,将抽象的内容具体化;在讲授指令的运用时,可以针对每一条指令,利用可视化窗口进行指令的具体操作,让学生从可视化窗口中观察寄存器、内存单元地址和标志寄存器的变化情况。另外,教师还可运用“代码数据窗口”来查看程序的运行结果,当程序运行结果不正确时,通过“单步”调试和设置“断点”等按钮,随时观察寄存器和内存单元的内容,确定程序的错误之处,还可以利用“反汇编窗口”和“断点”设置进行反汇编。图4是观察寄存器和内存单元的中程序的指针地址与内容,确定程序的错误之处。
  
  图4 可视化反汇编窗口
  4 结语
  作为专业基础课程,微机原理和汇编语言是学好后续专业课程的关键,是任何其他高级语言都不能完全取代的。教师应该合理安排教学内容,灵活运用多种教学方法和现代教学手段,充分调动学生的学习积极性和主动性,提高教学的实际效果和质量。通过对微机原理与汇编语言可视化教学改革,学生对该课程产生了更浓厚的学习兴趣,取得了较显著的教学成果,但是也还存在一些不完善的地方,这需要我们在以后的教学实践中不断改善。
  
  参考文献:
  [1] 马浩. 浅谈微机原理与汇编语言教学改革[J]. 科技创