高校汇编语言教学中若干难点的分析

来源 :科技创新导报 | 被引量 : 0次 | 上传用户:tangjun6422443
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:汇编语言是一门比较难学的多个专业的基础课程,本文首先分析了汇编语言教学中存在的若干难点,其次针对这些难点,本文分别从多个方面来探讨高校汇编语言的教学改革措施。
  关键词:汇编语言 教学难点 教学改革1
  中图分类号:G420 文献标识码:A 文章编号:1674-098X(2012)04(b)-0176-01
  1 引言
  机器语言是计算机能直接识别的语言,它是一种由0和1组成的二進制语言,汇编语言是对机器语言符号化的一种语言[1],属于低级语言。由于汇编语言与硬件有着千丝万缕的紧密联系,因此用汇编语言经过编辑、编译、链接等步骤获得的可执行程序不仅运行速度快、占用内存空间少,而且能有效地对硬件设备进行控制以及开发。汇编语言的应用广泛,例如:在可行性分析、网络安全维护、生物特征识别、嵌入式系统开发、农业机械化以及电力控制等等领域中都可以看见汇编程序的身影。因此在现在很多高校里,汇编语言不仅是计算机科学与技术学科专业的主要课程,也是其他相关专业的基础课程[2],例如:电子技术、自动控制、机械工程、通信工程等相关学科或专业都会使用到汇编语言。但是,另一方面汇编语言还具有指令集繁多、寻址方式多样、程序编写与调试复杂、程序可读性较差等等缺点,再加上汇编语言常常涉及中央处理器、内存单元和I/O接口等多个硬件处理细节,因此对于高校汇编语言的教学来说,如何尽快尽好地让学生掌握汇编语言编程往往是比较棘手的问题。为了解决这一问题,本文将对汇编语言教学中存在的若干难点进行分析,以便找到突破点,更好地为汇编语言教学改革服务。
  
  2 汇编语言教学中的难点
  笔者目前已经在高校从事汇编语言教学多年,经过多年的教学发现,在汇编语言教学中存在如下几处困难:(1)学生往往弄不清什么是寄存器,什么是存储器,进而无法理解寻址方式BX和[BX]之间的区别。(2) 由于汇编语言中寻址方式有很多种,寄存器也有多个,因此学生在学习寻址方式时经常会出错,例如:存储器寻址时出现[DX]、[AX]、[CX]、[DS]以及[AX+BX]等错误。寻址方式是汇编语言的基础,如果无法熟练地掌握各种寻址方式,那么汇编语言程序的编写将变得举步维艰。(3)学生在使用属性修改运算符PTR、字节定义伪指令DB、字定义伪指令DW以及双字定义伪指令DD存在很多问题,例如:对于何种情况下需要使用PTR常常把握不准,对于由DB、DW和DD定义的数据在内存中的存放情况含糊不清。(4)汇编语言指令繁多,各个指令的使用规则差异很大,因此学生在学习指令时经常出现指令使用违反规则的情况,例如:使用指令DIV进行16位数的除法时没有把被除数事先放进默认的寄存器AX和DX中,堆栈操作时将进栈指令写成PUSH AL,以及将SAL、SHR、SAR、RCL、RCR、ROL、ROR等移位指令不加区分地使用。(5)复杂的汇编语言编程让已经具有高级语言编程经验的学生索然无味,厌学情绪时常出现。
  
  3 针对难点而采取的教学改革措施
  针对上一节总结的汇编教学中存在的难点,这里我们建议分别可以采取如下教学改革措施:
  (1)首先告诉学生寄存器和存储器尽管是计算机的重要硬件组成部分,但是寄存器是在CPU中的,而存储器这里主要指的是内存,因此寄存器和存储器是两种不同的相互独立的硬件设备。寻址方式中BX属于寄存器寻址,获得的操作数是放在寄存器中的,也就是在CPU里的,而[BX]属于存储器寻址,获得的操作数是放在内存中的,因此两者是完全不同的寻址方式,此外,[BX]中的BX寄存器里存放的是内存地址。实际课堂讲解时还可以利用打比方的方式配合说明,比如把BX这个寄存器比喻成一个盒子,内存比喻成一幢大楼,大楼的每个房间就是内存单元,那么寻址方式BX获得的操作数是放在盒子中的,而利用[BX]获取操作数时,盒子中放的是操作数的地址,先从盒子中取出地址,然后根据地址到大楼里面找到对应的房间,那么操作数就在这个房间里。
  (2)将所有的寻址方式以及每种寻址方式所涉及的寄存器用一个表格来说明,如文献[3]第45页的表3-2所示,这样做的目的使得学生能很清楚地知道每种寻址方式可以使用哪些寄存器,例如:基址寻址中可以使用的16位寄存器只有BP和BX两种,而变址寻址可以使用的16位寄存器也只有SI和DI两种。
  (3)在讲解属性修改运算符PTR时也可以采用表格的形式,将所有需要使用PTR的情况给罗列出来,实际讲课经验证明一个表格有时候比语言更具有表达能力。此外,对于数据定义伪指令DB、DW和DD的讲解,则一定要用典型的例子来加以说明,例如:比较BUF1 DB ‘A’,’B’与BUF DW ‘AB’这两条数据定义伪指令中字母A和字母B在内存中的存放顺序就可以使得学生清晰地了解DB与DW的不同之处了。
  (4)汇编语言的指令的确是非常多,要全部记住,对于初学汇编语言的学生来说是比较困难的,因此在教学中针对常用的指令需要多举例子,利用较多的程序片段来说明指令的用法。例如:针对每个移位指令都需要举一个程序实例来加以解释,并且还需要适时地在黑板上画出移位指令执行前后,标志寄存器和操作数的变化情况。指令的讲解方法其实和C语言中表达式、语句的讲解方法是一样的,就是通过多个程序实例来进行强化。
  (5)首先,在汇编语言开讲的第一节课,给学生多介绍一些汇编语言在将来实际工作中的作用,并以就业为导向,激发学生学习汇编语言的热情。其次,由于学生多数都学习过C语言,因此课堂授课可多与C语言进行对照讲解,例如:在汇编语言的第一节课,就演示一个程序实例,在屏幕上显示“Welcome to Assembly Language”,这是很多C语言的第一节课中常采用的方式。最后,建议尽早地介绍DOS和BIOS系统功能调用,以便学生能进行实际地输入与输出操作,增加学生学习的兴趣。
  
  4 结语
  汇编语言课程是高校里相关专业的一门重要的基础课程,它编程与调试复杂,程序更是难以阅读与理解,因此汇编语言的学习会显得比较吃力。本文分析了汇编语言教学中存在的若干难点,并针对这些难点分别提出了相应的教学改革措施,希望这些措施可以给其他信息类课程的教学改革所借鉴。最后需要提一下的是笔者多年来以文献[3]为教材进行汇编语言的教学工作,因此文中所说指令用法都以文献[3]为基础。
  
  参考文献
  [1] 刘三荣,王海峰.汇编语言程序设计课程教学改革与探讨[J].中国成人教育,2009(1):143~144.
  [2] 王佑湖.“汇编语言程序设计”课程教学方法的探讨[J].教育与职业,2008(2):127~128.
  [3] 孙力娟,李爱群,等.微型计算机原理与接口技术[M].清华大学出版社,2007,2.
