汇编语言论文

2022-04-15

摘要:汇编语言是高校计算机、电子信息工程等专业的一门核心基础课。然而,在实际的教学中,老师没有让学生认识到汇编的重要性,导致了在出去工作之后的力不从心。为了让更多的计算机学习者意识汇编语言的重要性,抛砖引玉,阐发对汇编语言的理解,希望能够让更多的计算机技术的学习者对汇编语言的作用有一个正确的认识。下面是小编整理的《汇编语言论文(精选3篇)》,仅供参考,大家一起来看看吧。

汇编语言论文 篇1:

《汇编语言》教学实践探讨

摘要: 本文探讨了普通高校《汇编语言》课程教学的现状和存在的问题,对教学和实践环节进行了探讨,同时就该课程的教学理念、关键问题和环节、教学方法和手段等进行了分析论述,对如何提高教学质量,培养学生的学习兴趣和能力提出了具体的意见与建议。

关键字:汇编语言;教学;探讨

1 《汇编语言》课程概要及教学现状

《汇编语言》是普通高校计算机科学与技术及其它信息类相关专业的主要课程,绝大部分高校的计算机专业都把它列入专业核心课或主干课中。本课程一般开设在大二,前导课为《C语言程序设计》(或其它高级语言),《数字电子技术》等,相关或后续课程有《计算机组成原理》、《接口技术》、《操作系统》、《编译原理》等。汇编语言是一种低级语言,它涉及到机器的底层,与硬件密切相关,因此,其应用主要集中在涉及硬件或系统的核心层面,应用面相对较窄,而且在涉及硬件的某些开发中,高级语言因其易于使用目前部分替代了汇编语言,面对蓬勃发展的高级语言应用特别是Web应用等,汇编语言显得有些黯然失色,因此,从实用性考虑,汇编语言的教学遇到了一定阻力,学生学习积极性不高,目的不明确,这种情况是《汇编语言》教学中普遍存在的现象。这种问题的解决需要有两方面的努力,一是教师要发挥主导作用,端正学生的认识,二是要在教学内容和手段上进行改革。

2 《汇编语言》的作用和意义

在色彩纷呈的计算机软件开发中,汇编语言的应用比较狭窄,很多早期的应用场合逐渐被高级语言取代,所以很多同学会认为汇编语言用处不大,主观上不重视,再加上汇编语言编程和调试都比较繁琐,所以很多同学在汇编语言学习中感到无所适从,严重影响学习成效。作为教师,一定要在课堂上正确引导学生,使学生对汇编语言有正确的认识。这种引导集中体现在第一次课的绪论部分要上好,同时要贯穿于后续课程中。

汇编语言的应用虽然减弱,但是其作用不可替代。随着芯片及硬件技术的提高,计算机整体速度和性能大幅提升,过去很多要考虑硬件开销的场合现在已不复存在,所以汇编语言的应用减弱甚至被取代是很自然的事情,是技术进步的集中体现,但这并不意味着汇编语言没有作用了,相反在汇编语言主要的应用场合其仍然发挥重要作用,就像是教科书中告诉学生的,汇编语言是最直接有效控制计算机硬件的,代码效率最高的编程语言,就应用来说汇编语言是偏重于系统底层和硬件的,如果学生以后从事系统开发及硬件应用、实时控制等方面的工作汇编语言应用是必不可少的,所以单从应用来说,汇编语言的学习也是很有意义的,而且汇编语言是低级语言,其应用却是“高端”和“专业”的。非计算机专业的同学通过学习高级语言也可以成为程序员,也可以进行应用开发,计算机专业的同学和他们的差别就在于类似《汇编语言》等这样的专业核心课程是否学习掌握,是否有专业的功底去做核心的、大规模的、创新的应用开发。

诚然,随着扩招而来的各种效应,学生的学习也变得相当务实,有些学生会觉得汇编语言固然有用,但自己不打算从事这方面工作,Web及数据库应用等比较热,学学这些就可以了。针对这些错误认识,教师应站在课程体系设置及课程的内在联系的高度,在不同的时段从不同的角度告诉学生汇编语言能从哪些方面帮助自己获得知识和能力,在程序设计能力培养、对计算机的认识理解包括对其它课程的理解,汇编语言都是大有益处的,确实是本专业的一门核心课程,应当下工夫学好。

