汇编语言教学改革

2024-06-25

汇编语言教学改革(共12篇)

汇编语言教学改革 篇1

摘要:汇编语言是面向机器的低级语言,本身比较抽象,学生理解困难,学习起来比较枯燥。为使学生思想活跃起来,激励学生的求知欲望,提高学习兴趣、挖掘学生内在的主观能动性,该文针对汇编语言课程教学中存在的问题,从教学内容、教学方法和教学手段等方面进行了分析和探讨,给出了相应的改革措施并在教学实践中取得了良好的效果。

关键词:汇编语言,教学改革,教学方法和手段

汇编语言程序设计是计算机科学与技术及其他相关专业选修的一门主要专业方向课程。通过本课程的学习,使学生掌握基本的汇编语言程序设计方法和技能,了解高级汇编语言技术。为更深入地掌握程序设计语言及实际的程序设计打下坚实的基础,而且对于训练学生掌握程序设计技术,熟悉上机操作和程序调试技术都有重要作用,并为学习后续课程和专业技术工作打下基础。

汇编语言是一种符号语言,以指令系统为核心,使用助记符来表示操作码,用符号或符号地址来表示操作数或操作数地址,它与机器指令一一对应。目前使用较普遍的是高级语言,是以英文语句和函数表示的语言,非常接近于人类自然语言。而汇编语言是面向机器的低级语言,可有效地访问、控制计算机的各种硬件设备。与高级语言相比,采用汇编语言编写的程序具有目标代码简短,占用内存少,执行速度快的特点,是高效的程序设计语言。

1 汇编语言课程教学中存在的问题

首先,对初学者而言,汇编语言是低级语言,比较抽象、难以理解,而且指令庞大枯燥,指令结构和使用方式比较复杂,很多的语法规则需要记忆,较琐碎,没有高级语言的完整结构化语句,程序结构不是很明显。汇编语言和机器的体系结构结合紧密,使用者需要对计算机的组成、硬件的控制和指令的解释过程有比较清晰的掌握;程序的移植性不好;指令众多,且同种类型的操作(算术、逻辑、转移等)要根据操作数和状态标志选择不同的指令(如无符号数的运算与带符号数的运算、条件转移等);运算中要根据数据长度而选择不同的寄存器;程序的编译调试比较麻烦;编写出吸引人们感官的程序比较困难。因此,学生在汇编语言的学习中容易产生厌烦情绪。

其次,教学方法基本上还是采用传统的授予式的教学方法,而计算机专业汇编语言程序设计课程的教学目的,是要掌握语言本身的概念、语法规则等,需要具备一定的计算机硬件知识,需要比较坚实的程序语言设计基础(比如至少要有一门高级语言做先行课),还要掌握语言的灵活运用和程序设计方法和编程技巧,使学生具有编写应用软件的能力,因此,在教学方法和教学手段上应有所创新和突破.

再次,初学者首先从外界接受到的是汇编语言难学,从心理上就对该课程产生了恐惧感;还有就是16位汇编程序设计效率不高,缺乏实用性,课程设置的实践环节不够,缺少综合练习,从而影响学生的学习积极性,不利于培养学生解决综合问题的能力,学生实践动手能力得不到应有的提高.而另一方面初学者又受自身的知识面的限制,认为汇编语言在实际应用开发中很少用到,觉得该课程又难又没什么用,因此,应该要纠正学生对该课程的认识及端正学生的学习态度。

2 汇编语言教学具体改革措施

针对本课程教学中所存在的指令种类繁多、概念抽象、难以理解和编程技术复杂等问题,以培养学生扎实的计算机理论基础和良好的实践能力为目标,针对汇编语言课程的特点探索有效的方法和措施,为了更好地提高教学效果和教学质量,在本课程的教学过程中,结合自身体会,探讨和实践了以下一些具体的改革措施。

2.1 明确教学目的

汇编语言对于初学者来说比较枯燥难懂,更多的是对计算机硬件的操作,往往学习时间长,很难像高级语言那样很快可以上手编写一些程序,让人有成就感。现在学生对汇编语言这门课程的学习普遍热情不高,重要的原因之一在于不知道汇编语言能有什么用途,缺乏对汇编语言应用价值的认识。

汇编语言的教学应以实用为目的,在培养学生理论知识的同时也要注重拓宽学生的知识面,让学生知道为什么开设汇编这门课以及学习这门课的前景在哪。在课题上针对授课内容进行应用方面的拓展,可以结合汇编在系统软件的编写、某些高级绘图程序和视频游戏程序等方面的应用做适当介绍,提高学生学习汇编语言的热情和主动性。

2.2 合理并灵活调整教材授课次序

在教学过程中,教师需要按照实际上课情况调整教材授课次序,打破枯燥的学习模式,以教材为基础,重新安排教学内容。我们采用的教材是清华大学出版社、沈美明主编的“IBM一PC汇编语言程序设计”(第2版),教材中第3章内容是介绍所有的指令系统和寻址方式,第四章是介绍汇编语言程序格式和上机过程,而第五章才是真正的程序设计。如果按照教材的顺序进行教学,则是把所有指令学完后再学编程,这样照本宣科一方面会导致教学内容空洞,学生感觉枯燥乏味;另一方面上机实验无法及时与教材同步,学生学习效果差。

为此,我们在教学中摒弃了传统的顺序教学模式,合理并灵活的重新组织教学内容。例如:在介绍第三章指令系统时,把最基本的数据传送指令、算术指令和逻辑指令讲完,而象移位指令、控制转移指令、串处理指令、中断指令以及累加器专用传送指令等则可以结合后面的章节及实际应用联系比较紧密的例子、根据不同的程序设计内容来进行讲授。这样学生就可以通过实际的应用加深对各指令的理解、掌握好指令的用法,从而达到更好的教学效果。

例如在第二章寄存器组的介绍中,总共有3组寄存器:通用寄存器、专用寄存器、段寄存器。这些寄存器的名称都比较复杂,有些学生对SI作为源变址寄存器、DI作为目的变址寄存器不理解,也就是不知道什么叫源变址、什么叫目的变址。还有对IP为指令指针寄存器、FLAGS为标志寄存器这些名词都不太理解。他们往往会百思不得其解。象SI和DI两个寄存器的用法在串处理指令中能够充分的体现出来,所以我们在给学生讲解时,不必做太深的解释,可能越说明越使学生疑惑。在讲这一节时,有些内容只需一带而过,在学生脑海中留个印象就可以了。等讲到后面相关的内容时再作强调。很多情况下,等学完后面章节的内容,回过头再来看一遍时,就非常清楚了。

因此,合理并灵活的调整教学次序显得尤为重要。

2.3 采用对比记忆法优化教学

在教学过程中,教师应该采用课本与实际相结合、对比记忆的方式优化教学,使学生能够举一反三,达到事半功倍的效果。例如,在第三章中介绍寻址方式的时候,16位机型共有7种最基本的寻址方式,分别是立即寻址、积存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址方式。这7种寻址方式是整个汇编的基础,学生必须要掌握,否则以后编程将无从下手。但如果完全按照书本上来解释,势必会让学生听得相当模糊,给人很混乱的感觉。而我们采用对比的方式来讲解就一目了然了。具体方法如下:

1)把立即寻址和直接寻址作比较,如:MOV AX,3069H和MOV AX,[3069H],前者是属于直接寻址,因为立即数3069H直接出现在指令中,而后者是属于直接寻址,因为操作数放在3069H里面,也就是多了一个中括号,即3069H里面的内容就是我们要找的操作数。

2)把寄存器寻址和寄存器间接寻址作比较,如:MOV AX,BX和MOV AX,[BX],前者属于寄存器寻址,源操作数放在BX里面;而后者属于间接寻址,“间接“二字体现在BX加了个中括号,那么必须对BX取2次内容才得到操作数。

3)把基址变址寻址和相对基址变址寻址作比较,如:MOV AX,[BP][DI]和MOV AX,MASK[BP][DI]。这2种寻址方式必须是一个基址(BX或BP)配一个变址(SI或DI)。后者比前者多了一个位移量MASK,执行的操作是把MASK的内容与BP和DI的内容进行相加,再与段地址结合形成物理地址,最终求得操作数。

这样一来,我们就可以把这几中寻址方式用最通俗的语言解释得非常清楚。接下来,我们用理论联系实际的方法来举例说明这些寻址方式。如有题目,编写一段显示字符串STR的指令序列。其中STR是用DB定义的字符串”personal computer”,那么我们可以用不同寻址方式来完成。

通过这个例子,就可以让学生对寻址方式掌握的更加透彻了。

此外,在教学中我们还可以用一题多解的对比方法来优化教学,引导学生积极思考问题。例如有这样一题:已知(AX)=0012H,(BX)=0034H,把它们装配成(AX)=1234H。这种题目我们可以有不止一种解法,指令序列如下:

2.4 多样化教学手段

随着现代教育技术的迅速发展,多媒体被广泛应用于教学中。多媒体教学以声音、图象、文本、动画等多种形式将授课内容生动形象地表现出来。为教学增加了不少色彩和趣味性,活跃了学生的思想和课堂气氛。比如在讲解程序时,把每部分指令在计算机内的执行过程用动画的形式演示出来,并对程序进行标注,这样大大的增强了教学效果。但也不能盲目的滥用多媒体,例如当程序代码很长时,一个幻灯片放不下,这时就要采用板书与多媒体想结合的方法。否则学生看了后面忘了前面,反而影响教学质量。

另外,要重视理论联系实践,让学生自己动手。老师的角色不单单是传统的授课者,还要调用学生的积极性、与学生产生互动,让学生主动思考问题、探索问题。比如对上课积极回答问题并且正确的学生给予加平时分,这样学生之间就会拉开差距,不再是“学与不学一个样,成绩好与不好一个样”的局面。同时在学生中会相互竞争,不再只为考试能过关而学习了。最后,要丰富课件内容、突出重点和难点,以实际问题切入正题,再让学生举一反三,并于每堂课结束前给学生留下思考题,然后下次课再以问题导入后文,如此循环下去,让学生养成勤于思考的好习惯。

3 结论

在汇编语言教学中,如何去挖掘学生潜在的学习热情是关键。教师应积极研究改革教学内容、方法及手段、理论联系实际,培养他们的兴趣从而提高教学效率。上述改革措施在实际的汇编语言教学中,取得了显著的成效,课间课后有很多学生来问问题。为了进一步培养学生主动思考问题、解决问题的能力,今后还需进一步探索。

参考文献

[1]沈美明.IBM-PC汇编语言程序设计[M].2版.北京:清华大学出版社,2003.

[2]王英.《汇编语言程序设计》教学探究[J].重庆邮电大学学报:自然科学版,2007(S1).

[3]冯建文,包健,严义.“汇编语言程序设计”课程的教学改革与探讨[J]吉林大学学报:信息科学版,2005(S2).

[4]冯康,杨国诗.《汇编语言》教学内容改革的几点建议[J]安庆师范学院学报:自然科学版,2004(2).

[5]武伟,汪璇,刘晓燕.汇编语言程序设计课程教学改革探讨[J].西南师范大学学报:自然科学版,2009(2).