其他文献
廉租房法律政策既是我国的住房保障制度,同时也是我国房地产宏观调控政策,其价值主要在于实现社会公平。目前,我国廉租房法律政策还存在一些缺陷,诸如现有法律政策落实不到位
食品的检验关呼百姓生命安全,有效的掌握可能产生误差的所有因素,用合适的人和方法尽可能排除偶然误差,减少测定误差、系统误差,提高食品检验精度。
摘要:随着近些年来城市车流量的逐年提高,道路桥梁建设工程的工作要求也越来越高。与此同时,我国交通事业的发展成果、业绩也相较以往有了长足进步。但由于车流量的急剧增多、加上建筑构造因素、自然环境因素等的综合作用,一些路桥施工作业质量通病的发生频率也有所提升,进而给路桥行政养护单位带来了一定工作难题。基于此,本文以路桥工程建设存在的一些质量通病作为研究课题,分析了桥头跳车的成因,并与之提出了相应治理、控
摘要:人民群众日益增长的消防安全需求与消防力量严重不足的矛盾日益凸显,已成为长期制约四川三州地区消防事业发展的重大“瓶颈”问题,主管部门以科学发展观的理念为指导,将发展消防力量尤其是合同制消防队伍的发展作为解决问题的关键,而认真分析影响合同制消防队伍发展的因素与实质,对解决和完善“十二五”期间合同制消防队伍可持续建设发展的大有益处。  关键词:合同制 可持续 四川三州地区 消防队伍  中图分类号:
引言  随着社会经济的发展,各个民营、专科医院不断增多。我国医疗卫生事业具有公益性和市场经营性2大特点。在这种形势下,医院为了生存和发展,不仅要重视自身业务和竞争力,还要考虑医院的经济利益。对整个医院的发展和管理来说,财务管理是对医院资金的筹集、分配、使用、清偿等业务进行决策、计划、组织、执行和控制等活动,在医院管理中占有重要地位,是保证医院正常运行的核心和生存、发展的重要环节,而财务预算管理是财
在学分银行和资格框架建设背景下,社区教育学习成果如何认定成为终身教育领域的新兴关注议题.南澳大利亚州社区教育发展较为成熟,迄今已在社区正式课程和社区自我导向经验学