除了教师自己在课堂上对学生的宣讲和引导外,还应充分发挥和利用媒体及其它专业人士的影响,切身说法,互联网给了我们这种极大的可能性,所以给学生介绍一些网上学长或专业人士的学习体会、应用经验,无疑会对学生的学习产生影响,因为大家的看法是一致的,那就是汇编语言很重要,应该学好。

3 《汇编语言》课程定位及教学

《汇编语言》教学中的问题来自两方面,一方面是学生,一方面在教师自身,很多讲授《汇编语言》的教师自己在认识上也存在偏差,所以这门课程的定位必须要清晰,否则它的价值和合理性就会遭到怀疑。汇编语言是一种低级语言,是面向系统底层的,我们不能功利地把它和高级语言类比,像高级语言那样相对简单轻松地学习仅仅是一种愿望。Randall Hyde在他的名著《The Art of Assembly Language》(《汇编语言编程艺术》)中写到:“To write good assembly language programs requires a strong knowledge of the underlying hardware(编写好的汇编语言程序需要有强大的底层硬件认知)”,所以,汇编语言的底层定位非常重要,不能试图用高级语言的内容和方法影响汇编语言教学,要从汇编语言自身的应用和特点出发,这样才能教好这门课,让学生把握住这门课的精髓。

明确了底层的定位,很多事情就会清晰,要掌握什么内容,需要什么样的教学过程就不再有疑问,教师要做的事情就是要把这些内容清晰合理地讲授给学生。

比如说,《汇编语言》教学中的程序设计例子,有些来源于高级语言,这样的例子作为熟悉指令或说明某些算法等学生易于接受,但是主要的例题和作业我们要突出汇编语言的特色,尽量去面向底层,这样有意识地引导,学生就会逐渐理解和掌握汇编语言。比如计算类的编程,多精度的计算怎么实现,如何用加法和位操作实现乘法等等,这样的例子就能突出底层特点,也会激发学生对《汇编语言》的学习兴趣。再比如,汇编语言的调试要用到Debug等调试工具,这是作为计算机专业的学生应当学习掌握的,不应该有什么疑问。所以,课程的定位和教师的引导明确了,学生学习的态度就端正了,尽管汇编语言的编程、调试过程相对复杂,步骤较多,但低级语言有它自己的特点,围绕自身特点和应用组织教学,学生的学习兴趣不会亚于学习高级语言。

通过汇编语言这种底层编程的学习和训练,可以加深学生对高级语言及相关计算机知识和理论的学习理解。比如高级语言中的变量,通过汇编语言的学习就会深刻理解,包括数据类型及存储的概念特别是对指针的理解等等;再比如对ASCII码的认识,很多同学就是学习了汇编语言才明白为什么会有ASCII码,数据文件和文本文件究竟有什么不同。教师在教学中应把这些作为知识点进行类比、说明,让学生把知识融会贯通起来。

4 《汇编语言》教学中应注意的问题

4.1 课程安排

《汇编语言》这门课程前导课除了《高级语言》外,《数字电子技术》等也应该作为前导课程,否则学生没有2进制或16进制及数字逻辑的基本训练,学习《汇编语言》会很吃力。现在《汇编语言》的课时都不会太多,这2门课是学习的基础,课堂上不可能去额外讲其它内容。据了解,部分高校《汇编语言》开设得较早,讲了《高级语言》后紧接着就是《汇编语言》,这样安排会造成学生学习障碍,影响《汇编语言》的正常教学,应该进行必要的调整。

4.2 尽快入门的问题

高级语言编程入门很容易,往往第一次课就可以写出类似输出“Hello World”这样的程序,而汇编语言写出第一个较完整的程序要学习掌握大量的内容,包括寻址方式、指令系统及大量的语言规定,学生很容易遗忘或混淆,如何让学生尽快入门,尽快培养兴趣就很关键。有些教科书在内容组织上往往相对集中,教师应当合理规划安排教学内容,比如指令系统,应先有针对性地进行选择,不宜在刚开始一次讲授大量指令,这会让初学者望而却步,产生畏难情绪,作为教师就是要让学生有选择地掌握重点内容,迅速入门,这样才能调动学生的学习积极性。在讲授了常用指令后,结合寻址方式尽早安排上机练习,尽快入门,这样后续的内容再做补充,学生的学习就比较顺利。