汇编语言教学改革 篇2

一、维特根斯坦“语言游戏说”的语言观

(一)语言的实践性

语言游戏与生活形式是维特根斯坦后期语言哲学理论的两个支柱概念。维特根斯坦在《哲学研究》一开始就提出了一种语言观:“这种语言是用来在建筑工人A和他的助手B之间进行交流的语言。A用各种建筑石料盖房子:有石块、石柱、石板、石梁。B必须按照A的需要依次将石料递过去。为此,他们使用一种由‘石块’、‘石柱’、‘石板’、‘石梁’这些词组成的语言。A叫出这些词,——B则把他已经学会的在如此般的叫唤下应该递送的石料递上——请把这设想为是一种完全的原始语言[1]。”在这里,A指导自己的助手B的方式,并不是告诉 B什么是石块等,而是教给B一套语言系统和使用规则,通过训练使B学会使用这一系统。“儿童在学着说话时用的就是这种原始形式的语言。在这里,语言的教学不是作出说明,而是进行训练[2]”。儿童学习语言就是这样一个训练过程。由此,维特根斯坦将我们的语言即日常语言称为“语言游戏”:“我也把由语言与行动(指与语言交织在一起的那些行动)所组成的整体叫做‘语言游戏’ [3]。”他强调:“‘语言游戏’一词的用意在于突出下列事实,即语言述说乃是一种活动,或是一种生活形式的一个部分[4]。”维特根斯坦的“语言游戏”着眼于人们使用语言的动态活动“语言游戏”,强调在实际使用过程中考察语言的意义。“语言游戏说”确立了对语言的.意义和功能进行理解就是要从日常活动入手,语言的意义即使用。

(二)语言的生活性

维特根斯坦说“想像一种语言就意味着想像一种生活形式[5]”。生活形式是指日常感性的或经验的生活和语言运用免费论文网。它涉及文化背景、历史传统、风俗、习惯、制度等内涵,反映人类的思维方式和行为方式等特点。语言游戏本身就是生活形式,而且二者关系密不可分。一方面,生活形式与语言游戏彼此为基础,生活形式既包含语言游戏又制约语言应用;另一方面,语言是生活形式的一部分,它是各种各样、作用各异但又互为前提、互相交织的生活形式的异质同构。生活形式是日常语言的世界,离开了日常生活,离开了语言的使用,语言就没有任何意义。而每一个语言游戏又都坐落在具体多样而又复杂的生活形式之中。那么,语言游戏自然具有多种多样的形式,包括命令、描述、唱歌、讲故事、开玩笑、猜谜语、感谢、祈祷等。语言的用法、词的功能和语境等也是无穷多的。因此,研究语言游戏就是研究语言的原始形式或原始语言即日常用语。

(三)语言的趣味性

“‘游戏’最重要的特点是乐趣、情趣和旨趣,这些东西比规则更重要[6]”。维特根斯坦后期语言哲学旨在强调语言是一种以词语为工具的活动, 是一种充满生机和情趣的活动,这种活动就是语言游戏。“语言游戏”是植根于生活形式之中,是人们生活情景的不同成分的互相联结,它包含了我们语言的一切活动。每一个语言游戏又都坐落在具体多样而又复杂的生活形式之中。和语言编织在一起的社会活动或生活方式是丰富多样、灵活多变的,包括命令、描述、唱歌、讲故事、开玩笑、猜谜语、感谢、祈祷等。丰富多样、灵活多变的语言游戏能给人以乐趣、激情和好奇心,能激励人们积极参与游戏,并从游戏中获得知识和能力。既然把语言视为一种游戏,那么它就必定具有任意性和趣味性。

二、“语言游戏说”对幼儿语言教学游戏化的意义

(一)“语言游戏说”给幼儿语言教学游戏化提供了哲学依据

维特根斯坦指出, 语言游戏是儿童刚开始使用语词的形式。他强调,语言是一种以词语为工具的活动, 是一种充满生机和情趣的活动,这种活动就是语言游戏。语言活动既然是一种游戏,这恰巧符合幼儿年龄特征以及幼儿语言教育的原则,为幼儿语言教学游戏化在理论上提供了哲学依据。游戏最符合幼儿的年龄特征,最为幼儿喜爱,最能调动幼儿的积极性。游戏对幼儿来讲就是生活,而生活就是游戏。其一,《幼儿园工作规程》明确指出:“幼儿园是以游戏为基本活动的,寓教育于各项活动之中。游戏是对幼儿进行全面发展教育的重要形式[7]”。其二《幼儿园教育指导刚要》强调: “幼儿语言能力是在运用的过程中发展起来的,发展幼儿语言的关键是创设一个能使他们想说、敢说、喜欢说、有机会说并能得到积极应答的环境[8]”,也就是创设适合幼儿开展语言游戏的情境。幼儿的语言单靠教师直接的“教”是难以掌握的。其三,周兢在《中国幼儿园语言教学研究的新进展》一文中指出:“幼儿园语言教育的一个突出特点,就是以活动的组织形式来帮助幼儿学习语言[9] 。”幼儿在语言游戏中,产生积极的运用语言与人、事、物交往的需要、愿望和关系,在生动、活泼的操作实践中动脑、动嘴、动手“语言游戏”,成为主动探求并积极参与创作的语言加工创造者。可见,语言游戏活动是幼儿语词、语用技能习得和语言表达能力培养的重要途径和方法。综上说明,幼儿语言教学游戏化是可行的,必要的。

汇编语言教学改革 篇3

关键词:课程改革;汇编语言;课程建设

中图分类号:G642文献标识码:A文章编号:1009-3044(2007)12-21735-02

A Study on College Course Reform of the Assembly Language Programming

WU Guang-yu, CHEN You-xuan

(Zengcheng College of South China Normal University, Guangzhou 511363, China)

Abstract:By analyzing educational actualities of Assembly Language Programming course,a course reform project is proposed. This paper points out the main problems remained in the course practice. Finally, the author proposes a series of reform solutions to the teaching materials, experiment designing and course testing of Assembly Language Programming. The paper also extracts experience from educational reform and practice.

Key words:course reform; assembly language; course developments

1 引言

汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而在对于程序的空间和时间要求很高的场合,汇编语言是必不可少的。因此,各院校的计算机及相关专业均开设了“汇编语言程序设计”。在以往的教学中,学生普遍反映这门课程难学。究其原因有:(1)学习汇编语言需要具备计算机的硬件知识配合,需要比较坚实的程序语言设计基础;(2)汇编语言和高级语言相比有大量的语法规则需要记忆,较琐碎,没有高级语言的完整结构化语句,程序结构不是很明显;(3)上机调试结果不直观且容易出错;(4)再加上近年来较易掌握的高级语言的快速发展,使得汇编语言的角色逐渐在淡化。在教与学的过程中,初学者首先从外界接受到的是汇编语言难学,从主观上就对该课程产生了畏惧心理;而另一方面初学者又受自身的知识面所限,认为汇编语言在应用开发中很少用到,结果给该课程下难又没用的结论。因此,针对现状,纠正学生对课程的认识,改进教学方法已经刻不容缓。

2 教学改革措施

2.1 纠正学生认识,调整教学内容,注重实例教学

纠正学生对课程难学而又没用的认识,才能使课程的教学得以顺利开展。而另一方面毕业生又面临较大的就业压力,其中很大一部分原因就是能培养出人才与社会需求脱节,没用按照市场真正需求确定目标,专业领域紧缺的技能应用型人才存在很大的缺口。因此,加强包括汇编语言在内的硬件体系课程的教学很有必要。

清华大学出版社出版的沈美明等编写的《 汇编语言程序设计》第3章的指令系统的时候,按照传统的教学顺序,把所有的指令讲完,过多的指令在缺乏实际应用实践的支撑下,枯燥乏味。所以在介绍这章的指令的时候。先把基本的数据传送指令、算术运算指令、逻辑运算指令、移位指令讲完。对于控制转移指令、串处理指令、循环指令、中断调用等其它指令分散到分支、循环程序设计,中断调用,I/O程序设计等相应的章节去。让学生能够切身体会学以致用,更能够在指令的应用中加深理解,达到更好的教学效果。

而在程序设计方法的章节里,改变以往一节一个(多个)例子的做法,把程序设计方法设计在一系列有前后关联的例子里,通过每一次课逐步扩充例子的功能,程序设计方法也逐步展示出来。这一系列的例子从把BX的内容以十六进制形式输出,到统计BX中二进制1的个数并输出,到从键盘输入一个十六进制数到BX,到把BX中的内容以十进制形式输出(分无符号数和带符号数),一直扩展到从键盘接受一个数组并排序输出。把最后的例子介绍完后,已基本覆盖课程的基本内容,包括程序格式,三个基本结构,子程序的应用,宏的使用,输入输出程序设计等。通过这样处理课程的连贯性大大增强,很多相关的内容都串联起来,学生也能在较为熟悉的例子中尽快的接收新的知识,从逐步扩展的例子找到程序设计方法之间的差异,方法的适应范围等。

2.2 灵活应用辅助教学手段

利用CAI课件开展课堂教学,对教学的直观性和可视性,提高课堂教学效率都有很大好处。对课程中的重点难点,比如寻址方式及其物理地址计算,堆栈操作指令,子程序调用的堆栈变化等知识点,用动图形式演绎。既可以增加趣味性,又可以达到事半功倍的效果。

2.3 实践环节的教学

针对程序设计课程实践性极强的特点,引入新的编程调试工具TurboDebugger(TD),并编写相关的实验指导书。TD工具相对DOS的Debug,提供的较好的图形界面,同屏能显示所有寄存器,标志位,代码段,数据段还有堆栈段的内容,为调试和理解提供更多的便利。同时,也体现了“机器”和“程序”相结合这一思想,使学生对“计算机”的认识更为深入。

理论课教学有机地和实践环节教学结合。在实验课中,继续沿用理论教学的例子作为基础再进行扩展功能,使学生在熟悉的例子练习中实践,便于把所学知识快速应用于实践中,不但有利于其程序设计能力的提高,也提高了学生对汇编语言的兴趣。

2.4 完善课程的考核方法

任何的教学都需要评价,教学评价在教学过程起激励和监督作用,使教师和学生在评价中受到鼓舞和鞭策,促进教师的技能,激发学生的学习动力。所以考试上的改革也不可或缺。

在考试方面大胆采用开卷考试的形式,重点突出“程序设计”,考核利用语言解决问题并设计程序能力,也就是程序的“读”(分析)和“写”(设计)的能力,为此在题型上,我们放弃了以往的选择题,采用简答题问答题的形式,要求作答时必须写出关键问题的分析或者关键的步骤。以下是我们设计的一份试题(表1)。

在总评成绩的比例上调整平时成绩和期末考试成绩的比例,期末考试成绩50%,平时(包括实践环节)50%。通过调整更注重平时成绩的评定,调动了学生平时学习的积极性,避免他们只靠考试周“冲刺”蒙混过关。

3 其他一些必须注意的问题

3.1 该课程与其他相关课程的关系

与《汇编语言程序设计》相关的有计算机专业的多门主干课程《C程序设计》、《计算机组成原理》、《接口技术》和《单片机》等,在授课时要特别注意前后课程的联系,比如C语言的变量和函数与该课程的数据定义和子程序作比对进行学习,高级语言和汇编语言进行程序设计时思路的异同,还有对和后继课程有纵向联系的汇编指令要重点讲解。

表1 试题的设计

3.2 因材施教,积极引导

对于基础和学习能力不同的学生,可以尝试布置不同梯度的编程题目(项目)以供选择。兴趣浓厚的学生还可以组成活动小组,分析设计更高层次的程序课题。不搞“一刀切”,学生自身根据学习情况选择难度合适的题目,使其能真正去思考,避免抄袭。

3.3 阶段性的检查反馈尤为重要

阶段性的检查如作业,模块测试和实验项目,通过这些手段了解学生的相关知识点与程序设计技能的掌握情况。可以针对教学中一些比较抽象的、容易混淆的基本概念,算法的理解,寄存器的使用和程序的编制等方面进行。发现问题集中以习题课的形式组织学生讨论,进行集体学习,在这个过程中不断会有多种解决方案的提出、已有问题的解决以及新的问题产生,这样,学生的独立思考能力就能得到锻炼和提高。通过学生对习题实验的完成情况的了解,及时发现问题,并采取适当的方法进行补救,以达到阶段性的教学目标。

4 实际教学效果

在将近3年的教學实践中,以上一系列措施的实施,首先课题教学气氛活跃,师生互动得到有效加强;其次实验课中,学生提出的问题质量有所提高;再次,从后续课程《接口技术》等反映,学生汇编语言基础扎实,对机器原理理解较为透彻。

5 结束语

已有高校对该课程进行“以教授Win32汇编语言程序设计为主要内容的Win32汇编语言程序设计”教学改革。而我们根据学校学生的实际情况,主要是教学方法,实践教学和考核方法的整套教学改革措施,课程的主要内容如何进一步改革,还值得同行一起探讨。

参考文献:

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

[2]何克抗, 等. 教学系统设计[M]. 北京:北京师范大学出版社,2002.

[3]谭浩强.C语言程序设计 [M].北京:清华大学出版社,1999.

[4]刘爽. 汇编语言[M]. 北京:清华大学出版社, 2003.

[5]冯建文, 等. “汇编语言程序设计”课程的改革与探讨[J]. 吉林大学学报,2005.8.

汇编语言教学改革 篇4

关键词:《汇编语言程序设计》,学习兴趣,教学方法,教学内容

一、引言

20世纪80年代, 汇编语言是非常流行的程序设计语言之一, 随着一些开发效率更高的高级语言的出现, 汇编语言就逐渐退出了流行语言的行列。但在大多数高校的计算机专业中, 作为计算机原理、计算机接口技术、操作系统主干等课程的先修课, 《汇编语言程序设计》依然作为一门专业必修课保留着。由于汇编语言并不直接面向当前广泛应用的信息处理软件开发[1], 出于就业等方面的考虑, 很多学生把精力放到Java、C#等他们认为用途更大的高级语言学习中。加之汇编语言中有众多繁杂的规则和枯燥的指令需要记忆, 很多学生有意无意就怠慢了这门“古老”的语言。实际上, 汇编语言在帮助理解计算机工作原理和程序运行过程方面起着非常重要的作用[2]。为了改变汇编语言这种尴尬的处境, 让其在计算机专业学生的知识体系中发挥应有作用, 任课教师有必要在教学方法、教学内容等方面进行改革。

二、讲好第一堂课

在人们之间的交往中, 第一印象非常重要。学习也一样, 要想让学生学好这门课, 第一堂课一定要讲好。第一堂课应该讲些什么呢?根据多年的教学经验, 总结出以下三点:首先, 把汇编语言在计算机知识体系中的位置及该门课程的主要内容用简短的几句话向学生做一个介绍, 让学生了解本学期的学习目标即可。其次, 通过举例, 介绍一下汇编语言在当前计算机中的一些独特应用, 例如:汇编语言可以应用到杀毒软件的病毒扫描和UNIX操作系统的启动;在一些实时性要求比较高的场合, 汇编语言比高级语言更有优势, 曾经有人做过实验, 汇编语言编写的程序比其他高级语言编写的程序在速度上大约快10倍[3]。通过这些实例可以让学生感觉到汇编语言并没有过时, 在当前的软件开发中仍有它的一席之地。最后, 从往届学生的大作业中选择几个有代表性的进行展示, 鼓励学生:到本门课程结束时, 你也可以用汇编语言写出这样的程序, 以此来激发学生的学习兴趣。通过第一堂课的“动员”, 让学生对汇编语言有一个感性认识, 同时最大限度地激发他们学习汇编语言的兴趣。现在的大学生能量很大, 只要感兴趣了, 学好一门课对他们来说并不是什么难事。

三、教学内容的改革

汇编语言是一门低级语言, 其指令与机器指令基本上一一对应。每条指令的功能很“低”, 同样功能的程序, 用汇编语言写要比用高级语言写长得多。同时, 汇编语言的指令多, 相关规则也多。这些劣势足以让初学者讨厌它。为了让学生能够迅速接受它而不产生抵触情绪, 需要任课教师在教学内容的处理上采取一些措施。

1. 列出教学难点与重点。

目前, 大多数学校的汇编语言教学还是以8088/8086汇编语言为主, 归纳起来, 有两个难点和一个重点。一个难点是内存的分段管理。逻辑地址 (段地址:偏移地址) 到物理地址的转换是这个问题的核心, 其公式为:物理地址=段地址×10H+偏移地址。通过课上的讲解和做习题, 要让学生真正地明白该公式的含义, 这对后继的汇编语言编程和调试至关重要。与内存的分段管理有关的其他知识, 如:段的最大长度、段之间的重叠、物理地址的唯一性、逻辑地址的不唯一性等知识, 在其他高级语言中是不会学到的, 也要给学生逐一讲解清楚。另一个难点是与数据相关的七种寻址方式[4]。在学习C语言时, 指针[5]的概念让很多学生头疼不已, 现在寻址方式增加到了七种, 部分学生会产生畏难情绪。在讲授这部分内容时, 任课教师可以通过一些具体的应用来帮助学生理解和记忆这些寻址方式。以寄存器相对寻址方式为例, 这种寻址方式与高级语言中大家熟悉的一维数组无论是形式还是内涵都很相似, 通过一维数组的遍历过程可以很生动地介绍这种寻址方式, 学生掌握起来也会很容易。一个重点是指令的记忆。对于习惯用高级语言编程的学生来说, 汇编语言几十条指令以及相应的规则记忆量有点儿大。而指令是编程的基础, 学生要想编出程序, 这些指令是必须要记熟的, 这一点没有任何商量的余地。在讲课过程中, 尤其是学习汇编语言的前几周, 这两个难点和一个重点要不断地重复讲授和应用, 让学生真正弄懂、记熟, 为后继的程序设计打好基础。

2. 调整教学顺序。

大多数汇编语言教材中, 通常是先把相应的原理和全部指令介绍完, 然后再介绍编程。很显然, 这种方法使教材的知识结构比较清楚, 但是对于学生来讲, 大半个学期都在记忆指令, 看不到成果 (自己编写的程序) , 就会觉得既枯燥又没有成就感, 学习的积极性也会随之减弱。在近几年的汇编语言教学中, 我们调整了教学顺序, 把指令分散到各个章节中进行讲授。例如, 把算术运算指令和逻辑运算指令与顺序程序设计放在一章中, 把控制转移指令与分支循环程序设计放在一章中, 经诸如此类的顺序调整, 每一章都是先介绍一些指令, 紧接着就用这些指令进行编程训练, 指令记忆和编程训练同步进行, 学生也很喜欢这种安排。

四、教学方法的改革

1. 采用多媒体课件与传统板书相结合的教学方法。

多媒体教学具有信息量大、图文并茂等优点, 目前已被广泛应用到课堂上。在汇编语言的教学中, 大量采用了多媒体课件, 对于一些抽象、难懂的知识, 借助于图表、动画等进行讲解, 可大大提高学生的接受度。比如在讲解exe文件装入内存的过程时, 涉及的知识较多, 有内存的分配、多个寄存器值的变化、exe文件结构等, 通过动画演示, 繁杂零乱的知识一目了然, 充分体现了多媒体课件的优势。动画截图如图1所示。

当然, 多媒体课件在程序讲解方面也存在一些劣势。如果把所讲的程序直接做到课件中, 教师在讲解程序时就会出现朗读程序的现象, 与学生交互不足, 造成学生跟不上节奏, 影响授课效果。这时, 最好的办法就是多媒体课件与板书相结合。在多媒体课件中给出程序的流程图, 然后把程序以板书的形式展示给学生, 写板书时与学生进行充分地交流, 让他们有足够的时间来了解编程的思路和编程的过程, 同时也大大活跃了课堂气氛。

2. 采用对比的教学方法。

在学习汇编语言之前, 学生已经有了C语言的基础。在讲解汇编语言的一些知识时, 可以与C语言中相应的知识进行比较, 以此来加深学生对汇编语言的理解。例如, 汇编语言中没有专门的分支指令, 只能通过一些影响标志位的指令结合条件转移指令来实现。图2是一个典型的分支结构, 在该结构中, sign=0和sign=1是互斥的, 不会同时执行。用于实现该结构的C语言程序段如下所示:

对于汇编语言的初学者来说, 沿用C语言的习惯, 很可能就写出下面的程序段:

想当然地认为“MOV sign, 1”和“MOV sign, 0”这两句是互斥执行的, 而实际则不然, 上述指令在计算机中运行时, 不论x是何值, sign的值最后都是0, 不能实现图2所示的功能。正确的汇编语言程序段应为:

正是这句“JMP L2”让学生理解了汇编语言中该如何编写分支程序。通过与C语言的对比, 加深了学生的印象。

3. 通过小测验及时监测学生对知识的掌握情况。

《汇编语言程序设计》中的内容前后连贯性强, 如果有一部分内容掌握不好, 就会造成知识的脱节, 严重影响后继内容的学习。教师在课堂上所讲的内容学生即使听懂了, 也需要通过课后作业加以巩固。为了验证学生课后作业的完成情况, 每次课抽出5分钟左右的时间搞小测验, 考核学生对上次课所讲内容的掌握情况。“你不能总是交白卷吧”, 这句话对学生本身既是一个警示, 也是一个激励。教师也可以在测验中发现问题, 通过有针对性的讲解, 及时解决学生的疑惑, 最大限度地避免平时学习不踏实, 考前突击的现象, 让尽可能多的学生真正掌握汇编语言的精髓。

4. 通过屏幕录像帮助学生尽快熟悉操作环境。

相对于高级语言, 汇编语言对计算机硬件知识的要求较多, 但其在本质上终究还是一门语言, 上机操作依然是学习这门课程必不可少的环节。利用汇编语言编写的程序在上机时要用到宏汇编系统MASM和调试程序DEBUG, 没有集成环境, 学生上机练习时难度较大。一些学生会因为得不到及时的帮助知难而退, 严重影响了整个课程的学习。为了让学生快速地熟悉汇编语言的编程、调试过程, 我们利用屏幕录像工具制作了上机操作的录像, 包括编辑、汇编、连接、调试、运行等过程, 课后学生自己做上机时, 遇到操作问题可随时观看录相, 这对初学者来说非常有帮助, 解决了以前学生在操作方面入门难的问题。