汇编语言的编程关键一是要熟练掌握并灵活运用各种寻址方式,初学者觉得汇编语言程序无从着手主要原因就是不知道如何运用寻址方式,教师要把解决这一问题当成迅速入门的重点,通过各种用法举一反三让学生尽快领悟;二是熟练使用Debug等调试工具查看程序和数据。这两方面的问题解决了,学生一旦入门就有了自觉学习的前提。

4.3 设定目标,加强督促

《汇编语言》教学中应不断进行复习、总结,也要督促学生进行复习总结,特别是现在学生选课很多,课余时间其它活动也多,仅靠课堂时间很难消化理解所学内容,所以一定要养成复习、总结的习惯。为此,教师应根据教学内容划分多个教学阶段,分阶段设定教学目标,让学生明确这些阶段目标,适时安排进行阶段复习和测验,检查督促学生的学习,只有教师加强督促,学生才会有一定的紧迫感。根据本校的教学实践和统计数字,教师的督促作用加强了、有意识有规划地开展复习、测验、课堂提问等,学生的学习成效、考试成绩就会显著提高。其实,所谓汇编语言难学是因为内容较琐碎,编程、调试过程复杂,对学生来讲需要一定的毅力和付出,再加上现在社会普遍的浮躁情绪也影响到学生,对学生放任自由的话到后期会有很多学生跟不上进度个别的甚至放弃学习,所以,《汇编语言》课程的讲授教师一定要主动承担起自己的责任,用各种手段影响、督促学生,促进他们的学习。

4.4 教学手段方法的改革

随着教学条件的不断改善,计算机教学在许多高校已完全采用多媒体等手段,力求取得最好的教学效果。采用多媒体教学对教师的教案及课件组织提出了较高要求,该展示的部分要大信息量,做到完整充分,重点的地方又要做到条理清晰,把握时间,方便学生记笔记。这些都需要教师在教学过程中把握精准。汇编语言程序中数据的输入、输出都不是很直接,除了利用调试工具演示、讲解外,多媒体直观演示是很好的手段,所以充分利用多媒体手段,做好课件,体现细节是重要的改革内容。

在教学方法上,要强调理论和实践的结合,理论课讲清基本概念和方法,实验课加强实践。对汇编语言来说,实验课尤其重要,汇编语言的调试过程比较繁杂,总有部分同学会遇到困难,教师要精心安排实验内容,帮助学生尽快独立完成实验,只有实验做好了才能真正学懂汇编语言。

在教学内容上,经典的8086(8088)汇编一直是学习的核心内容,因为它是80X86系统的一个完整子集,在此基础上可以进行扩展,目前有些高校已引入了Win32汇编的教学,作为内容的改革和升级,应当进行必要的介绍,可根据课时的多少合理进行安排。

除了课堂教学外,要充分利用互联网带来的便利,进行线上线下多方位的教学辅导,及时解决学生学习中遇到的问题,帮助学生学好这门课程。

4 结束语

《汇编语言》无论对教师和学生来说都是一门需要付出的课程,作为一门重要的专业基础课,教师要正确面对存在的问题,明确其面向系统底层的低级语言定位,正确引导学生,不断督促学生的学习,明确学习目的,增强学习兴趣,在学习的过程中不断提高自己的编程能力和水平,增进对计算机硬件及其工作原理的认识,为整个计算机专业其它课程的学习打下稳固的基础。

参考文献:

[1]刘旭明,齐灿,郑利华.基才建构主义的《汇编语言》课堂教学改革探索与实践[J].桂林航天工业高等专科学校学报,2007,02.

作者:尹红征 翁梅

汇编语言论文 篇2:

谈应用性本科院校汇编语言学习的重要性

摘 要:汇编语言是高校计算机、电子信息工程等专业的一门核心基础课。然而,在实际的教学中,老师没有让学生认识到汇编的重要性,导致了在出去工作之后的力不从心。为了让更多的计算机学习者意识汇编语言的重要性,抛砖引玉,阐发对汇编语言的理解,希望能够让更多的计算机技术的学习者对汇编语言的作用有一个正确的认识。