5. 通过大作业进一步提高学生的编程能力。

编写简短的程序可以加强学生对基本指令、语法的掌握, 编写大作业则可以进一步提高学生的编程能力。大作业通常在课程学习过半之后布置, 分两种形式完成:第一种形式的大作业由十几个小程序组成, 涉及到累加求和、分支、循环、数据的输入/输出、字符统计方面的知识, 每个程序的长度在十几行到三四十行不等, 这种大作业针对的是编程能力稍弱的学生, 侧重点是对基础知识的掌握, 最后通过上机限时测试完成考核。第二种形式的大作业是一个规模较大的综合题, 所涉及的知识有些在课堂上可能并未讲过, 需要学生通过查阅参考资料来获得。程序的规模大约在二百行左右。例如有如下大作业题:从键盘输入一个不超过80个字符的字符串, 编成实现如下功能: (1) 对字符串中的数字做求和运算, 并以十进制形式输出结果; (2) 将字符串中除字母、数字之外的其他字符用红色显示出来; (3) 将字符串中的所有小写字母用绿色显示并闪烁。学生在完成基本要求的前提下, 可加入输出定位、动画等技术。从历届学生大作业的完成情况来看, 很多学生都有丰富的想象力, 所编写的程序无论是结构还是功能, 都有很多可圈可点的地方, 学生的编程能力在完成大作业的过程中得到了很好的锻炼, 更重要的是他们还收获了信心。最后的考核以答辩的方式进行。对于这两种形式的大作业, 学生可以根据自己的条件进行选择, 做到了因材施教。

《汇编语言程序设计》是大多数高校中计算机专业学生的必修课, 要求学生既要掌握相关的硬件知识, 又要具有良好的软件编程能力, 为了让学生学好这门课程, 任课教师要在教学方法和教学内容的改革上多下功夫, 最大限度地激发学生的学习兴趣。为了做到与时俱进, 任课教师的知识结构也需要不断地更新, 在讲授8088/8086汇编语言的同时, 适当地引入win32汇编的内容, 让这门课程的内容常讲常新, 让这个“古老”的语言重新散发出“青春”的活力。

参考文献

[1]田鄤, 樊景博.汇编语言课程内容设置与教学方法规范化探讨[J].网络与信息, 2012, (4) :34-35.

[2]姚富光.高校计算机专业“汇编语言”课程教学改革探究[J].重庆教育学院学报, 2012, 25 (3) :62-64.

[3]王海彬.汇编语言程序设计教学改革与探索[J].中国电力教育, 2011, (27) :164-165.

[4]吴卫江, 赵建辉.汇编语言程序设计[M].山东:中国石油大学出版社, 2010.

语言符号对语言教学的启迪论文 篇5

语用规则中有一条是:礼貌反映社会距离。越礼貌,语言句式就越长。例如英语中寻求帮助时可以用以下话语:1)Canyouhelpme?2)Couldyouhelpme?3)Couldyoupleasehelpme?从(1)到(3)语言结构愈长,故社会距离也愈大,也越有礼貌。

1动宾直接搭配与间接搭配

动宾直接搭配与间接搭配也体现了距离象似性的原则。如:hearsb和hearofsb,前者的形式距离小于后者,相应的前者的概念距离也小于后者。前者表示直接关系(直接听到某人讲话),而后者表示间接关系(间接听到有人提到过某人)。在教学中,我们可以用这一原则来解释语言现象,比单纯让学生死记单词意义有效的多。

2距离象似性对语言教学的启示

社会环境和各种现象都会对我们的语言产生影响,这些影响也会体现在语言形式中。因此,就会产生很多具有理据性的映照,这些映照可视为语言的象似性。以Kosslyn为代表的学者认为表象与现实客体的知觉相似。为此,他们进行为心理扫描的实验研究,这些研究主要集中在两个方面:距离效应和大小效应(王甦,汪安圣:1992)。如果在语言教学中对这些现象加以应用,就可以加深学生对语言知识的理解,从而提高教学效果。在外语教学中,学习者对多个英语形容词的排列顺序,动词的时态和语态的.变化不容易记牢。这时就可以采用距离象似性理论进行讲解。

2.1形容词离中心词的远近

形容词的顺序也体现了距离象似性。因此,当许多形容词修饰一个名词时,表示最主要和本质的特性的形容词最靠近中心词。如:五把新的木头椅子。这里定语与中心语的远近关系反映了概念距离。根据距离效应,在我们的心理扫描中我们最先反映到的应该是离“椅子”关系最近的的材料,然后是新旧等属性,最后才是距离较长的数量。在外语教学中,我们可以充分发挥学习者对形容词与中心词关系距离远近的理解,从而加深学习者的印象。

2.2时态与语态

英语中时态和语态在动词上的变化,也受到概念紧密程度的影响。例如完成时态表示的是已经完成的概念,因此动词变化就比正在进行的事情距离更加远一些。语态也是如此,动作的主动或被动,句义区别很大,比动作发生的时间要重要的多,因此语态的屈折变化形式会比时体屈折变化形式更靠近谓语动词。从上述变化形式中我们可以看出,英语谓语动词屈折变化形式的顺序与概念紧密度之间有着象似关系。在心理上我们对一般现在时反应时间最短,因此句型也最短,所以最先容易习得,对于其他时态,我们反应的时间也长,也说明离现在越远,在语言上就表现为句型越长。

3总结

语言教学的生命力——语言训练 篇6

《课程标准》中低年级阶段目标明确要求:要借助读物中的图画来阅读。低年级学生的思维主要凭借具体形象的材料进行,所以利用图帮助学生理解词句便是一条捷径。《小熊住山洞》一文中写道“春天,他们走进森林,树上长满了绿叶。”这句话中的“长满”用词准确、形象,写出了春天森林的美丽。于是,我采用贴图的形式帮助学生感悟这个词的意思。第一次先贴上只长有几片绿叶的森林图,并问:“这是长满吗?”在此基础上,第二次贴上一簇绿叶,并问:“长满了吗?”第三次,贴上满树绿叶,这时长满绿叶的森林美景形象地展现在学生眼前。这时问:“长满了吗?”重读“满”字,学生回答时也自然把“满”读长读重,读出树上绿叶的多。这样,指导学生对语言文字的理解变得无痕。

二、角色置入法

角色置入法就是让学生真正沉浸到文本情境中,设身处地为文本中的人物设计语言。这看似是训练学生的语言表达,实际上更训练了学生的语言理解能力。《小熊住山洞》的第3自然段这样写道:“春天,他们走进森林,树上长满了绿叶,小熊舍不得砍。”在理解小熊“舍不得”砍树时,我走到学生中间,摸着一位学生的头说:“小熊,狠狠心把树砍掉吧!这样,你就能住进木头房子了。”这个学生满脸不高兴地说:“我不砍,砍了就没有绿叶了。”走到另一位学生身边,“这只小熊,别想这么多了,快砍吧!”“我也不砍,如果我砍了树,生态环境就会破坏,小动物们就没有家了。”“那你们愿意砍吗?”大家异口同声地回答:“不愿意。”在师生对话、生与文本对话过程中,学生身为小熊置身于文本情境中,有了真切的体验,理解了小熊不忍心、不愿意砍树的心情。这时,学生对“舍不得”的含义心领神会。角色置入法通过心理换位激起学生的情绪、情感和想像,很自然地把学生带入特定的语言环境中。

三、比较法

比较法,就是一种理解词语的有效方法。《小熊住山洞》一文中这样写道:“森林里的动物都很感激小熊一家,给他们送来一束束美丽的鲜花。”这句话中的“一束束”是量词叠用,与“一束”有什么不同呢?于是,我故意在读这个长句子时,把“一束束”读成“一束”。学生通过比较明确了“一束束”和“一束”的不同,再引导学生结合这句的语言环境并借助文本的图画感知,学生理解了“一束束”就是许多束,从而理解量词叠用表示数量多这个知识点。屏幕出示:一束束( )的鲜花,明确与事物名称搭配要适当。学生通过比较、对照,找出句子的相同点和不同点,获得鲜明的印象和强烈的感受。在这种训练方式中,学生不仅理解了重点词的含义,还提高了理解语言的能力。

四、表演法

课文中有一些动词,用得贴切生动,而低年级学生好动,这时,可以教材内容特点启发学生做动作进行模拟。在模拟动作的过程中,学生对词语的感悟就会有深切的体会。在《小熊住山洞》一课中,我引导学生把双手打开,模拟“长满”的动作。顿时,学生便体会出了“满”是全部的意思。学生边做动作边有感情地朗读,读出满树绿叶,春天森林的美好,也体会到一种阅读的喜悦。这次的语言训练为后文“开满”、“结满”、“鸟儿飞”的理解做了方法上的指引。

五、板书法

无论是什么知识,要掌握就得靠运用。在学习《小熊住山洞》一文时,学生习得了“一束束美丽的鲜花”这种言语样式后,引导学生利用板书的贴图对这种言语样式进行运用。这时,板书已呈现出长满绿叶、开满花儿、结满果子、有许多鸟的森林图。我一边指着板书一边引导学生说出:这里有一棵棵高大的树。之后,鼓励学生看着板书自己练习仿说。学生根据贴图说出:一只只可爱的小鸟、一只只活泼的小鸟、一朵朵美丽的鲜花、一个个好吃的果子、一片片绿绿的叶子等等。这种训练方式的设计巧妙地让学生积累了语言,创造了语言。在回归整体性的总结中,教师引读:一年又一年,森林里长满 开满 结满 生活着 学生又看着板书随着接读:一片片绿绿的叶子、一朵朵美丽的鲜花、一个个好吃的果子、一只只可爱的小鸟。这个过程既达到了训练语言的目的,又深化了小熊一家舍不得砍树的美好品质。这课的板书具体化、直观化,把抽象的语言训练变得简单化。

六、感知媒介法

《三个儿子》中“一个孩子翻着跟头,像车轮在转,真好看!”这个比喻句形象恰当。《课标》指出:要鼓励低年级学生写想像中的事物。于是我抓住这一语言训练点,对“一个孩子唱着歌,歌声真好听。”这句话进行训练,让学生仿照第一句话的样子进行扩写“一个孩子唱着歌,像……,歌声真好听!”二年级学生抽象思维较差,这个语言训练有一定的难度。于是,我摇动实物风铃,播放小溪流水声、鸟的叫声,利用形象的感知唤起学生的思维,学生展开了合理的想像,很容易说出了:一个孩子唱着歌,像小溪在流,(百灵鸟在叫、风铃在响)歌声真好听!这次的语言训练以形象的感知为媒介,将学生的生活和思维发展巧妙地联系起来,有效地解决了教学难点。学生初步体会到不仅要把语言说完整,还要说具体、说生动、说形象。

七、朗读法