关键词:重要性;汇编语言;程序;教学

引言

汇编语言是最接近于机器语言的编程语言。如果说机器语言是计算机操作的本质,那么汇编语言就是最最接近本质的语言。汇编语言操作直接面向硬件,所以,我们在使用汇编语言的时候,能够感知计算机的运行过程和原理,从而能够对计算机硬件和应用程序之间的联系和交互形成一个清晰的认识。这也是最能够锻炼编程者编程思维逻辑的,只有这样,学习者才能形成一个软、硬兼备的编程知识体系,这是任何高级语言都无法给予的!相对于繁复的高级语言,汇编语言指令集合更简约,指令操作更直接,从汇编开始学习更符合循序渐进的学习原理。所以,对于计算机技术初学者或者自学者,汇编语言重要性无可替代。

一、汇编语言的特点

汇编语言(Assembly Language)是面向机器的程序设计语言。汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。

在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言亦称为符号语言。

汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。

二、汇编语言的重要性

(一)汇编语言是学习高级语言的基础

从应用层面上来讲,我们不得不承认高级语言在软件开发市场上的重要地位。虽然这种现象很普遍,但是也对计算机语言初学者与教育者带来了一定的负面影响,造成了他们对高级语言学习的盲目推崇。在高校的计算机教学中,要求学生必须学习C语言,java以及C++等高级语言,虽然出发点是好的,但是由于学生的计算机基础普遍不高,导致课程结束后,学生甚至都不具备编写最简单程序的能力。这是值得我们反思的现象。

一般而言,人们都认为学习计算机最基础的是C语言,这种观念是错误的,真正的基础语言是汇编语言。作为一种基础语言,只有学好汇编语言,才能更好地理解C语言等高级语言。汇编语言与高级语言在对内存读取的操作上原理不一样,前者的操作简单地说是内存地址而进行的,而C语言的操作需要学会指针的概念。指针是抽象的专业性概念,能否学好C语言最关键的是如何建立这一概念与实际的内存两者之间的思维映射,这一点恰好就是汇编语言教学过程的重点。除此之外,通过汇编语言,我们也能把高级语言中的常用概念及基本操作形成特定的映像,而深入地剖析这些映像,恰好是我们学好C语言的基础。

由上可知,学习计算机语言,我们应该脚踏实地地从最基本的汇编语言开始,通过循序渐进的学习,更熟练地掌握那些面向对象的高级计算机语言。

(二)汇编语言是重要的应用技术

由于就业市场的错误导向,许多学习者放弃汇编语言等基础语言的学习,从学习初始就专攻高级计算机语言,以图谋取一份高薪酬的工作,这个出发点虽然无可厚非,但是这种好高骛远的学习方法确却是不明智的。

第一,任何一个学习过程都必须遵守循序渐进的原则,我们的知识结构是一个复杂的结构,是由众多单一的课程有机组成,如前文所述,如何挣取更多的报酬不能成为学习汇编语言的唯一目的。编程人员更应该注重通过对汇编语言的学习来完善自己的知识结构。

第二,计算机汇编语言同样是一项主流的应用技术。对于初学者来说,计算机语言的应用舞台不仅仅是形形色色的软件,很多硬件设施也包含了大量的嵌入式语言程序,如主板、电脑芯片等,这些程序的计算机语言就是高效、直接的汇编语言,由此可见,汇编语言在计算机领域仍扮演者非常重要的角色。

(三)汇编语言帮助我们更好的理解整个计算机系统

一般而言,汇编语言的应用的确实不如高级语言广泛,但对于计算机语言学习者来说,它的重要性是非常明显的。机器指令是人们利用机器逻辑功能的前提,也是各种程序能实现功能的必需条件。软件与硬件系统功能的实现都以机器的逻辑功能为基础。汇编语言可以对机器指令进行更加直接的描述。掌握汇编语言就能理解机器指令,理解机器指令就能掌握逻辑功能,从而理解软件系统与硬件系统的工作原理,实现软件系统与硬件系统的功能,为学习计算机语言打下牢固的理论基础与实践基础。

三、汇编语言的应用

1.破解密码软件的核心部分,还有杀毒软件的扫描部分,它们都要求有很高的执行速度,要用到汇编语言才行。

2.unix操作系统的启动部分,这些部分与硬件密切联系,而汇编语言是直接对硬件操作的,所以用汇编语言是最能胜任的。

3.据有关资料统计,用汇编语言编写的程序通常要比C语言程序的执行速度快10倍以上。有些游戏程序的部分一秒钟需要调用几千次,如果用其他语言来编写的话,可能你在玩游戏的时候,时间都花在了等待上。

4.用汇编语言来编写病毒最好不过了,那效率是非常快的,如果没有汇编语言,世界上的黑客要少掉一半。

5.只要高级语言能完成的工作,汇编语言都能完成,而且汇编语言能完成的工作有的高级语言就不能完成,所以汇编语言仍然有举足轻重的作用。

6.现在用纯汇编来编写程序的几乎没有了,而是通过在高级语言里插入汇编程序,所以汇编一般用来搞嵌入式开发。

结束语

总之,汇编语言在计算机语言发展过程中扮演了不可替代的角色。对于教师,要采用正确的教学方法,激发学生的学习兴趣;对于学习者,要正确认识汇编语言的重要性;对于编程人员,如果想在计算机编程之路走得更远,必须从汇编语言开始,才能完整完善的建立计算机编程知识体系。

参考文献:

[1] 宋胜女.浅谈汇编语言教学[J].信息化教学,2011,(7):84.

[2] 朱定华.微机原理、汇编与接口技术(第2版)[M].北京:清华大学出版社,2010.

[3] 李黎.《汇编语言程序设计》课程教学改革探索[J].产业与科技论坛,2013,(12):168-169.

[4] 陈燕俐,许建.“汇编语言程序设计”课程教学改革探索[J].中国电力教育,2012,(11):55-56.

[5] 彭虎,周佩玲,傅忠谦.微机原理与接口技术[M].北京:电子工业出版社,2011.

Talk About the Importance of Applied Undergraduate Colleges Assembly Language Learning

WEN Xue-wei

(Department of Finance and Economics Information Engineering of Heilongjiang University of Finance and Economics,Harbin 150025,China)

Key words:importance;assembly language;program;teaching

[责任编辑 陈 鹤]

作者:文雪巍

汇编语言论文 篇3:

汇编语言实验教学探索

摘要:本文首先分析了当前汇编语言的教学现状及实验环节的重要作用,然后阐述了汇编语言实验教学的设计思路,给出了较详细具体的实验内容安排。

关键词:汇编语言;实验教学;设计思路;实验安排

1 汇编语言及其教学现状

汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是唯一能够利用计算机所有硬件特性并能直接控制硬件的语言。对程序的空间和时间要求很高的场合,汇编语言的应用是必不可少的,至于很多需要直接控制硬件的操作场合则更是非用汇编语言不可。用汇编语言编写的程序的执行速度通常比高级语言(如C/C++)快很多,甚至成百上千倍。相應的,汇编语言的缺点就是使用者需要对硬件有更深入的了解,编程效率不高。

“汇编语言程序设计”课程的任务是为“计算机组成原理”、“接口”、“操作系统”等后继课程提供必要的基础知识,它对训练学生掌握与硬件相关的程序设计技术、从事自主版权计算机芯片和系统软件的开发、信息安全、过程控制等方面,均有十分重要的作用。无论计算机技术如何发展,机器语言、汇编语言的计算机程序设计语言体系仍然是计算机技术的基础,也是计算机技术的重要知识体系之一。不能了解和熟悉汇编语言,不仅将导致学生知识结构的缺乏,也可能导致学生认知水平的降低,开发手段的贫乏。

然而,初学者往往感到它难学、难懂、抽象,更难以掌握。教师开展教学困难,学生学习和掌握困难,教学效果差,以致会影响后继课程的学习。

2 实验环节在汇编语言教学中的作用

在计算机相关专业的教学领域,实验和实训教学是培养大学生学习能力、实践能力、思考能力、创新能力的重要环节和有效途径。显然,学生在学习汇编语言这门课程中产生的困难,首先来自于他们对所学知识缺乏必要的感性认识,没有充分的实验。