朗读不仅是一个出声读的过程,还要伴随着思维、情感的积极参与。学生在有感情地朗读课文中,既理解了课文的语言文字、思想内容,又体味了文本的语言美、内容美。在诵读的潜移默化中,受到熏陶感染,提高了理解语言的能力。朗读方式可自由读、小组互读、指名读、男女生赛读、配乐读等。学生通过读更加深了对语言的感悟,也培养了语感。朗读法是一种主要的语言训练方式,它适合于任何一篇课文。

总之,有效的语言训练方式是无究无尽的。语言教学的生命力在于创造。今后,我一定会在教学实践中本着“语文课堂应以语言训练为主”的教学信念,遵循学生的身心发展规律和语文学习规律来设计出既新颖又有效的语言训练方式。

《汇编语言》教学小试 篇7

下面我就以钱晓捷老师的《新版汇编语言程序设计》为例来讲解。在此书的第一章有很多学生就遇到了拦路虎, 于是很多人就认此课程难, 的确是难。在这一章有什么难点呢?难点一:存储器部分的概念, 难点二:寻址方式。这两部分的文字虽然不是很多, 但如果采用传统的方式讲解, 讲之前学生不懂那是当然, 讲完之后, 学生照样是一头雾水。那下面我就采用我上课时的方式来讲一下。

1 类比法

1.1 关于地址、存储单元、存储单元的内容的类比

学生到此阶段都已经学了计算机的入门课程《计算机导论》了, 对存储器已有了基本的了解。因为它是有大小的, 所以它是一个空间, 在此我们可以将其比作一栋楼, 比如我们的教学楼, 无论是设计的需要、使用的需要还是管理的需要, 教学楼都不可能是个简单的结构, 所以它有层, 每层有一间间的教室, 同样为了使用和管理的方便, 我们还需要将每个教室编上一个房间号, 接下来我们就来一一对应, 如表1所示。

通过表的对应关系以后, 学生就通过他所能了解熟悉的事物, 理解了抽象的存储器、地址等概念, 以及他们之间的关系了。

1.2 关于物理地址、逻辑地址、段地址和偏移地址的类比。

看到这部分时很多学生就蒙了, 为什么有这么多的地址?有什么不同吗?下面我们也用类比来讲解。

长度单位米、厘米是我们小学就开始学的单位, 大家一定不陌生。一个长度我们可以用米来度量, 也可以用米和厘米共同来度量等。比如一个同学的身高为1.75米, 我们也可以表示为1米又75厘米, 还可以表示为175厘米 (将米折合成厘米) 如图1所示:

长度单位和地址的对应关系如下:

逻辑地址——用米和厘米共同计量, 例如1米又75厘米;

物理地址——将长度用厘米计量, 例如把1.75米换算成厘米175厘米,

段地址———米, 例如1.75米中的1米;

偏移地址———厘米, 例如1.75米中的75厘米。

这样学生对存储器的段式管理中的段也找到了参照的标准了。

运用类比时, 要求进行类比的两事物之间有可比性, 即在某些属性上具有相似性, 否则将可能误导学生。进行类比的两事物在某些方面上具有相似性, 但是绝非等同, 我们应注意它们之间的差异。而且类比的作用是有限的, 它们只能帮助理解但不能代替对知识的正面阐述。所以用过之后, 要将相应的概念再正面阐述。

2 归纳法

在寻址方式这部分, 立即数寻址和寄存器寻址相对较简单, 但是寄存器寻址虽然速度快, 但是CPU中寄存器的数目有限, 不可能把所有参与运算的数据都放在寄存器中。多数情况下操作数还是在主存中的。如何寻址主存中存储的操作数称为存储器寻址方式, 在这种寻址方式下, 指令中给出的是有关操作数的主存地址信息。操作数的PA (物理地址) =段地址*4+EA (有效地址) , 段地址在默认的或是段跨越前缀指定的段寄存器中。那么计算PA的关键就在计算EA, EA到底应该怎样计算呢?下面我门来看看一个例子:

MOV AX, [1234H];直接寻址方式, EA=1234H

MOV AX, [SI];寄存器间接寻址方式, EA= (BX/BP/SI/DI)

MOV AX, [SI+1234H];寄存器相对寻址方式, EA= (BX/BP/SI/DI) +1234h

MOV AX, [BX+SI];基址变址寻址方式, EA= (BX/BP) + (SI/DI)

MOV AX, [BX+SI+1234H];相对基址变址寻址方式, EA= (BX/BP) + (SI/DI) +1234H

通过上面的例子, 我们就可以观察到EA主要由三部分组成, 即:基址寄存器的值 (简称基址值) 、变址寄存器的值 (简称变址值) 和一个位移量组成, 那么, 就可以归纳为:EA=基址值+变址值+位移量, 在计算时, 有该类值的就加上, 没有的就加0。比如:MOV AX, [DI+1000H]中, 源操作数中没有基址寄存器BX或是BP, 所以基址值就为0, 所以EA=0+ (DI) +1000H。再如MOV AX, [BP]中, 源操作数中有机制寄存器, 所以有基址值, 没有变址寄存器, 所以变址值就为0, 也没有位移量, 位移量也为0, 这样EA= (BP) +0+0= (BP) 。这样有了一个统一的公式, 学生就不用记哪种寻址方式EA该怎样计算, 掌握起来就容易多了。

归纳法通过对具体例证或实据进行分析讨论概括总结出一般性结论的逻辑推理称为归纳法。通过归纳, 学生就可以将众多的零散知识通过归纳的结果一同记忆, 这样掌握起来就更加的容易了。

结语:经过教学活动实践证明, 在汇编语言教学中恰当运用类比法、归纳法等方法进行教学, 是一种切实可行的教学方法。其实在教学中这样的例子还很多, 有的还可以采用比喻法、列举法等等, 但是无论采用什么样的方法, 重要的是能让汇编语言的教学变得容易, 即老师易教, 学生易学, 从而达到最佳的教学效果, 那就是成功的教学方法。

参考文献

[1]钱晓捷.重新认识汇编语言[J].中国大学教学, 2004, 7.

[2]韦良芬, 王勇, 王坤.汇编语言教学方法的探索与研究[J].计算机教育, 2006, 11.

[3]钱晓捷.新版汇编语言程序设计[M].北京:电子工业出版社, 2008, 1.

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

汇编语言教学改革 篇8

关键词:汇编语言,精讲多练,实验

汇编语言是直接面向计算机底层的硬件编程语言。在可视化编程, 面向对象等程序的半自动化生成工具大行其道的今天, 汇编语言显得地位越来越不重要, 其使用范围主要限于单片机及嵌入式等硬件开发领域。在高职高专院校实际教学中, 由于汇编语言本身指令复杂抽象, 规定繁多, 调试复杂, 运行结果不直观且容易出错, 这些特点使得学习该课程的难度增大。

一、高职高专汇编语言教学现状

1. 汇编语言难学, 影响学生的学习积极性

汇编语言不单单要研究汇编语法, 还要记忆大量的指令和语法规则, 学生学习起来需要花更多的时间和精力, 稍有松懈就可能掉队。由于直接针对底层硬件进行编程, 这还需要学生具备一定的计算机硬件基础知识。汇编语言不像高级语言的可视化编程易于理解和上机操作, 讲授的内容比较枯燥、抽象化, 容易导致学生产生厌烦乃至厌学情绪。学生在高级语言程序设计中获得的有关程序设计的基本思想方法和规律, 不能直接迁移到汇编语言的学习中来, 增加了学习难度。

汇编语言编写程序的复杂度高, 容易出错。汇编指令功能单一, 要想实现一个简单功能, 必须安排好CPU的每步工作, 具体到若干个寄存器与内存单元的相关工作安排, 高级语言中3, 4条语句能完成的, 使用汇编可能要二十条左右的语句才能完成。

汇编语言调试复杂不直观。在调试过程中, 要清楚相关寄存器、端口及内存单元的变化情况, 要清楚每条指令在解题过程中的作用。汇编语言有大量的转移指令, 使用这些跳转指令会大大增加调试程序的难度。编程过程中如果出现了逻辑错误, 调试查错也较困难。在实际教学中, 学生在程序调试环节经常无所适从, 不知道如何查看运行结果, 程序能运行但结果不正确, 怎么调试都查不出错误。

2. 汇编语言应用面较窄, 就业形势严峻使学生学习趋向于功利化

计算机技术日新月异, 相比其他专业而言, 计算机专业知识更新速度极快。高职高专院校主要培养应用型人才, 计算机专业新开设了不少实用性较强的新课程, 比如动态网页设计, 图像处理, 网络编程等。这些就业应用面较广的课程非常受学生欢迎, 因为“参加工作后马上就能使用到”。像汇编语言之类晦涩难懂, 应用面较窄, 理论性强, 就业时“基本用不上”的课程, 不少学生明显表现出缺乏兴趣, 纯粹只是为了考试过关而应付学习。

3. 新课程增多使传统基础课教学时间缩短

计算机专业新增了许多直接面向应用的软件类课程, 如网页设计等, 对于像汇编语言这类的传统基础课又不能丢掉, 只能缩减课程总学时, 这使得汇编语言后面许多趣味性较高的内容因时间原因被删减, 比如动画设计、扬声器实验等。而前面的基础内容绝大多数是枯燥的指令和语法规则, 稍不留神就跟不上讲课进度, 容易使学生失去学习耐心、信心和兴趣。实验时间减少了, 教师指导学生上机的时间自然相应减少, 只能做一些非常基础的实验。

二、高职高专汇编语言教学探讨

1.“先学后练”还是“边学边练”

对于汇编语言而言, 传统教学方法往往是先在课堂上灌输一轮理论知识, 然后过段时间再带学生上机操作, 实际教学效果并不理想。汇编语言本来学习难度就大, 有些高职高专学生的抽象思维还不够强, 比较难理解所学内容, 如果满堂灌, 即使采用了多媒体技术来辅助教学, 那也只是由“人灌”改为“电灌”, 而且由于上课信息量大增, 导致学生短时间无法消化所学知识, 从而产生倦怠心理, 失去了学习兴趣。由于记忆的遗忘规律, 待到集体上机时, 可能有不少学生已经忘记了前面所学过的部分知识, 做实验时手忙脚乱, 不停翻书, 一整节课还不一定能调试完成一个简单程序。

汇编语言教学最好能边上课边实验, 教与学、实践同步, 能使学生的学习印象较深刻, 学习效果较好。上课过程中我全程使用计算机机房, 这样不仅可以采用多媒体教学, 还能现场演示汇编语言环境的使用, 比如DEBUG的使用, 然后给学生足够的时间上机操作。初期可以让学生模仿实现书本上的简单实例, 熟悉汇编语言编程环境和调试工具的使用, 针对学生的操作情况现场讲解分析, 使学生能够快速入门, 对学习本课程建立初步的信心。中后期可以让学生设计实现循环、子程序调用等较复杂的程序, 教师可以对学生完成的作品进行评讲并提出优化意见, 这样可以让学生体会到学习的成就感。

2. 精讲多练, 循序渐进