计算机在很多方面不同于其他学科,尤其是与硬件有密切关系的课程。由于汇编语言课程具有硬件操作的密切相关性,实验环节在整个教学活动中就占据了举足轻重的地位.汇编语言的实验对培养学生的动手能力和学习兴趣,提高学生阅读、编辑和调试程序的能力,有着不可替代的重要作用。学生通过实验课深入了解CPU、存储器、接口及外部设备的工作特性,对数据在计算机中的表达和传送产生感性认识。在实验中对汇编语言达到更好的理解、掌握,从感性认识上升到理论认识。

3 实验教学的设计思路

由于各高校办学类型不同、培养目标不同、所在地及周边地区社会需求不同,计算机及其相关专业的教学内容也应有所不同。对于非研究型院校的相关专业,对“汇编语言”的教学可以集中在适度的理论知识和充分的操作实践上。“适度”体现在理论课的讲授中内容不必展开太宽,“充分”体现在实验课的安排上要充分。

尽管学生学习汇编语言有着不少困难,但“兴趣是最好的老师”,要激发学生的学习兴趣。有了兴趣,他就能积极地思考,大胆地探索,变被动接受为主动思考。因此,汇编语言的实验教学总的思路就是要以激发学生兴趣为主线,尽量设计趣味性的实验内容,充分发挥学生的积极性和创造性。

很多学生不重视实验课的主要原因之一是认为实验课的好坏对学习成绩影响不大,目前多数院校的学习成绩评定,仅以期末一张考试卷的好坏而定,这使很多学生重理论、轻实验。因此,应认真记载每个学生在实验课上的实际操作能力和编程能力,并以优、良、中、差进行仔细考核,开学初就明确告诉学生这种考核制度的存在,使之开始就没有怠慢的情绪,从思想上重视实验。

实验教学的安排按照由浅入深、循序渐进的方式进行,合理选择实验内容,尽量避免过多过杂,内容选择注意举一反三,即以启发思维为主,对设计型、综合型实验只要能完成预定实验目标,不苛求实验过程与步骤的统一。实验所演算的汇编语言程序应具备好的观测效果,能直接体现计算机的操作特点,教师演示和学生实践穿插进行,并且注意重复对比,让学生发现自己操作的失误,加深对汇编语言操作规律的理解。

实验教师在实验中主要起到引导的作用,实验前的讲解以重点、难点和注意事项为主,不应面面俱到,可以先给出一些问题,让学生带着问题去做、去观察、去思考。实验中,则应以学生为主体,让每个同学通过操作行为感受计算机的物理过程,教师将理论揉在实例中的具体操作中,学生会感到数据是有形的,CPU的操作是物质化的。经过反复练习,学生不但学到了基础知识,而且提高了综合分析和理解能力。实验中,还要鼓励学生自己修改实验,有时学生对自己编的程序没有把握,一旦上机实验后就清楚了。他在计算机上修改程序,观察修改后的结果,实际上就是了解改动部分在整个程序中所起的作用,这种作用的认识和理解不是通过说教得来的,而是切身经历的、看到的,学生对它的理解、记忆就要深刻得多。

4 实验内容的具体安排

具体的实验内容应覆盖汇编语言教学中的各重要方面,内容涉及debug、汇编语言编程环境、汇编语言程序设计、输入输出与中断、Win32汇编、汇编语言与C语言的混合编程等。类型分为选作和必做。每个实验分属验证型、设计型或综合型。

4.1 稳扎稳打练好基本功:debug和编程环境

“万事开头难”。对汇编语言的学习,能否开好头很关键,很多学生就是因为开始没学好,感觉跟不上,就不再认真地学习了,有的甚至放弃了。其实汇编语言实验开始的基础部分是比较简单的,想掌握它是没什么大问题的。

汇编语言源程序通常以ASCII文本文件的形式保存,通过汇编链接形成一个EXE可执行文件。对EXE文件的调试构成了实验课的主体内容,贯穿始终,而EXE文件的调试通常是通过debug实现的。学生通过使用debug可以观察到存储器的数据存储情况,也可以随时观察到CPU中寄存器的数据变化。debug的反汇编命令是理解汇编语言的助记符形态和机器指令的01码形态的对应关系的重要工具,学生可以通过它深入体会汇编语言中指令的构成及各部分含义。debug提供的单步执行命令是另一个重要工具,利用t单步执行一条指令,及时观察数据缓冲区的变化情况,这也是进行调试、发现程序错误的最直接有效的方法。

debug的实验部分以使用a、t、r、d、u等命令为主反复进行指令练习。学生通过使用debug观察到指令执行前后机器中数据的变化,对深入理解计算机的工作原理、汇编指令的作用是直接的和不可替代的。学生不再感到机器是复杂的,指令是抽象的。

接下来安排的实验则是对汇编语言编程环境的熟悉和掌握,这也是重要的一环。对编程环境不熟悉,不仅会影响学习汇编语言的效率,还会引起一些不必要的错误发生。因此可以考虑多给几个简单完整的程序,让学生多去

使用编程环境,熟悉汇编链接过程。实验初,只给一些正确的程序,让学生经过汇编链接可以较容易地形成exe文件并成功执行,看到了正确的结果,学生就有了方向,也就有信心去做下面的实验了。

在熟悉了简单的编译过程之后,接下来可以在原有程序中适当安排一两个错误,让学生观察汇编链接中出現的错误信息,理解这些错误发生的原因,这一点对程序调试是至关重要的,如果看不懂错误信息,就没有办法正确定位错误,也谈不上修正错误了。

以上分析,学习汇编语言伊始,一定要练好基本功,包括对debug的熟练使用,对编程环境的熟悉。这部分实验一定要安排得充分,力求使学生不再对机器望而生畏,不再对汇编指令有抽象难懂的感觉,如果能开好这个头,后继的学习就顺利得多了。

4.2 轻轻松松做改变:汇编语言程序设计

由于学习汇编语言之前,学生通常已经学习过一门程序设计语言,因此这部分实验可安排简单、典型的验证型、设计型实验,以编写程序为主。先要求学生用之前学过的程序设计语言实现,然后再给出汇编语言的实现,通过对比;学生自然可以发现汇编语言与其他程序设计语言的异同。当程序出现错误时,则必须要求学生使用debug进行调试,观察变化,排除错误,加强程序调试能力。

4.3 细心耐心学核心:输入输出与中断

中断是学习汇编语言的重点加难点部分,能否真正掌握汇编语言也在于此,中断也是汇编语言的魅力所在。这部分实验一定要找一些学生感兴趣的、具有明显观测效果的例子,至少安排两个阶段的实验。第一阶段以验证型实验为主,先使学生熟悉中断过程、中断处理程序的框架;第二阶段以设计型实验为主,让学生自己去思考中断过程中发生的事情,中断程序设计的方法。对这部分知识的传授一定要有耐心,对每个程序的讲解要透彻、概念清晰。中断是真正要用的东西,之前学习的内容只是为它做铺垫,不能学好中断,汇编语言这门课的真谛就没有学到。

4.4 兴趣延伸:WIn32汇编、汇编语言与C语言混合编程

很多学生学习汇编语言之初就会问汇编语言用在哪里,很少接触到汇编语言等问题,其实现在汇编语言很少单独使用,而Win32汇编、汇编语言与C语言的混合编程用的比较多,这两部分内容学起来并不难,可当作拓展知识部分,作为自学内容。教师可以找一些实际使用这部分内容的例子,让学生知道汇编语言的用途,使学生不再“学而不用”,“学而不知用”。

5 结束语

由于计算机学科是一个重实践的学科,没有充分的实践行为,很难真正理解、掌握计算机知识。学生在学习汇编语言中感到困难,原因不在于汇编语言本身难,而在于学生没有能充分接触它、使用它。没见过的东西、没做过的事,我们只能想象,就像学习游泳,看到别人游,就是简单的几个动作,但自己下水就游不了,原因就是缺少实践。因此,在学习汇编语言过程中,一定要让学生多“下水”,“下水”多了,就自然可以在汇编语言中“游”起来了。

作者:刘 辉

上一篇:留白艺术论文下一篇:房地产开发论文