现在新编的计算机教材多数图文并茂, 文字简明通俗。高职高专学生具备有一定的自学能力, 多数都能看懂教材, 教师在教学过程中主要是指导点拨、整合知识点使之融会贯通。书本上描述得详细易懂的内容, 教师可以略讲。由于课时所限, 教学中要把握住重点和基础知识点。对汇编语言的重点如寄存器功能分配、指令的正确使用方法、变量在内存中的存储、寻址方式、循环与子程序的实现等, 尤其是一些易错难懂的知识点, 要精讲多练, 适当增加例题数量。每节课都应留些时间给学生实践, 布置编程任务, 可以让他们完成一些所学知识的相关实例, 或者要求他们综合利用所学知识设计完成一个课程设计。

把握重点的同时, 教学过程中一定要注意循序渐进。首先, 学生应理解汇编语句格式和常用汇编指令, 能正确书写指令;其次学生能掌握汇编流程到汇编指令的对应关系, 学会编写常用功能程序段, 然后使用伪指令将其扩展成完整的源程序;随后学生应掌握程序设计的基本方法与思路, 能采用各种程序结构编写解决常见问题的程序;最后学生才能编写较大型的、较复杂、功能较强的程序。循序渐进的学习对任何课程都有效, 有利于学生建立完整、系统的知识结构。

3. 精心选择实验内容, 培养程序设计能力

作为汇编语言初学者的高职高专学生, 编写和调试一个简单程序可能也要花上很长时间。由于实验学时有限, 在选择实验内容时, 应注意从易到难、从简单到复杂的顺序排列, 内容不要重复, 尽可能覆盖所学的重要知识点, 最好能挑选一些趣味性比较强的课题来实验, 比如控制扬声器发声等。另外课堂上也要随时穿插相关知识点的实例。比如讲授循环程序设计时, 教师除多举实例外 (如累加) , 也可当场提出一些实际问题 (阶乘) , 要求学生随堂完成一、两个难度适中的相关程序, 学生可思考采用什么样的设计思路来实现, 讨论可以采用哪几种算法实现, 如何编程才能使程序执行效率更高。

在上机过程中, 面对程序设计题目时, 许多学生事先并不会进行问题分析、设计程序流程和整理设计思路, 而是参照书本前面的例题程序, 直接开始编程。忽略流程设计的结果就是, 题目稍有变化, 学生编程时就容易出现逻辑混乱, 百般调试可能都无法得出正确结果, 打击了学习信心和积极性。针对这种现象, 教师授课时不应直接给出正确的程序答案, 而应注意演示整个程序设计过程, 即“分析问题→确定算法→设计流程→编写程序→调试修改”这一完整流程, 培养学生分析设计能力, 引导学生利用所学指令编写程序。学生做出的程序往往与例题的答案有所不同, 教师要强调程序设计没有统一的标准答案, 同一个问题可采用不同的方法来实现, 不必拘泥于课本或教师给出的参考答案。

三、结论

汇编语言是计算机专业中一门较抽象和理论化的基础课程, 软硬件相结合, 学习难度大, 许多计算机专业的学生认为它是枯燥无用的, 但它又是学好后续专业课程 (如计算机组成原理、接口技术等) 的关键。讲授时要注意理论联系实际, 精讲多练, 把握重难点, 综合采用多种教学方法和教学手段, 把好实验关, 帮助学生深入理解并学好汇编语言。

参考文献

[1]王爽.汇编语言第2版.清华大学出版社

[2]孙秋凤.《汇编语言程序设计》教学方法探索.计算机与信息技术, 2010 (6) :96-97

汇编语言教学改革 篇9

在汇编语言课程教学中发现,汇编语言相对于其他高级语言来说缺乏直观性与生动性,是一门比较抽象和理论化的课程,学生养成了“重软件、轻硬件”的学习态度,往往会选择一些容易学习的高级语言而忽视了对汇编语言的学习,因此在教学中普遍存在“教师难教,学生难学”的问题。

如何改善汇编语言课程的教学效果和教学质量,提高学生学习的兴趣和主动性是当前急需解决的问题。将比较教学法引入到“汇编语言”的教学中,该教学方法注重将汇编语言和

高级语言进行比较教学,能够极大提高学生的学习兴趣,取得良好的教学效果。

1 比较教学法在汇编语言课程教学中的应用

1.1 比较教学法

比较教学法(或叫类比教学法)是指在教学活动中将两个或两个以上的认识对象放在一定的条件下,按照同一标准进行对照比较,从而确定认识对象属性的同异、地位的主次、作用的大小、性能的优劣、问题的难易或认识的正误深浅,以达到辨识、了解和把握认识对象之目的的一种方法[1]。比较教学法是最常用的教学方法之一,也是使用范围最广的教学方法之一。

由于学生在学习汇编语言之前已经至少学习过如C这类高级语言,所以采用比较教学法不仅能更好地理解汇编语言,同时加深对高级语言的理解也有很大的好处。在实际教学过程中,可以将新的陌生的东西(汇编语言)和旧的熟悉的东西(C语言)做比较,找出它们之间相同的地方和不同的地方,然后进行差异化的学习,重在存同求异,这样就会事半功倍,达到理想的教学效果。

1.2 比较教学法在汇编语言课程与C语言课程教学中的实践

高级语言(如C语言)和汇编语言两者都是程序设计的工具,在程序的基本功能和程序设计的基本问题上均有相应的实现机制,同时在某些方面是相通的,换句话说许多用汇编语言能作的工作也可以用C语言来完成。

本文以2个实例来探讨比较教学法在汇编语言课程教学中的实践应用,具体实例如下:

例1:有一个首地址为array的5字数组,试用C语言和汇编语言编写一个程序:求出该数组的内容之和,并把结果存入count中[2,3]。

从例1可以看出,同样的任务可以用C语言和汇编语言来实现,但是在实现的过程中有不同之处,表1列出了C语言和汇编语言在本例中可以类比的几个方面。

例2:以汇编语言中的数据传送指令Mov的学习为例,同样有几点我们可以用C语言中的相应知识点来对比解释[4,5]。

1)汇编语言中的数据传送类指令MOV与C语言中的赋值操作类似。例如:

(1)C语言指令:Int student=30;定义student为整型变量并赋初值30,其中变量名student就是一个符号地址,被指定为确定的类型,在编译时最终应对应到存储器的某些存储单元。

(2)汇编指令:MOV AL,5;把立即数5传送到寄存器AL中,即在这里是给寄存器赋值而已。

2)两操作数的类型匹配问题。

(1)C语言中进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。

(2)与C语言类似,在汇编语言中操作数应为同类型且类型明确,即同为字节类型或字类型。

强制类型转换。

(1)C语言可以利用强制类型转换运算符将一个表达式转换成所需类型,类型转换符的格式为:(类型名)(表达式)。例如:

(2)汇编语言可以利用BYTE PTR和WORD PTR这两个操作符在实现强制类型转换。例如:

MOV[BX],5;该指令功能是把立即数5存入以BX寄存器内容为有效地址的内存所指定的存储单元中,但是汇编程序不能分清是存入字单元还是字节单元,此时必须用PTR操作符来说明属性,应该写明:

2 结论

限于篇幅,以上仅举2个例子来说明教学过程中如何将汇编语言和C语言进行比较教学,已经取得了很好的教学效果。由于语言的相通性,实际上在整个汇编语言教学中还有很多知识点可以把C语言知识贯穿其中。通过比较教学,一方面学生可以更好地学习汇编语言的相关知识,极大地提高学习效率;另一方面,更提高了学生对C语言的更高层次上的认识,间接地对其他学科的学习也起到了很大的帮助作用。

参考文献

[1]李运模.比较教学法论略[J].中南民族学院学报:人文社会科学版,2000(3).

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

[3]谭浩强.C程序设计[M].3版.北京:清华大学出版社,2005.

[4]苏传芳.C语言程序设计基础[M].北京:电子工业出版社,2008.

《汇编语言程序设计》教学探讨 篇10

对《汇编语言程序设计》课程的普遍认识是汇编语言是用英文缩写符号代替二进制编码的操作指令、用符号代替地址或操作数据,以取代繁琐难记的机器语言,是早期使用的计算机低级编程工具[1]。相对于高级语言来说,它要求更深入地了解硬件结构,编程与调试过程繁琐,没有很好的集成环境;虽然程序执行效率高,但在处理器飞速发展的今天,其优势已经逐步消失。因此很多人认为开设《汇编语言程序设计》课程的意义不大,着重开展面向对象的高级语言教学才是符合现在网络时代的主流。

而本人在教学和实践过程中深切体会到汇编语言不仅是最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言;它是《微机原理》、《操作系统》等核心课程的先修课程,而且对于训练学生全面掌握计算机基础知识和程序设计技术起到了非常重要的作用。

但《汇编语言程序设计》课程的处境在计算机飞速发展的今天,确实发生了变化[2,3]。首先,汇编语言比较以往面向过程的高级语言和现在面向对象的高级语言开发工具,更显得低级而烦琐;其次硬件的低成本、高智能降低了软件开发与硬件的相关性;专业细化,使很多计算机专业学生对自动化控制、仪器、仪表及家用电器等方面的应用不甚了解,注意力更多地转移到日益热门的网络技术;《汇编语言程序设计》多以80x86处理器为教学原形,而当前汇编语言的应用更多集中在采用各种处理器的嵌入式系统开发中,不能立即学以致用。计算机技术发展也使过去的《汇编语言程序设计》教学方式时过境迁,需要做必要的转变和调整。

2《汇编语言程序设计》课程面临的主要问题

由于汇编语言不直接面向信息处理应用系统的开发,使得《汇编语言程序设计》这门课成为计算机专业教学体系中较容易被忽视的一门核心专业基础课程。忽视教学研究导致了教学改革和课程建设的滞后,又反过来影响着《汇编语言程序设计》课程教学效果。《汇编语言程序设计》教学在思想、方法和教学模式等方面的现状还是不容乐观的。

1)教师对《汇编语言程序设计》课程的重要性认识不足,社会实践经验少,不能从汇编语言应用的广泛性和深入性角度激发学生学习兴趣。存在着重理论轻实验的思想。教学方法过多采用讲授法。多媒体教学引入课堂后,使得部分教师过分依赖多媒体演示,让学生看看了事,不重视让学生实际操作。另外,学生对专业基础课普遍不够重视,加上汇编语言是一门比较抽象的课程,学习起来比较困难,教学中容易对课程的难点易敷衍了事。

2)教学方法陈旧。汇编语言的实验大都是在DOS操作系统下进行的,由于现在采用的多是Windows操作系统,学生普遍对DOS操作系统不熟悉,造成学习效果更不理想;另外,在DOS环境下进行实验比较复杂,汇编语言有大量的语法规则需要记忆,程序结构不易读懂,上机调试结果不直观易出错,使学生容易望而却步;汇编语言课程实验基本安排在PC机上进行,学生对硬件缺乏感性认识,普遍对实验过程和结果感到抽象、难以理解。

3)教学模式僵化。教师在教学中一手包办,学生照着现成步骤或跟着教师动几下,实验就算完成了。学生只是机械模仿,缺少动手和动脑的机会,能力得不到相应的提高。不利于提高学生发现和解决问题的能力,不利于引导学生突破思维定势,形成创新思维方法和智能的发展。

4)学生基础薄弱。很多学生的专业基础、知识结构相对薄弱;一些前导课程如C语言、模拟电路、数字电路和计算机组成原理等没有学好或没有及时得到先修,使得学生在学习汇编语言时没有掌握必要的计算机硬件知识,缺乏对计算机组成及结构的认知。

这一切都是实实在在摆在教学中的问题。迫切需要对该课程教学所涉及的一些重要问题加强研究,探索新的《汇编语言程序设计》课程教学的有效方法和途径,使之能够真正达到作为核心专业基础课的教学目的。

3《汇编语言程序设计》教学探讨

3.1 转变观念,提高教师自身素质

教师既要有汇编语言理论知识和实践知识,又要有教育学、心理学和教学法方面的知识。通过对新理论、新技术的学习,对汇编语言教学意义的深刻了解,用广博的知识和人格魅力引导教育学生。教师要富有钻研和创新精神,不断学习提高自己的教学能力和知识水平,接受新的教育理论、新的教育思想,指导自己的教学实践,使自己和学生都能从《汇编语言程序设计》教学中找到乐趣。

3.2 采取新的教学方法和教学模式

首先需要对课程进行合理编排,让学生能首先学习模拟电路、数字电路、组成原理等前导课程,使得学生在学习汇编语言前就对计算机硬件及其组成有一个系统的认知;同时提醒学生前导课程的重要性,要求前导课程没学好的学生能及时补课;课堂上简略和学生一起回忆前导课程的相关内容,使他们温故知新,前后知识能融会贯通。

在教学过程中及时引导学生根据基本内容来综合基本知识,升华基本规律,结合实际应用,达到举一反三,使大多数同学能够扎实掌握教材基本内容和重点内容。在教学内容各模块基本掌握的情况下,注重从系统整体分析与设计角度出发,从更高层次让学生进一步掌握基本内容和重点内容,使学习优秀的同学能够利用基本知识,从系统角度分析教学内容各模块,最终实现学习方法的创新及基本教学内容在创新实践中的应用。

另外,在教学过程中,还要突出重点和难点。汇编语言的重点难点主要有寄存器功能分配、分段管理技术、寻址方式、变量在内存中的存储等。对于上述汇编语言课程的重点和难点,主要从下面几方面来解决:1)在课堂教学过程中,教师首先在备课上对重点、难点内容下工夫,充分理解该问题的内涵,总结问题的规律性,深人浅出解释问题,突出概念,理清思路。在难点上,用几种方法进行对比介绍,找出突破口。同时,根据以往学生容易出现的问题,结合多媒体教学手段,利用多媒体动画效果,形象地向学生演示如寻址过程等方面的内容,增强学生对这些内容的感性认识;2)在布置课后作业时,加大重点、难点尤其既是重点又是难点内容方面的习题,同时在习题讲解时突出强调该内容在实际中的应用,通过相关训练来使学生进一步认识和学习该问题;3)在实验教学中,尤其是在必做实验内容的安排上,进一步设置与重点、难点相关的内容,学生通过直观实验结果来完全理解该问题的内涵。通过这样的方法,使学生能够有效地掌握该课程内容。

最后,我们应更新教学手段,采用讨论和交流结合的方式,鼓励学生参加大学生科研活动。由于汇编语言程序设计具有实践性强的特点,对学生自主学习能力要求较高,可以组织讨论小组,实行每周一题,组织学生课后讨论,课上交流,既加深理解,又锻炼了交流表达能力,同时有可以及时发现存在的问题;就某些专门问题,引导学生进行深入研究。

3.3 培养学生兴趣,提高学生创新能力

随着高级语言的不断发展,学生学好汇编的意识越来越淡泊,甚至认为没有学习的必要。因此要结合教师在教学和实践中的具体事例突出汇编语言应用的广泛性和重要性,培养他们的学习兴趣。让学生了解到高级语言不能完全代替汇编语言;汇编语言是最接近计算机硬件的编程语言,用它编写的程序速度通常要比高级语言快几十到几百倍;通过学习汇编语言,可以了解到如何有效地设计数据结构,让计算机处理得更快,如何使用更少的存储空间;同时,学习汇编语言可以熟悉计算机内部运行机制,有效地提高调试能力;此外,在第一堂课,教师还可以列举一些实例,如音乐程序,动画程序和一些典型的病毒程序等,激发学生的兴趣。有条件的还应结合教师实际科研项目,说明汇编语言有着广泛的应用领域。

另一方面,在平时授课时应改变传统灌输式教育,力求打破学生的思维定视,培养学生思维的灵活性,努力创造以学生为主体的生动的学习环境,注重教学的民主性,尊重学生不同的意见和观点,尊重学生的首创精神。教师在授课中尽力让学生多思考,提高创新思维水平。老师授课易少而精,有针对性地解决学生的一些实际问题,避免一部分学生出现“唯书本知识———死板性;思路狭窄———单一性;杂乱零散———无序性;浮光掠影———浅表性;思维迟钝———缓慢性”等弱点。例如在应用汇编语言指令编写程序时,学生会有多种不同的方法,虽然有些方法不是最优的甚至是错误的,但要鼓励学生用不同的方法。老师可以分析一个具体的例子,并把学生的不同方法介绍给全班同学,这样可以鼓励学生创新性思维,培养他们的创新能力,让学生在学习中体会乐趣,不断探索创新。

3.4 重视实践,提高动手能力

汇编语言是一门实践性极强的课程,学习并真正体会和掌握汇编语言程序设计的最好方法是对其进行充分的实践。

首先,加大实验课的比重,让学生有充足的时间去上机实践,通过调试和修改程序,加深对课堂知识的理解;第二,在实验中还可以应用一些辅助工具使学生能“看到”计算机硬件的工作,进而理解其工作原理。通过学习使用Debug,让学生熟练使用一些简单的命令如D(显示内存命令),A(汇编命令),R(显示修改寄存器命令),T(单步跟踪命令),U(反汇编命令)等,学生就能跟踪观察程序的运行细节,更直观地看到系统是如何分段和使用段结构的,观察CPU中各个寄存器的状态,观看计算机存储器的内容等等,让平时看不见摸不着的东西变得很实在,易于学生理解;第三,对实验的中间结果和最终结果展开角度分析,跟踪每条指令,其指令地址、数据地址、寄存器和存储器内容的变化,用课堂教学的理论知识,分别加以解释和验证,一方面加强学生对理论知识的理解,另一方面,通过言传身教,培养学生的观察能力、分析能力和上升到理论高度的总结概括能力;第四,对于验证性实验,教师的演示应该是分步骤的、由浅人深的,符合学生的接受规律,可以尝试将复杂的算法分阶段演示,引导学生逐步了解算法的执行过程。教师的演示与学生的实践可以穿插进行,并且注意反复,学生通过对实验现象的观察,可加深理解和掌握理论知识。对于非验证性实验,教师可以给学生提示各种不同的解决方法,拓宽学生的思路,使学生能多角度多方向地思考问题、分析问题、解决问题。

4 结束语

《汇编语言程序设计》作为核心专业基础课,在计算机课程体系中的地位是不可忽视的。从几年从事汇编语言程序设计的教学经验来看,学生蕴藏着巨大的潜能,关键是靠教师去引导去发掘。教师应积极研究改革教学内容、方法及手段,采取多种途径,提高教学质量和学生解决问题的能力。讲授时不仅要理论联系实际,还要注重形象性和趣味性,帮助学生理解。培养他们的兴趣,提高教学效率。

摘要:通过对《汇编语言程序设计》课程的再认识,阐述了《汇编语言程序设计》教学面临的主要问题,从提升教师素质、采取新的教学方法和教学模式等方面入手,探讨了抓住课程教学的重点与难点、合理安排前导课程、培养学习兴趣、重视实践教学等几个方面综合促进《汇编语言程序设计》教学的新思路。

关键词:汇编语言,教学方法,实践

参考文献

[1]吴向军,李磊,梁志勇.汇编语言程序设计[M].北京:高等教育出版社,2001.

[2]郭晓伟.汇编语言的优越性及实用性[J].中国科技信息,2006,(3):215.

汇编语言教学改革 篇11

关键词:语言知识;语言能力;中学语文

一、语言知识、语言能力与中学语文教学的关系

语文这门学科在我们上小学时就开始接触,而语言在我们牙牙学语时就已经开始接触了,我们学会的语文知识越丰富,语言组织能力越强越就能够说一句完整的有深刻意义的话。同时语言知识的学习需要学生掌握必要的技巧,通过相应的技巧运用获取知识信息,在这个过程中,教师加强引导才能让学生的语言能力得到提升,只有在教学中让学生的语言获取、整理、表达等能力得到综合发展,中学语文教学的效果才能有明显提高。

二、中学语文教学时常出现的问题

(1)学生参与度时好时坏,极不稳定。由于中学时期普遍实施大班教学,教室环境、课程设置等很少有针对学生个体差异的,且部分学生控制能力较差,教师进行知识教授的时候无法准确引导每个学生参与学习,也没能让学生在较为随意的课堂上控制住自己的情绪以及行为。(2)教师过多掌控课堂,很多教师在课堂教学中把控着课堂的进程,教学知识偏重理论,学生很难在严谨控制的课堂教学中发展自己的语言表达等能力。(3)由于学生在表达和观察能力方面的参差不齐加上思维定式,导致在学习时常出现混乱的状态,很多学生不知道自己学习的目标,语言知识和表达能力等都不能很好的发展。(4)在课堂限制中很多学生没能根据学习目标主动与同学、教师交流沟通,表达自己的想法,语言知识没有得到有效利用,表达能力等也没有得到训练。而且在他们的表述方面千差万别,需要教师耐心地引导才能完成。

三、发展中学语文教学的措施

结合目前教学改革理念和新课标的现实要求,中学语文教学的改革想要在语言知识、语言能力等方面继续突破,让学生掌握更多口语技能,可以在这几个方面努力:

1.在中学语文教学中利用多元评价法,大胆改革课堂评估体系。在中学语文语言知识教学中可以制定目标,让学生用最短的时间掌握知识,用明确的奖励机制鼓励学生参与语言知识学习。然后设计相应的语言表达训练,发展学生语言能力。例如,教师针对李白大诗人的教学时,可以制定好作者生平事迹介绍、作者诗文大意等分析活动,然后根据学生回答的程度评定不同的等级,最后在学生都记住诗歌,学会表述其大意的时候给学生放一段电影等以此激发学生兴趣。结合学生在教学课堂中的综合表现,善于发现学生的长处,及时给予肯定性奖励,可划分等级再发放奖学金鼓励学生。

2.在中学语文教学中使用多媒体教学法,扩大中学语文语言知识信息在课上的影响力,吸引学生学习的兴趣,为语言训练活动的开展做好准备。在学生保持积极的兴趣下进行语言知识等的教学能使学生的动脑动手能力大大提高。借助多媒体承载信息的特点,教师可以把很多中学语言知识融合在一起,把课堂外的信息引入课堂,丰富课堂内容,激发学生的表达欲望。比如,在进行发音教学时,教师通过播放绕口令的视频,激发学生学习的兴趣,然后再组织学生进行小组比赛或者个人口语比赛。这样学生就在很快乐的气氛中学会了口语表达的技巧,提升了自己的语言能力。

3.采用反馈教学法,帮助学生解决语言问题和疑惑。中学语文课堂教学改革的重要目标之一是培养学生提出疑问、探究知识的能力,当学生在课上提出了与语言相关的问题和疑惑时,则表示他们对于学习已经有了很大的探索兴趣,其学习的目的也就树立起来了,进而爆发出学习的主动积极性。当学生认为教师没有重视他时,他的学习动力就会快速消退,直到消失。所以在中学语文语言教学中教师应该采用反馈教学法关注学生的需求和学习情况,进而才能进行教学改革和进行有效的语言能力训练。

4.教师应该主动和学生建立和谐关系。在中学语文教学改革中,教师需要和学生形成良好的师生关系,不能随意打压学生的好奇心,更不能体罚。在进行语言知识的教学中则应该注意和学生建立和谐的关系,亲自关心学生,包容学生。同时还要及时帮学生纠正错误,尽快培养学生的语言能力。因此,在中学语文教学的改革和语言能力训练中尽可能帮助学生发展德行,让学生能和教师互相尊重。

总之,在中学语文教学中想要提升语言知识、语言能力的效果需要用灵活有效的多种教学法加以改善,这样才能使学生知识稳固,能力迅速提升。

参考文献:

[1]黄强军.语文课程语言知识内容的存在形态[J].现代教育,2007(10).

汇编语言程序设计课程教学思考 篇12

汇编语言程序设计作为一门计算机专业的课程,其存在的合理性在近年受到争议。有些人认为,汇编语言作为一种低级语言,指令繁多,难以掌握。另外,编程效率也不高,一个高级语言用一条语句实现的功能,在汇编语言中需要很多条指令才能实现。此外,汇编语言在时间上和空间上的优势由于高速CPU和大容量存储器的出现,也变得意义不大。

我认为学习汇编语言仍然具有重要意义。可以归纳如下:

1)可以比较深入了解计算机硬件的底层工作原理,例如:CPU的工作模式,寄存器的概念,内存的寻址方式,中断的工作原理等。

2)熟悉各种数据表示方法。如各种数制的转化,各种类型的数据在内存中的存储方式。学生在系统学习汇编语言程序设计这门课程后,对二进制,十进制以及十六进制相互间的转换应该非常熟练。对数据在内存中两种排列方式即大端方式(Big Endian,低地址存放高位字节)与小端方式(Little Endian,低地址存放低位字节)有清晰的理解。而这些相关的概念的牢固掌握对高级语言中的数据类型以及计算机网络编程的学习具有很大的帮助。

3)通过汇编语言编程学习,可以促进对高级编程语言相关概念的理解。高级语言在编译的时候,一般都是先生成汇编代码,然后再生成的二进制代码。所以,通过对比分析汇编代码与高级语言代码的实现方式,对程序的执行效率,数据在内存中存放方式,堆栈的概念,函数的调用及参数传递的方式等都会有进一步的了解。

在教学中,我也遇到一些问题。一方面就是学生的积极性不高。主要原因包括:指令很多,难以记忆。对于几个大类的指令,如果每次课上一类,学生课后如果不进行主动复习,往往到下一次课的时候,就会忘记前面所学的内容或者发生混淆。另外,在学习汇编课程之前,他们已经学过一门高级语言,如C/C++等,汇编语言的学习方式与高级语言的学习方式有所不同,高级语言比较容易上机练习,也容易对程序运行结果验证,对于开发实用软件也相对容易,所以学生的兴趣比较大。而汇编语言一方面涉及到底层的硬件概念,比较难以理解,另一方面上机也比较困难,可以这么说,如果按照课本的顺序讲课,要到差不多讲完课,学生才可以上机完成一个功能比较完整的程序。

2 促进学生对知识的掌握

要解决这些问题,我认为要在学生的知识掌握方式以及学习兴趣的培养上下功夫。对于知识的掌握,除了每次新课内容讲完后,精心给学生布置作业习题之外。还应该注意到由于汇编语言的指令及相关的知识点很多,对于刚接触这门课程的学生一开始往往不大适应,容易混淆前面学过的内容,所以教师及时对所学过知识点进行比较和总结就很有必要。此外还应该定期对学生的学习效果进行检测,从过去的教学经验看,汇编语言这门课程是学生比较容易与教师的教学进度脱离的一门课程,不少学生在一开始由于在掌握知识遇到困难,问题越积越多,最终可能放弃听课。在检测的方法上,可以借助网上考试系统。教师可以自主出题,也可以让系统自动出题。通过分析学生的测试结果,教师可以及时调整教学进度,学生也会有一定的学习压力,使他们花更多时间查补缺漏的知识。

程序设计学习的最佳方法就是上机实践。汇编语言上机练习跟高级语言的上机练习相比,对于学生来说比较困难。一方面是由于一个完整的汇编程序涉及的知识点很多,而教材往往按知识点分类进行编排。所以学生要想在刚开始学习阶段,就编出完整的程序有一定的难度。另一方面,汇编程序的运行结果较难在屏幕上输出,汇编语言只有字符与字符串的输入输出,对于一道简单的算术运算题目,其结果的输出都要通过一大段的转换程序来实现。对于第一个问题,教师可以对教材内容进行选讲,把实验所涉及到的知识点先进行讲解。对于第二个问题,我认为应该重点培养学生熟练使用调试工具的能力,通过掌握调试工具如DEBUG,CV等的使用,一方面学生可以直接观察程序的运行结果,另一方面,对于程序的逻辑错误也可以进行跟踪、分析以及解决。此外,由于汇编语言作为一种低级语言,编程都由一条条指令进行构造,所以相对繁琐,应尽早让学生应用模块化思路,掌握子程序及宏的使用方法。这样把一些常用功能做成模块,如输入输出功能,以后学生在编程的时候就可以直接调用这些模块,从而专注于实验的其它方面。

3 提高学生的学习积极性

对于如何提高学生的学习兴趣,我认为主要让学生意识到汇编语言的作用。一方面可以引入一些接口技术相关内容,使学生熟练掌握中断的概念以及I/O指令,然后上机编写中断程序,在中断控制器(8259A)进行验证,由于这些实验有按键输入,有屏幕输出,还能直接看到程序控制设备的效果,所以学生兴趣会比较大。此外,教师也可以适当拓展一些知识,如嵌入式编程相关概念,有兴趣的同学可以在课后自主进行学习。另外,由于不少学生对硬盘相关的问题感兴趣,比如硬盘数据的存放方式,数据的修复等。可以引导学生对这些问题进行思考,然后通过汇编语言提供的I/O指令和中断子功能,编程实现对硬盘的MBR,文件分配表等数据结构的读取,备份,修复等功能。教师通过布置一些学生比较感兴趣的课外作业,并适当提供协助,往往能提高学生的学习积极性。

另外,在汇编语言的学习过程中,教师应该有意识引导学生将汇编语言与高级语言的各个对应的部分进行比较。学生在学习汇编语言之前,通常已经学过一门高级语言,如C/C++等。高级语言在编译的时候,一般是先转换成汇编代码,所以它们具有相通性。大部分学生编写应用程序的时候是用高级语言,所以通过比较分析高级语言与低级语言在数据定义,程序流程控制,函数的定义及调用等的对应部分内容,对于学生更好的使用高级语言编写程序是很有帮助的。比如:汇编语言里有分段的概念,一般把变量定义到数据段,把代码定义的代码段。而C语言是把数据与代码都定义在一起,那么C语言编写的程序在编译成可执行文件后,它的全局变量,局部变量的空间是如何分配的。另外,对于动态内存分配,堆与栈的区别在哪里。还有函数的定义与调用,参数的传递顺序是如何的?这些疑问,都可以让学生编写简单的C语言程序,生成可执行文件后,然后通过调试工具进行反汇编进行分析。此外,在利用VC++,Dephi等IDE开发工具进行程序编写时,都会用到里面的调试功能。基本上调试功能都会包括反汇编与内存查看的功能,教师可以引导学生进行这方面的训练,使他们在以后编程时能熟练应用这个工具解决一些疑难问题,例如:内存非法访问,指针的非法引用等。

4 Win32平台下的汇编语言教学思考

目前很多高校在汇编程序设计教学中讲解的是8088/8086 CPU实模式环境,实际上是虚拟8086模式,因为真正的实模式工作DOS下,而现在汇编语言实验环境都是在windows 2000以上。由于现在大部分CPU都是32位以上,并且是工作上保护模式之上,此外这些CPU的寄存器类型以及寻址方式都已经发生较大变化。所以教师有必要对实模式与保护模式在逻辑地址转化为物理地址的方式的差异,还有16位与32位的指令在用法的不同点进行重点讲解。因为汇编语言现在的实际应用基本上采用工作于保护模式的Win32平台,在Windows操作系统控制下,汇编语言虽然不能再直接存取硬件,但是能通过调用系统提供的API函数完成各种功能。其实这里的API函数当于DOS下的中断调用,但是Window API函数无论从数量上、功能上还是易用性上都大大超过了DOS或BIOS的中断调用功能。所以现在在Win32平台下,汇编语言就像高级语言一样,可以方便的开发各种Windows应用程序。有些教师认为,既然在实模式讲解汇编语言很少涉及实用性,那就应该直接迁移到Win32汇编平台,讲解用汇编语言开发的Windows应用程序设计实例,从而提高学生积极性。我认为如果采用这种教学方法,可能会存在以下问题:首先由于上课时间有限,学生需要大量的时间才能熟练掌握各类指令,汇编语言的语法,程序结构等方面的知识。如果过多涉及Windows程序设计实例,对于不熟悉Windows编程机制的学生的来说,又多了一个不小的学习负担,这样子反而影响了汇编语言基础知识的掌握。另外,DOS下的实模式与Window下的保护模式下的编程在本质上并无很大的区别,只要学生熟练掌握各类指令用法,理解16位与32位的指令及寻址方式的区别,逻辑地址与物理地址转换机制等知识,他们就可以通过自主学习,较容易的掌握用汇编语言进行Win32应用程序的开发。对于教师,除了帮学生打好汇编语言的基础,可以适当以课外作业的形式,引入一些汇编语言在不同应用领域的简单实例,如加密与解密,软件的逆向工程等,这些课外作业的完成对学生汇编语言的应用能力的提高将会有不小的帮助。

5 结束语

汇编语言难教难学是教师与学生的共识,但是作为计算机科学中一门低级程序设计语言,通过对它的良好掌握,确实可以促进对计算机软硬件底层的了解,而这又能促进编程能力的提高。作为教师,在教学中应该不断尝新的教学方法,不断积累经验,只有这样,才能把这门课上好。

参考文献

[1]沈美明,等.IBM-PC汇编语言程序设计[M].2版.清华大学出版社,2001

上一篇:语文教学实施素质教育下一篇:社区协同办公