汇编语言十篇

时间:2023-03-29 22:10:42

汇编语言

汇编语言篇1

汇编语言属于一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,也称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。同时,汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计,在今天的实际应用中,它通常被应用在底层、硬件操作和高要求的程序优化的场合。

(来源:文章屋网 http://www.wzu.com)

汇编语言篇2

关键词:汇编语言;对比教学;C语言;数据结构

1 研究背景

众所周知,汇编语言是从机器的角度出发的,与贴近人们思维的高级语言相差较大,学生刚接触时一般都觉得比较难。即使专门开设汇编语言课程,要学生较好地掌握也非易事。而电气信息类专业,如自动化、信息工程等专业都将微机原理作为专业课,在此之前一般不专门开设汇编语言课程,作为微机原理课程的一部分,汇编语言只占十几个课时,无论是老师讲授还是学生学习都更有难度。但是这部分内容作为基础,是学生较早接触的。根据经验,如果汇编部分掌握得不好,学生有可能会对整个课程的学习失去信心。因此在教学过程中,应该尽可能采取一些方法帮助学生尽快适应汇编语言的思维方式和编程风格。

笔者所在的学校,C语言是所有工科专业的公共课,学生一般都比较重视;自动化等专业还开设了计算机软件技术基础这门课,内容涉及数据结构、操作系统等。在汇编语言的教学中,我们尝试与这两门课程的一些知识点进行关联和比较,对比教学方法做了一些探讨。

2 对比教学探讨

2.1 逻辑运算

C语言中有逻辑运算符和位运算符之分,与汇编

语言逻辑运算对应的是C语言的位运算符,对应关系如表1所示。

而C语言中的逻辑运算符为:与(&&),或(||),非(!),用于对包含关系运算符的表达式进行合并或取非。对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。在教学过程中需要提醒学生注意它们的区别和对应关系。

2.2 栈运算

在讲入栈、出栈指令时,学生已经在计算机软件技术基础或数据结构课程中学习了栈这种结构,对于栈的“先进后出”的特点应该已经掌握了。但是两门课程在细节上还是有区别的,见表2。汇编语言中讨论的栈属于运行时栈(runtime stack),是由CPU内部硬件直接支持的,在系统层上处理子过程调用[1];而数据结构中的栈抽象数据类型通常用于实现依赖于后进先出操作的算法,一般用高级语言编写。数据结构教材上的栈一般习惯于从低地址往高地址生长,但是并不是非要这样,也可以自己实现符合8086汇编语言中的从高地址往低地址生长的栈结构。

作者简介:陈逸菲,女,讲师,研究方向为模糊信息处理、时空数据库;赵丽玲,女,讲师,研究方向为图像处理与模式识别;张英超,教授,博导,研究方向为复杂系统建模与仿真、网络控制技术,主持建设的微机原理课程于2010被评为“江苏省精品课程”;叶小岭,教授,研究方向为优化方法与最优控制、智能仪器仪表。

2.3 数组元素的访问

汇编语言程序中经常需要对一个连续的数据块进行操作,例如,求以array为首址的连续30个数的和。这与C语言中对长度为30的数组求和是类似的。利用数据伪指令可以实现C语言中数组定义的类似功能。C语言中数组名arrary对应着数组首地址,在汇编中用类似“MOV DI, OFFSET array”或“LEA DI, array”的指令就可以使DI指向数据块的第一个单元,即首地址,查找其后的元素只要通过修改DI的值即可实现。C语言中数组元素可以通过下标“array[i]”或指针“*(array+i)”来访问,访问下一个数组元素只需要下标“i++”。汇编语言中可以采用“array[DI]”、“[DI+array]”这样的寄存器相对寻址方式,或者表3中的寄存器间接寻址方式来访问数据块中的数据,其中DI每次的增量取决于数的类型是字节型(加1)、字型(加2)或双字型(加4)等等。DI的值就是当前数据相对于首地址的偏移量。

寄存器DI的值可变;每次增量为2

汇编语言按数据的存储单元来进行访问 直接使用数组名标识符array和下标访i问数据元素;

下标变量值i可变;每次增量为1;

C语言按名访问.

C语言中下标变量的增加是以元素的位序,即元素在数组中的排列位置为准的,每次加1。根据计算机软件技术基础课程中数据结构部分知识的学习,学生们都理解了数组按下标访问的方式,实际上是根据数组的首地址(这里即array对应的地址),和要访问的元素下标i,根据公式Loc(i)=array+L×i计算出元素的地址。L表示每个数组元素占用的字节数,L×i实际上是元素array[i]相对于元素array[0]的地址偏移量。通过这样的对比,学生应该能够比较好地掌握汇编语言中数组的使用,同时也能反过来加深对数组这种数据结构的理解:实际上无论是汇编语言还是C语言访问数组的本质是相同的。

在这里也可以引入C语言中的“指针”概念。上面例子中的DI就相当于C语言中的指针,其目的就是为了找到数据的地址。引导学生以后遇到数据块处理的问题,可以往C语言中的数组访问上联想,从而找到解题思路。

2.4 程序结构

由于习惯于高级语言的程序结构,大多数学生一开始很不适应汇编程序的结构,感到无从下手。如果在教学过程中,教师有意地将两种语言的程序结构进行对比,将有助于学生掌握汇编语言的编程风格。以C语言为例,进行对比说明。

1) 分支结构。

C语言中分支结构由if语句或者switch语句组成,对应双分支或多分支结构。

表4中CMP指令用于对构成比较条件的两个数进行比较,“JNcond ENDIF”表示条件不成立跳转至标号ENDIF,退出选择结构,否则执行相关语句。C语言结构中if后的条件cond作用与CMP指令类似,其运算结果决定了程序的转向,cond成立时执行语句statement,否则执行if结构之后的语句。

表4 汇编语言与C语言的if分支结构对比

汇编语言框架 C语言框架

CMP …, …

JNcond ENDIF; cond为假

statement ; cond为真

ENDIF: …… if (cond)

statement;

表5给出了汇编语言与C语言的if else分支结构之间的对应关系。当cond成立时,执行statement1,不成立时执行else分支中的statement2。

表5 汇编语言与C语言的if else分支结构

汇编语言 C语言

CMP …, …

JNcond ELSE1; cond为假,

statement1 ; cond为真

JMP ENDIF1

ELSE1: statement2 ;

……

ENDIF1: statement3 if (cond)

statemant1;

else

statement2;

statement3

多分支结构也是一种常见的分支结构类型,C语言中常用switch语句来实现,一般根据switch语句后的表达式expression的值决定程序的转向。表6给出了两种语言中多分支结构的对应关系。汇编语言实现多分支结构时,如果有N+1个分支,那么就需要有N个CMP指令对expression的值进行判断,并且跟着N个条件转移指令分别跳转至对应的分支进行处理,最后由无条件转移指令JMP跳转到默认情况(DEFAULT)对应的分支。“JMP ENDCASE”与C语言中“break”语句的作用相同,都是在某个分支处理完毕后退出多分支结构。当然汇编语言中多分支结构还可以用跳转表实现[2-3],从而减少分支条件的比较和判断,使程序更加简洁。这是高级语言无法比拟的。

表6 汇编语言与C语言的多分支结构

汇编语言 C语言

CMP expression, exp1

Jcond1 CASE1;

CMP expression, exp2

Jcond2 CASE 2;

…..

CMP expression, expN

Jcondn CASEN;

JMP DEFAULT

CASE1: statement1;

JMP ENDCASE

CASE2: statement2

JMP ENDCASE

………….

CASEN: statementN

JMP ENDCASE

DEFAULT: statement

ENDCASE:

….. switch(expression)

{

case exp1: statement1;

break;

case exp2: statement2;

break;

…….

case expN: statementN;

break;

default : statement;

}

2) 循环结构。

对于需要重复进行的操作,可用循环程序结构来

进行。汇编语言的循环指令主要对CX或标志位ZF进行测试,确定是否循环。以LOOP指令为例,“LOOP标号”的功能相当于[4]:

(cx)−−;

if ((cx)≠0)

jmp short 标号

如表7所示,循环控制指令类似于C语言中的do-while结构,首先要在CX中装入循环执行的次数N,CX相当于循环变量,每执行一次循环,CX的值自动减1,直到CX的值为0循环结束。这刚好与C语言的结构相反,C语言中一般的循环变量为i,初值为0,每执行一次循环,i的值加1,当i=N时,循环结束。只不过在汇编语言的结构中,不需要显式地判断CX的当前值是否等于零,该判断实际上由LOOP指令完成了。

通过这样的对比,学生能够找到汇编语言与他们熟悉的高级语言的对应关系,有助于更好地掌握汇编程序结构,理解两种语言各自的特点。当然表4~表7各种汇编语言结构并不是唯一的,在实际编程时也可以有别的形式。这么写只是方便学生理解两种语言程序结构的对应关系。

3 结语

我们在汇编语言与高级语言的对比教学中做了一些探索,取得了初步效果。在微机原理精品课程建设中进行的教学实践表明:对比法教学不但对学生掌握汇编语言有益,而且也有助于学生加深对其他课程中知识点的理解,今后我们将在这方面进行更深入的探索和实践。

参考文献:

[1] Kip R. Irvine. Intel 汇编语言程设计[M]. 5版. 北京:电子工业出版社,2007:120.

[2] 朱庆保,张颖超,孙燕. 微机系统原理与接口[M]. 南京:南京大学出版社,2003:72-74.

[3] 王永山,杨宏五,杨婵娟. 微型计算机原来与应用[M]. 西安:西安电子科技大学出版社,2004:101-104.

[4] 王爽. 汇编语言[M]. 2版. 北京:清华大学出版社,2008:185.

Contrast Teaching Methods of Assembly Language

CHEN Yifei, ZHAO Liling, ZHANG Yingchao, YE Xiaoling

(School of Information and Control Engineering, Nanjing University of Science and Technology, Nanjing 210044,China )

Abstract: Contrast teaching method of ASM integrated with C Language and Data Structure can help students to master the ASM and build their confidence in studying. Some practical teaching examples are presented, including logical operations, stack instructors, array address and program structures etc. Practical teaching validates the proposed methods.

Key words: Assembly Language; contrast teaching; C Language; Data Structure

(上接38页)

参考文献:

[1] 教育部高等学校非计算机专业计算机基础课程教学指导分委员会. 关于进一步加强高等学校计算机基础教学的意见(征求意见稿)[J]. 中国大学教学,2005(5):11-18.

[2] 陈国良,冯博琴,张龙. 抓住实施“质量工程”机遇提高高校计算机基础教育水平[J]. 中国大学教学,2008(4):7-9.

[3] 李国杰. 信息科学技术的长期发展趋势和我国的战略取向[J]. 中国科学:信息科学,2010(1):128-138.

[4] 袁国武,赵杨,赵征鹏,等. 依托程序设计竞赛,提高计算机专业学生培养质量[J]. 计算机教育,2009(15):104-106.

[5] 吴英杰,王一蕾,傅仰耿,等. 依托程序设计竞赛,推进“算法与数据结构”课程实践教学改革[J]. 计算机教育,2010(4):53-55.

Promotion of Basic Computer Teaching by the Contest

XIE Shutong, JIA Hongwei, FANG Yongze

(School of Computer Engineering, Jimei University, Xiamen 361021, China)

汇编语言篇3

关键词:混合编程;嵌入汇编;参数传递

C51是广泛应用于8051系列单片机编程的高级语言,具有C语言的开发效率高、可读性强、可移植好等诸多优点。keil C51编译器提供了大量功能丰富的库函数,能够对C51源程序编译生成高效的目标代码,从而提高了程序的开发与维护效率,因此采用C51语言开发8051系列单片机应用程序是开发人员的首选。

大多数情况下采用C51语言即可完成预期的任务,但是采用C51语言编程还是存在着效率不如汇编高、对底层硬件控制不如汇编方便、对代码执行速度有特殊要求(如精确延时)情况时无法实现等缺点。因而,编写高速、高效率、可移植性好的单片机应用程序,必须结合C51语言与汇编语言各自的优点,即C51语言与汇编语言混合编程。混合编程通常的做法是,程序的框架、复杂的数学运算、多任务管理等用C51语言编写,对于那些要求执行效率高、精确延时、直接控制底层硬件等部分则由汇编语言来完成。

编程实践证明,混合编程有机结合了C51的强可读性与汇编的高实时性,比单独使用C51语言编程效率要高。但在实际开发中,不少初学者对混合编程无法下手,下面就作者本人的经验,探讨混合编程的一些基本方法。

一、C51中嵌入汇编程序

在C51中嵌入汇编程序通常用在汇编代码量少、内部无复杂的跳转的情况下,可生成精简的代码、减少运行时间。在keil C51编译器中,C51中嵌入汇编程序是通过#pragma asm/endasm预处理语句来实现,其格式如下:

#pragma asm

;汇编程序

#pragma endasm

通过#pragma asm/endasm语句告知编译器,中间的语句行不用编译为汇编程序代码。在keil C51编译器中,需设置嵌入汇编代码的源文件中的“Options for ...” 选项,激活其中“Generate Assembler SRC File”和“Assemble SRC File”两个选项,然后根据选择的编译模式,把相应的库文件添加到工程中,编译即可生成目标代码。使用该方法可以在C51源代码的任何位置嵌入汇编代码,主要用于延时和中断处理。下例即是一个在C51程序中嵌入汇编代码的实例。

二、C51的参数传递规则与命名规则

C51程序中调用汇编程序是通过函数调用形式来实现的,汇编程序中各种段的命名、安排、参数传递和返回,必须严格遵守keil C51编译器的参数传递规则和命名规则,才能保证正确的调用。

(1)参数传递规则

参数传递的简单办法是使用寄存器,这样做能够产生高效的代码,其传递规则如表1所示。

表1 参数传递规则

参数类型char,一字节指针int,二字节指针long,float一般指针第1个参数R7R6,R7R4~R7R1,R2,R3第2个参数R5R4,R5R4~R7R1,R2,R3第3个参数R3R2,R3无R1,R2,R3

如果传递的参数较多,部分参数可在固定的存储区域内传送。传递参数所使用的存储器空间取决于选择的存储模式,这种参数传递方式代码效率不高、速度较慢,一般尽量不要使用。

C51程序调用汇编程序过程中若存在返回值,汇编语言通过寄存器传递参数给C51程序,其传递规则如表2所示。

表2 返回值传递规则

返回值类型使用寄存器说明bitC进位标志(unsigned)charR7 (unsigned)intR6,R7高位在R6,低位在R7(unsigned)longR4~R7高位在R4,低位在R7floatR4~R7高位在R4,低位在R7指针R1,R2,R3存储类型在R3,高位在R2,低位在R1

(2)命名规则

为了使C51程序能够正确调用汇编程序,汇编程序必须遵循C51中函数名的转换规则,否则无法实现程序的调用,其规则如表3所示。

表3 函数名的转换规则

C51函数声明转换函数名说明void func(void)FUNC  无参数传递或不含寄存器参数的函数名不做改变地传入目标文件中,名字只是简单地转换为大写形式void func(char)_FUNC  带寄存器参数的函数在其名字前加上前缀“_”以示区别,表明这类函数包含寄存器内的参数传递void func(void) reentrant_?FUNC对于再入函数在其名字前加上前缀“_?”以示区别,表明这类函数包含堆栈内的参数传递

三、C51中调用汇编程序

编写被C51调用的汇编程序,除了参数必须按照相应的规则外,程序的格式也有相应的规则,这些规则比较繁琐,实际处理中可查阅有关资料。以下给出一个简单的示例。

C51代码中的void delay(char)函数是在另一汇编文件中实现的。将C51源文件与汇编源文件一同添加到keil C51编译器的工程文件中,编译即可生成目标代码。

四、总结

C51语言与汇编语言混合编程可以实现两种语言的优势互补,即可提高程序的开发效率、增强程序的可读性,又能够方便、精确地控制硬件,具体应用中主要注意相应的使用方法及参数传递。适当的用好C51语言与汇编语言混合编程技术,可以简化设计过程,开发出性能较好的单片机应用程序。

参考文献:

[1]马忠梅,单片机的C语言应用程序设计,北京航空航天大学出版社,2007年

汇编语言篇4

关键词:汇编语言;双语教学;机器指令;程序设计方法;实践教学

目前,在信息技术等相关专业,双语教学越来越受到有关专业教师的关注,这不仅是相关学科的教学改革与国际接轨的需要,也是现代高等教育发展的新趋势[1]。我校汇编语言程序设计课程组教师在多年承担该课程教学的基础上,从2005级学生开始,在计算机、软件工程、网络工程专业使用国外原版教材,采用双语教学模式讲授汇编语言程序设计这门计算机专业核心课程。在实施过程中,课程组对于双语教学的可行性论证、教材选择、教学方法与手段以及实验教学等环节,进行了有益的探索与实践。

1双语教学的可行性

汇编语言是面向机器的计算机底层语言,是软件和硬件的连接纽带。汇编语言程序存储开销小,运行效率高,它能够精细地控制硬件资源,具有高级语言无法替代的功能。从计算机教学体系上来看,汇编语言是计算机专业学生知识结构所不可缺少的一部分,它为后期开设的接口技术、计算机组成原理、计算机系统结构、操作系统、编译原理等课程,打下良好的基础,对于学生今后向更深的计算机专业领域拓展,起到重要的奠基作用。

1) 教学内容及教学目标。

汇编语言程序设计课程主要包括以下主要内容:

① 计算机中数的表示、微处理器、寄存器及其功能、存储器及存储模式、输入输出设备;

② 汇编语言的寻址方式、基本指令及语言要素;

③ 分支与循环结构、子程序结构等程序设计方法;

④ 高级汇编技术如宏指令、条件汇编等;

⑤ DOS及BIOS功能调用。

通过这门课程的学习,学生应熟悉汇编语言指令结构、掌握汇编语言程序设计方法、能够阅读、分析汇编语言源程序并具有编写、调试程序的基本能力。

2) 双语教学的有利条件与难点。

鉴于汇编语言程序设计课程的目标是训练学生利用机器指令编码,而机器指令是由CPU的指令系统决定的,其编程语言是基于英文助记符的符号语言,所以,汇编语言的编程规范与课程的教学语言采用母语还是外语无关。换言之,即使是用中文授课,学生在完成编程作业时,编码同样要采用基于英文的汇编语言源语句,从这点上看,对于汇编语言采用双语教学不仅不会增加学生的作业负担(实际上几乎对于所有的计算机程序语言都如此),甚至对于学生记忆和理解汇编语言指令还有一定的促进作用,这其实是一个有利之处。

但对于汇编语言程序设计课程采用双语教学,也存在着不少难点。例如:

① 汇编语言是面向机器的语言,它不像面向用户的高级语言那么接近自然语言,学习汇编语言要在了解硬件的基础上,准确地使用机器指令对寄存器、内存单元、接口地址进行操作并编码。这种“软硬兼施”的前提要求,往往使初学者有畏难思想;

② 利用汇编语言编程时,为了完成基本的输入输出操作,须频繁地将输入数值字符ASCII(American Standard Code for Information Interchange)码串转换成机器内部的二进制数值,或者将机器内部的二进制数值转换成ASCII字符串,然后通过编程进行DOS(Disk Operating System)功能调用或BIOS (Basic Input Output System)功能调用才能执行输入输出字符功能。初学者理解这种转换的意义和熟悉其功能的编程大多有一个较长的适应过程;

③ 若采用原版英文教材,将使得学生在解读文本时难度系数增加。

3) 双语教学的可行性。

能否对汇编语言程序设计课程采用双语教学?课程组教师分析了以上利弊,认为除了在原版教材的文本学习的语言载体上增加了难度之外,其他有关专业学习的技术难点在使用中文教材时同样存在。以课程组教师多年承担汇编语言程序设计课程的教学经验,技术难点都能够在教学过程中得到解决;而针对原版教材语言载体的难点,一方面由于普通高校本科二年级学生,其英语水平具备了一定的原版教材的阅读基础,另一方面,课程组也将在双语教学的过程中,研究教学法并指导学生培养对原文资料的阅读和学习能力。鉴此,课程组决定从我校计算机科学学院2005级学生开始,使用英文原版教材讲授汇编语言程序设计课程,这是我们对于计算机专业必修课程采用双语教学的首次尝试。

2教材选择

选择一本优秀的教材,是保证教学质量的前提。自1992级到2004级学生,我们采用的教材是由清华大学出版的《IBM-PC汇编语言程序设计》,其作者为沈美明和温冬婵教授。这本书内容详尽、案例丰富,习题全面[2],历年来的教学效果证明它是一本非常优秀的教材。

我校计算机专业的汇编语言程序设计课程在第三学期开设,其理论课时为48 学时。为了高效率地讲授课程内容,尽可能少地增加学生负担,我们拟定了选择英文原版教材的原则:内容精炼、重视例证教学、课后习题丰富。并且,考虑到个别英语基础薄弱的学生需要有一个逐渐过渡的学习过程,教材最好有相应的中文译本。

在参阅多本原文教材后,课程组重点讨论了机械工业出版社2004年11月出版的原版教材《80x86 Assembly Language and Computer Architecture》,其作者为美国田纳西州立大学Richard C. Detmer教授。此书的中文翻译版教材也已由机械出版社于2006年1月出版。《80x86 Assembly Language and Computer Architecture》一书为本门课程的双语教学提供了如下有利条件:

1) 内容精炼、习题丰富。该书包括了汇编语言程序设计中有关编程语言、编程方法的主要知识点,它与清华版教材相比,不含外设接口编程的内容。考虑到我校计算机专业教学大纲中,在汇编语言程序设计之后开设了“接口技术”课程,所以,可将这部分内容安排在后期的“接口技术”中讲授,同时也使得汇编语言程序设计课程的理论学时得以精简。该书各章节均安排了丰富的习题和编程练习实践题,有利于学生的学习和复习。

2) 实用的软件环境。该书重点采用了例证教学,每一章节都包含实际案例。用于汇编语言程序进行汇编、链接、调试的软件附带在一张CD中,其中,调试软件采用了先进的windbg平台[3]。

特别值得指出的是:该书提供的软件中有一个IO.H文件,这个文件中包括了有关的头文件和6个输入输出功能的宏文件。程序员在编程时,只须在自己的源程序中包含IO.H文件,就可以调用宏功能方便地完成数值字符串的输入或输出,不需要程序员频繁地作字符与ASCII代码的相互转换操作,大大降低了输入输出编程的复杂度。这样,在学生初学编程时,能够暂时回避繁琐的输入输出底层操作,重点聚焦在掌握指令系统、程序结构等主要知识点上。由于软件环境支持初学者方便地实现输入输出界面的编程功能,因此更容易给学生的编程带来信心,使学生有兴趣学习这门较为困难的计算机语言。当学生具备一定的编程基础后,再分析IO.H文件中的宏指令,让学生了解并掌握输入输出功能的底层实现。殊途同归,最终仍然可使学生达到掌握底层I/O编程的教学目标。

综上所述,课程组确定以《80x86 Assembly Language and Computer Architecture》作为汇编语言程序设计双语教学的教材。

3课堂教学

为了保证教学质量,针对双语特点对课堂教学采取了如下措施。

1) PPT课件。多媒体教学是提高教学效率、增强教学效果的得力手段。课程组教师根据双语教学的特点,精心制作了汇编语言程序设计课程的全英文PPT课件。为了使学生强化记识相关专业术语,在介绍各章内容之前,PPT中列表并重点强调本章的专业术语,以利于学生阅读本章节的内容。PPT课件各章节的框架结构如图1所示。

2) 双语比重权衡。为了既达到双语教学效果又保证专业教学质量,课程组教师努力提高英语能力,任课教师均具备出国留学经历,能够胜任双语教学要求,在课堂教学中全英文板书,且英语口头表达占50%以上比重;另一方面,对于教学内容的重点难点以母语解释,以便同时兼顾不同英语程度的学生,保证学生获取专业知识[4]。此外,本门课程的课堂练习、课外作业、期末考试均采用全英文方式。从学生的接受程度和适应能力来看,以上比重的权衡是合理的。

4实践教学

实践教学是计算机课程教学中不可或缺的关键环节[5],对于双语教学的课程更是如此。课程组教师在实践教学方面予以高度重视,开展了如下工作。

1) 针对《80x86 Assembly Language and Computer

Architecture》一书的编程环境编写了《上机实验指导手册》,其内容包括程序的汇编与链接过程、windbg调试工具软件的使用方法以及各章的编程练习题和编程指导。

2) 在课堂上利用多媒体设备给学生演示汇编程序的编写、汇编、链接、调试等步骤,并且鼓励学生拷贝自己的BUG(问题)程序并显示到投影仪上,在老师辅导下现场调试,直至成功运行。这种极为有效的案例教学模式,深受学生欢迎。

3) 精心安排、设计上机编程练习,使能力强的学生有难度较高的编程项目可作,编程基础相对薄弱的学生,通过学习也能达到教学要求。

5教学效果

汇编语言程序设计课程的双语教学已在我校计算机科学学院05-08级学生中实施。90%以上的学生们对这门课程的教学予以了高度评价,他们在调查问卷中这样表示:

双语教学对程序设计课程非常有益,原版教材为我们营造了用英语学习专业知识的氛围。(ID:05061245)

使用原版教材,有不明白的地方不得不去查字典,自己写的程序代码也是英文的,就像整天泡在英语之中,无形之中,英语能力有了提高。老师上课时对于难点疑点,除了用英文表述外,也用母语详解,取得了良好的教学效果。(ID:05061020)

通过“汇编语言”英文版的学习,自己英文水平和专业知识都提高了很多,尤其对原版教材的阅读,知道了很多地道的表达方式,阅读英文的速度也大幅上升。(ID:06061115)

我喜欢采用英语进行计算机课程的教学,它可以使我们在走出学校后更快更好地适应市场需求,有助于我们今后的就业。(ID:06061012)

专业课采用英语教学提高了我的英语水平,让我切实感受到计算机专业的国际化要求,开拓了视野,同时也成为我努力提升自己,让自己的知识更适应国际化发展趋势的一个催化剂。(ID:06061116)

调查问卷中也反映出少部分英语水平较薄弱的学生,存在较多地借助中文翻译版教材的现象,这是在双语教学中应重点关注并予以改善的问题。

6结语

我校汇编语言程序设计课程组教师五年以来的双语教学实践表明,采用双语模式进行计算机专业课程的教学是可行的,在专业知识的学习和接受方面,不仅不会弱化教学效果,而且在学生的英语应用能力方面起到了有益的促进作用。现在,本门课程已被遴选为湖北省精品课程。课程组将更深入地研究教学法,进一步提高教学水平,为培养高素质的少数民族高新技术人才努力工作。

参考文献:

[1] 丁学钧,温秀梅,刘建臣. 计算机专业双语教学系统模式研究与实践[J]. 计算机教育,2007(7):71-74.

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

[3] Richard C. Detmer. 80x86 Assembly Language and Computer Architecture[M]. 北京:机械工业出版社,2004:53-58.

[4] 秦奕青,佟俐鹃,赵刚. 计算机学科中的双语教学实践研究[J]. 现代教育技术,2007,17(11):105-107.

[5] 林福山.“汇编语言”教学过程探索[J]. 教育探索,2006(4): 89.

Study of Bilingual Teaching Based on Assembly Language Programming

TONG Xiaonian, LEI Jianyun, TANG Wan, XIONG Zhiyong

(College of Computer Science, South-Central University for Nationalities, Wuhan 430074, China)

汇编语言篇5

尊敬的各位领导、各位专家:

**小学从2000年建校以来狠抓语言文字工作,从名不见经传的新建学校,到2009年成为部级语言文字规范化示范学校、2012年部级规范汉字书写教育特色学校,十多年的风雨历程,**人用智慧和汗水留下了一串串坚实的脚印……

一、做好常规,夯实基础

我校加强语言文字工作建设,加快语言文字工作信息化进程,加大语言文字应用科研工作力度,全面推进本校语言文字规范化、标准化建设。

1、提高认识,强化管理。 普通话和规范字是中华民族优秀传统文化的结晶,对于培养师生的爱国主义情操,提高民族自豪感,更好地学习和掌握其他各科知识,都有着极其重要的作用。学校醒目位置设置宣传标语,营造校园“说普通话,写规范字”的氛围。学校每年都召开专门会议,组织师生认真学习上级有关语言文字工作文件精神,不断交流工作经验,进一步完善各项措施。为推动全校语言文字工作的开展奠定了良好基础

2、机构健全,责任明确。成立了由校长任组长,副校长任副组长,教导处主任、各年级语文教师为组员的语言文字工作领导小组。各教研组、任课教师、少先队推普员组成的语言文字工作网络。语言文字具体工作由教导处负责,分工明确,各负其责。学校形成了上下贯通,左右协调的新格局。对学校的实际,每学年制定切实可行的语言文字工作计划,认真开展、稳步推进,严格评比检查。成立的教师组成的语言文字监督小组,形成了全校师生人人都是推广普通话的宣传员、个个都是纠正用字不规范的监督员的良好局面。

3、创设良好的教育环境,营造浓厚的语言文字规范化氛围

学校在教学楼镶嵌着“说普通话,写规范字”的巨幅标语,时时刻刻提醒师生要说普通话,使“说普通话,写规范字”成为我校多年来一直坚持的良好的校园风尚。以学校的橱窗、墙报、标语为阵地,使之成为正确的语言文字样板,九块板面,全部是有关语言文字的宣传,班级的学习园地,都是孩子们在十五放假中在图书上或网络上搜集的有关“普通话与规范字”的资料。其次,学校红领巾广播站定期对学生进行对有关国家语言文字方针、政策的宣传。推普周期间学校开展“小手拉大手”活动,把“说普通话”深入到每一个家庭。队员们利用队日课走上街,散发宣传材料,向市民宣传“说普通话,写规范字”的重要性,全面掀起活动的高潮。

4、学校所出的校报、资料等都能争取做到不错字、不漏字、不多字。学校的各种印章、牌名、牌匾、标准用字等都要要求做到这一点。这些用字规范的环境设置,不仅营造了良好的学习氛围,也极大地激发了广大师生使用规范字的自觉性。

5、为了提高全校学生语言文字表达水平,推动校园语言文字的规范化、标准化,进一步促进我校素质教育的实施,我校坚持按计划将组织学生开展形式多样的读书,、演讲、征文、诗朗诵、师生语言文字知识竞赛、妈妈讲故事、相声、小品表演、找错别字等系列活动,并将活动落实到每一位学生身上,开展合格生示范生评选活动,将语言文字要求作为一项要求单列出来。

6、积极组织和参与全国推普周等重大活动,组织学生参与社会语言文字工作。学校紧紧抓住每年“推普宣传周”的有利时机,组织学生到步行街进行普及普通话、用字规范化的宣传工作。向家长发放“说普通话,写规范字”的倡议书,查找步行街两侧店铺标牌、广告牌的不规范用字,鼓励学生在家做父母的“小老师”,帮助家长说好普通话。这些活动不仅增强了学生参与社会活动的意识,而且也使学生用语用字水平得到锻炼提高。

7、加强语言文字基本功训练,提高教师队伍综合素质 坚持例会学习制度,强化语言文字日常培训。每周三是学校的全体教师校本教研活动时间,我校专门举办了以养成良好的行为习惯,如何写好规范字的课题研究。与此同时,积极鼓励广大教师参加各级各类培训,教师普通话水平全部达二级乙等以上,语文教师普通话水平全部达到二级甲等以上。

8、坚持普通话持证上岗,加强日常监督检查。 为了更好地监督教师规范用语用字,把普通话合格列入录入教师的条件之一,并把教师说普通话,用规范字列入学校教育教学常规管理之中,在对教师教学情况的考核评估时,将普通话水平视为其中重要内容。除此之外还组织教师开展“钢笔字”、“粉笔字”、“毛笔字”比赛和普通话比赛。董良鸿书记来我校检查工作时,看到教师粉笔子天天练给予了很高的评价,并饶有兴趣看了学生练习粉笔字的园地,赞扬学校工作扎实并勉励学校要坚持不懈开展下去,进一步打造**的特色品牌。教师在暑假参加了安阳市教师书法大赛,我校有8名教师代表参赛,全部获奖,成绩骄人。这些活动的开展极大地调动了教师使用普通话规范字的积极性,促进了教师普通话水平的提高。

9、认真做好汉语拼音教学的工作。

学好汉语拼音是学会标准普通话的基础,从小对学生进行听、说、读、写能力的综合训练,是实施素质教育的重要任务之一,也是语言文字工作的主要任务。因此,我们非常重视一年级教师的选拔、调配和培训。目的在于抓住儿童普通话和书写训练的最佳有效期,为学生从小说普通话、写规范字打下扎实的基础。教师在汉语拼音的教学中发音标准,教法灵活,大大调动了学生学习普通话的积极性,他们不但自己能准确发音,说标准的普通话,还常常主动纠正家长的错误发音,因此,经常能听到家长对此的良好评价。

10、发挥课堂教学,尤其语文教学的主渠道作用。要求语文教师把对学生的“听、说、读、写”训练纳入语文教学全过程,既注重对学生的知识传授,又注重给学生创造朗读和口语表达的机会。如:低年级利用口语交际课,结合学生的实际生活,对学生进行口语交际的专项训练,使学生基本能用较完整的一段话来表述一件事;在中、高年级开展丰富多彩的口语实践活动,以提高学生语言表达能力。

11、开展丰富多彩的口语实践活动。我校有不少农村学生,普通话基础较差,为了帮助学生尽快说好普通话,把学生语言文字工作纳入到学校常规管理,作为“班主任职责”、“班级评比”和“学生评先、评比”的重要内容。充分发挥课堂教学,尤其语文教学的主渠道作用,在注重知识传授的同时,多给学生朗读和口语表达的机会,以提高学生的语言表达能力。结合重大纪念日,组织学生开展以校、班为单位的喜闻乐见的口语实践活动,以调动学生口语表达的积极性。庆“教师节”诗朗诵,“讲故事”比赛等活动,这样既加强了对学生的各方面的思想教育,又提高了学生的普通话水平。

二、特色立校,为孩子成长奠基

(一)经典浸润童年 智慧点亮人生

为了更好地开展经典诵读,学校制定了详实的经典诵读实施方案,同时组织教师编写了的校本教材《国学经典诵》。这套教材按由浅入深,由少到多的原则进行编排,分低、中、高三个年段汇编成册。内容包括:蒙学经典、成语接龙、诗词集萃、名篇撷英、地方诗选。各年级制定了自己的阅读计划、阅读目标,学校把诵读作为常规教学纳入教师量化考评之中,调动了老师的积极性,促进了经典诵读活动的开展。

持之以恒,日积月累,是抓好经典诵读的根本。学校把每天上午第一节课前十分钟定为经典诵读时间,采用教师带读、学生齐读、优生领读、学生自由诵背等多种形式,让学生坚持天天吟诵;并提倡制定恰当的周背诵量,力求达到这个小目标。

为了配合经典诵读的开展,学校把《语文新课标》中要求孩子们在小学阶段掌握的七十首古诗配乐,加上插图,整理成《古诗新曲》一书。真正将诗、乐、画结合在一起,加强了学科之间的融合,用音乐熏陶孩子从小热爱经典、快乐学习,轻松完成背诵古诗的任务。每月一期的校报《**花》的“经典导读园地”向全校学生推荐一首经典诗词,供学生诵读赏析,感悟。

(二)工工整整写字,堂堂正正做人

关于写字教学,我们是想让孩子在规范的书写中感受汉字的美,体味传统文化的精深,悟出做人的道理。为了进一步提高语言文字工作质量,提高学生书写规范字的水平,我校在2004年开始,制订了详实的《写字教学实施方案》,提出“写字不但规范,而且美观”的教学目标,全面加强写字教学。

2009年,我校把郭子伟老师编写的《硬笔写字教程》作为校本教材,在全校开展规范汉字书写训练。2010年,在《硬笔写字教程》使用一年的基础上,又编写制作了《硬笔规范字教学挂图》,挂图是对教程的提纲挈领,将平时教学中存在的难点和重点加以集中,将每一个知识点配上琅琅上口的歌诀,深入浅出,化难为易。其中的“坐姿歌”“执笔歌”“临帖歌”都配上了动作,形成了独具特色的写字姿势操。

学校将每天下午第一节20分钟定为全校写字课时间,由各班语文、数学老师轮周上课。同时老师们积极参加校本教材培训,开展写字教学校本教研。语文老师上写字课,语言文字专职老师,依据《硬笔规范字教学挂图》对数学老师集体进行写字培训;数学老师上写字课,语文老师集体进行写字培训。通过培训,老师们增强了写字的能力,提高了写字教学的水平,形成了一支素质过硬的教师队伍。语文数学老师轮周上写字课,这样就给老师增加了工作量。一开始有的老师想不通,同样是老师,我们比其他学校的老师多了诵读和写字课,课时增加了,干不好还要罚!我说:写字和诵读是学生终生受益的事,不干不行,干不好更不行!

语言文字教学工作卓有成效的开展,离不开严格制度约束。学校每学期都组织教师开展优质课评选活动,将语言文字规范化列为重要考核指标。普通话不达标,汉字书写不规范不得参评。严格奖惩制度,将教师三笔字、班级地书、板报橱窗让学校少先队检查,积分评比,会同学生每学期一次的期末诵读和写字量化考评,奖优罚差。

加大资金投入,全力保障语言文字工作开展。学校免费给每个孩子发放《国学经典诵》《硬笔书法教程》《古诗新曲》校本教材,每班配备《硬笔规范字教学挂图》,《田圆格习字法硬笔教程》与教材配套有获国家专利的硬笔书法练习纸和设计精美的书法作业纸,免费供师生使用。《**花》报每月一期,人手一份全部免费。具有**特色的写字本一学期近40000本,这几项开支加起来每学年都要三十几万元。

为更好地开展语言文字工作,学校开展了一系列的活动。

1、举行全校性诵读经典活动

学校定期举行诵读会。在一些传统节日,我们按计划举办主题诵读会,并邀请家长参加。如“端午诗会”“我们的节日”“重阳敬老”等。2010年“六.一”学校组织了《吟唱古诗,传承文明》经典诗文吟唱大型汇报演出,2011年“六.一”又组织了《经典浸润童年,智慧点亮人生》庆“六·一”暨国学经典诵读大型文艺汇演。

2、年级诵读比赛月月评

各个年级按照本年级的诵读计划,每月举行“诵读之星”比赛。学期末,每年级被评为班级“诵读之星”次数最多的同学即被推荐为校级“诵读之星”,由学校统一进行表彰。

3、学生地书天天练

我校因地制宜创造性地在下水道的水泥板上打上格子,开辟为粉笔字练习园地,颇受学生喜欢。一位家长在《安阳日报》上发表文章,这样写:学校领导还富有创造性地在水泥板上打格子,让孩子们练粉笔字,女儿总是期盼这天的到来,轮到她写字时,我就早早地送她上学。看到孩子们争先恐后;认认真真地写地书,真成了校园里一道亮丽的风景线。学生每天清晨争先恐后练习粉笔字,现在的“地书”已成为我校一道亮丽的风景线。

4、硬笔字月月赛,月月展

每个月都要在全校开展一次“告别涂改液,告别橡皮擦”写字比赛,培养学生认真写字认真做事的习惯。学校设计印制了精美的写字作品纸,每次比赛每人一张,然后将无涂改的作品进行评奖,获奖作品进行展览。月月赛、月月展,以此来激励学生写好字。如

“四月芳菲”、“五月花海”、“快乐六一”等大型的硬笔规范字展览,以赛促写,以展促写,起到了很好的激励作用,写字教学的文化氛围很是浓郁。

5、老师粉笔字周展

学校有两块大黑板,供全校老师粉笔字天天练。老师每人还有一块小黑板,每周进行一次同题诗文写字展览,每到星期三,老师们都主动把小黑板集中到办公楼前展览。大家在一起互相交流,取长补短,共同提高。

6、低年级生活识字综合实践活动

为了解决低年级孩子识字少、阅读困难这一难题史淑芹校长亲自带领我们学校的几位骨干教师分别于2014年11月和2015年6月参加了由贵所联手举办的“科学认读”和“低年级识字与阅读教学”培训会。并从中受益,激发了科研灵感—“生活识字”。现已研发出校本教材—“多彩生活·快乐识字”剪贴识字册。马上要加入“全国识字写字教学连盟”,希望在他们科学有效的领导下,能够博采众长,为低年级孩子们能尽快踏上阅读快车道,养成良好的阅读习惯贡献出我们的一份力量。

近几年来,学校一直把阅读和写字作为我们学校的两大特色来抓,因为这是孩子们受益终身的好习惯,“只有坚持,才有奇迹”!

经过几年的发展,我校的语言文字工作已经声名鹊起,安阳市省级语言文字规范化示范校表彰现场会在我校举行,把我校的经验向全市推广。安阳市、汤阴县、内黄县教体局领导及校长、老师来我校学习。我校何淑利、马利芳、冉芳老师应邀到22个乡镇巡回送课,指导交流语言文字工作。

我校在取得“部级语言文字规范化示范校”“ 部级规范汉字书写教育特色学校”“全国特色学校”的同时,还获得:“**省文明学校”“ **省绿色学校”“ **省卫生先进单位”“**省义务教育课程改革先进学校”“**省先进家长学校”“**省防震减灾科普示范学校”“**省体育传统项目学校”的殊荣。

2011年,我校学生代表队在第三届全国青少年语文风采大赛上获得团体第二名,学生分别获得写作之星、书法之星、语文风采之星、诵读之星的金奖、银奖。就像家长在《**花》上写的那样:感谢**,这所年轻的学校,她是那么充满活力和文化气息,将写字和诵读经典纳入日常教学,让孩子们从小就能写一手漂亮的硬笔字,从小就感受到圣贤古风的熏陶,完善他们的人格,教孩子守信、孝悌。我多么庆幸我的孩子在**。

汇编语言篇6

(苏州大学计算机科学与技术学院,江苏苏州215006)

摘要:分析汇编程序实验课中碰到的若干问题,提出在VC++开发工具中嵌入汇编,在汇编程序中采用结构化程序方法、借助反汇编进一步学习高级语言、以实际应用激发学生学习兴趣3个教学实践,为汇编语言实验教学提供参考。

关键词 :汇编语言;程序设计;反汇编

文章编号:1672-5913(2015)15-0097-03

中图分类号:G642

基金项目:部级计算机与信息技术实验教学中心资助项目( 50118003)。

第一作者简介:刁红军,男,实验师,研究方向为中文信息处理、机器学习,hjdiao@suda.edu.cn。

1 背景

汇编语言是一种面向机器的程序设计语言,在高等院校计算机专业的学科中,是一门软件与硬件相结合的基础课程。通过汇编语言,在硬件方面可以了解CPU、BIOS等编程结构,在软件方面可以理解操作系统、编译原理等底层操作。因此,学生学好汇编语言程序设计,不但能更好地掌握计算机工作原理、微机编程接口,还能进一步加深对操作系统和高级语言的理解。

2 汇编语言实验课程现状

(1)汇编语言编辑编译麻烦。学生早已习惯了C++/Java等高级语言的可视化集成式开发环境,而汇编实验还采用MASM、LINK等命令行编译连接工具,汇编程序书写时也不像高级语言那样具有上下文智能提示功能的编辑工具,对用惯了高级语言编程工具的学生来说,命令行编译连接工具给汇编实验入门带来一定的困难。

(2)汇编语言程序编写繁琐。汇编语言是面向机器的语言,汇编指令与机器指令之间存在着密切的关系,因此其语言表达能力和方式受限于机器的指令系统。书写汇编程序不仅需要在程序逻辑上花费精力,还要在内存分配、寻址和访问上投入甚多,相比于高级语言,其书写繁琐很多。就拿C语言中经典的“Hello World”程序做比较,在80×86汇编程序中,首先要定义存放字符串的数据段并为其字符串存储空间,然后定义堆栈段,再定义代码段以及汇编编译指令和代码指令,不但汇编语句比高级语言繁琐,程序结构也比高级语言冗长。

(3)汇编语言程序调试困难。汇编语言提供给程序员很大的访问机器资源的“能力”和程序设计的灵活性,学生在汇编程序中可以通过各种技巧使用资源。因此,在调试程序的时候,不仅要正确理解当前指令的含义,还要清楚指令中使用到的资源的状态以及指令执行完对资源的影响。汇编语言的调试工具也不像Java/C#等高级语言那样,有智能化的表达式监控窗口以及调试步骤回退功能。

(4)汇编语言结构条理性差。高级语言中任何程序逻辑都是由顺序、分支、循环3种结构组合而成,而且3种结构进行嵌套时都通过分层次缩进的方式进行对齐。然而在汇编程序中一方面没有定义这3种逻辑结构的规范,另一方面汇编程序书写是一行一条语句,语句与语句之间按行对齐,并不按嵌套缩进的方式对齐。因此,学生在写汇编程序时自由度比较高,分支和循环在汇编中只能通过各种转移指令实现,如果这些转移指令使用不规范,不但使程序的可读性很差,而且导致整个程序结构很凌乱,从而演变为“面条式”代码。

3 汇编实验改进实践

3.1 VC++开发工具中嵌入汇编语言

为了降低学生汇编实验入门的门槛,教师可以采用学生熟悉的VC++编程工具,以C语言嵌入汇编语句的方式先开展汇编实验。例如,设X和y均为16位无符号数,用加法指令实现求解表达式SX+Y值的程序。用C语言嵌入汇编语言的代码如图1所示。

在C语言中嵌入汇编语言比书写完整的汇编程序在结构上要简单很多,学生可以把重点放在汇编指令和寻址方式的学习上,通过这种实验方式也教会了学生用C语言和汇编语言编写混合程序的方法。等学生熟悉并掌握了完整的汇编语言书写格式后,再使用命令行的编译和连接工具进行汇编实验。

3.2 在汇编程序中采用结构化程序方法

随着汇编实验的开展,汇编实验越来越难,汇编程序逻辑也越来越复杂。如果这个时候学生不能养成良好的编程风格,势必会造成程序代码混乱、汇编实验效率低下的问题。因此,教师可以在汇编教学实验中引入高级语言中的结构化程序设计的方法,让学生严格按照结构化的套路设计程序,例如,写一个把字符串中的所有大写字母改成小写字母的程序。字符串大写转小写的流程如图2所示。

字符大写转小写流程的逻辑结构由while循环和在while循环中内嵌的一个单分支结构构成。因此,在编写上述程序时可以用汇编语句先构造while循环结构,再在while循环结构中嵌入单分支结构,其他的顺序性汇编代码只要填写到相应的结构中就可以了。两种结构的代码如图3所示,这样整个程序就可以按结构化方式进行设计了。这样不但提高了学生编写程序的效率,还进一步加强了学生对高级语言中的各种分支和循环结构在编译器层面的理解。

3.3 借助反汇编进一步学习高级语言

结构化汇编程序设计让学生初步了解了分支和循环等结构在编译器层面的实现。利用汇编或反汇编输出,学生们还可以进一步了解高级语言中一些特性在编译层面的实现。例如,关于C语言程序中局部静态和动态变量编译实现上的区别,事例C语言代码经汇编输出后如图4所示。

从图4中可以看出“a=3”转换为汇编语言后对变量a采用直接寻址,而“_?a@?l??main-@@9@4HA”这个字符串是在段名为“BBS”的数据段中定义的,代码如图5所示。

“b=4”转换为汇编语言后对变量b采用寄存器相对寻址,“b$”被定义为常量,其值为-4,而“ebp”则是程序调用栈基址指针。因此,从汇编后的代码中学生可以看出局部静态变量存放在数据段中,函数执行结束后其存储空间不会被回收,而局部动态变量则存放在程序调用栈中,函数执行结束后其存储空间则被调用栈调整出去。学生通过对高级语言汇编或反汇编输出,还能进一步了解关于一维数组的指针和一维数组首地址的指针以及类中普通成员函数和虚函数等编译层面的区别。

3.4 以实际应用激发学生学习兴趣

兴趣是学习最好的导师,教师要通过有应用价值的实例激发学生学习的兴趣,让学生了解汇编语言的用武之地,例如,可以向学生讲解硬件驱动、屏幕取词、单片机开发、缓冲区溢出攻击的原理;同时让学生写一些简单而力所能及的小程序,如基于280单片机的电子广告牌控制程序,这样一方面提高学生汇编实验的动手能力,另一方面也加深了学生对操作系统、微机接口等相关课程的理解。

4 结语

实践结果表明,与往届学生汇编实验情况对比,使用C语言中嵌入汇编代码方式的学生能很快上手开展汇编实验,明显降低了学生汇编实验入门的门槛,提高了学生汇编实验的效率;通过汇编程序中采用结构化程序的方法,学生能快速写出多重嵌套的汇编程序,能明显增强学生阅读和编写复杂汇编程序的能力;借助反汇编学习高级语言只能提高基础知识较好的学生各科知识点串联和贯通的程度,部分学生由于基础知识较差,融会贯通多科知识点还较困难;以实际应用激励学生也只能让少部分可以静下心来刻苦钻研的学生比较感兴趣,部分学生感觉题目综合性强,涉及知识点多,课后不认真钻研,很容易就会对实际应用失去兴趣。经过多方面尝试,教学虽然取得一定的效果,也暴露出一些不足,这些也成为我们汇编教学和实验中需继续思考和解决的问题。

参考文献:

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

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

汇编语言篇7

关键词:汇编语言;实验教学;现状;改革措施

中图分类号:G642 文献标识码:B

文章编号:1672-5913(2007)10-0119-02

1实验在汇编语言教学中的地位和作用

汇编语言教学大纲中明确指出“加强上机实践环节,要求学生具有阅读、编辑、汇编和调试汇编语言程序的能力”。通过实验,能够使学生对汇编语言获得具体的、明确的认识,这是理解理论知识的必要基础。实验对培养学生的动手能力,引起学生兴趣,提高学生阅读、编辑、汇编和调试汇编语言程序的能力,具有不可代替的重要作用。因此,我们不仅应该重视实验,而且应该在理论教学中认真贯彻以实验为基础的原则。

2汇编语言实验教学的现状

随着素质教育的进一步深化,高校计算机教师对汇编语言实验的重要性的认识和感受逐步加深,汇编语言实验教学改革也正在紧锣密鼓地进行着。但是应看到,汇编语言实验教学的现状还是不容乐观的。

2.1思想上不重视实验教学

教师受传统教育的影响,普遍存在着重理论轻实验的思想。教学方法普遍采用讲授法。有的老师甚至认为学生不会动手调试程序不要紧,只要会编程序就行。加之科技的飞速发展,多媒体进入课堂,使得部分教师过分依赖多媒体演示,让学生看看了事,不重视让学生实际操作。另外,学生对专业基础课普遍不够重视,加上汇编语言是一门比较抽象的课程,学习起来比较困难,于是在做该课程的实验时敷衍了事。

2.2实验方法陈旧

汇编语言的实验都是在DOS操作系统下进行的,由于现在采用的多是Windows操作系统,所以学生普遍对DOS操作系统不是很熟悉,对实验环境的不熟悉就造成学习效果的不理想。另外,在DOS环境下进行实验比较复杂,一般来说分成编辑、汇编、连接、调试四个步骤,在编写COM文件的时候还会有转换EXE到COM这一步,而且在汇编、连接、调试等步骤中如果出现错误,都必须回到编辑步骤重新开始,学生普遍感到难以掌握。

2.3实验教学模式僵化

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

实验教学的以上现状极大地影响着教学质量,与汇编语言教学目的、教育改革的要求和汇编语言实验教学的重要地位很不相称,与时展对人才的要求很不适应。

3汇编语言实验教学改革的几项措施

针对汇编语言实验教学中存在的上述问题,应从素质教育的高度,进行汇编语言实验教学改革,使实验教学能充分发挥其在素质教育中的特殊作用。

3.1转变观念

汇编语言实验教学的现状在很大程度上与观念有关,要促进实验教学改革,转变观念是关键问题。在汇编语言实验教学上,以教师为中心的教育观把汇编语言实验教学作为教师传授知识、学生巩固和理解知识的辅助教学手段,于是有时会出现忽视实验教学或认为实验教学可有可无。而以学生发展为中心的教学观是把汇编语言实验教学作为整个汇编语言教学过程的一个重要环节,启发学生主动地获取知识,培养和发展学生的能力。因此,改变传统的教育观,树立新的教育观念,实施素质教育,就要不断提高对实验教学基础地位的认识,从提高实验教学的效果、激发学生学习兴趣、提高学生的能力出发,认真改进、大力加强实验教学,把实验教学真正移到以实验为基础上来。树立了这种教育观后,教师就会千方百计地重视实验教学,学生在实验中不感到困难,能从中找到乐趣,从而认真地做好实验。

3.2改革实验方法

摒弃传统的DOS环境,采用汇编语言集成环境AsmEdit。该环境具有如下特点:

① 以Windows为平台。

② 有一个功能与和Windows的记事本相同的编辑环境,可以方便地编辑汇编语言源程序。

③ 在设置汇编、连接、调试等等可执行文件的位置后,可以在集成环境中通过菜单或者快捷按钮来进行汇编、连接、调试等工作,而不需要分别执行相应的命令。还可以显示如果在DOS下操作时这一步操作所需要敲入的命令行。

④只要按几下鼠标就可以快速插入一些内容:预先设定的一些文件格式,DOS下的EXE文件,COM文件等;汇编语言指令及其使用格式;伪指令以及预先设定的一些程序片段,如过程定义等等。

我校2002、2003、2004级计算机科学与技术专业采用该环境进行了试验,结果对汇编语言感兴趣的学生多了很多,还减少了学生上机所需要的时间,提高了上机操作的效率,取得了很好的效果。

3.3提高教师自身素质

教师既要有汇编语言理论和实验知识,又要有教育学、心理学和教学法的知识,还必须脚踏实地亲手实践。科学在发展,教育也要发展,没有一成不变的。作为一名教师要通过不断学习使自己的实验教学能力和知识水平提高,使自身具备良好的实验能力和实验技能;要有钻研和创新精神,例如对汇编语言中的疑难实验进行专题学习和研究、改进一些实验等;还要接受新的教育理论、新的教育思想,指导自己的教学实践。

3.4改革实验教学模式

大力探索并改革不适应新时期形势的教学模式,建立按科学设计实验教学程序、优化实验教学过程、指导实验方法、培养创新能力的“引导-探索-实验-掌握”教学模式。这种教学模式应充分发挥教师的主导作用,突出学生的主体地位。教师充分相信学生,使学生主动参与实验.课本让学生看,实验让学生做,思路让学生想,疑难让学生议,错误让学生析。让学生独立设计实验,利用汇编语言实验,发挥学生的主观能动作用,最大限度地调动学生自主学习的积极性和主动性。变单向信息传递为双向式、多向式信息传递与交流,教师在课内讲重点、关键点和注意点,发挥好主导调控作用。主要方式是采取提问、答疑、讨论、观察实验现象、动手操作等。在实验中,加强对学生实验方法和创新能力的培养。

4结束语

可以相信,只要落实汇编语言实验教学改革的几项措施,通过广大教师、学生的共同努力,汇编语言实验教学的现状将得以改变。

参考文献

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

[2] 宋锦河. 汇编语言程序设计[M]. 北京:中国水利水电出版社,2001.

汇编语言篇8

关键词:汇编语言;实验教学;实验安排;实验教改

中图分类号:TP313-4

汇编语言作为面向机器的软件,在计算机应用中拥有重要的地位,主要应用在对实时性要求高、对硬件设备进行控制的场合:比如在过程控制、媒体接口、通信等用高级语言难以实现操作的场合,必须使用汇编语言。虽然目前系统软件的开发已有不少采用高级语言,但给出的目标程序往往还是采用汇编语言的形式,并且还有不少系统软件要求必须使用汇编语言编写。因此,对于计算机的开发、应用技术人员,必须熟练掌握汇编语言才能分析、修改和扩充计算机系统软件、增加计算机功能。

1 实验教学环节在汇编语言教学中的地位和作用

计算机学科在许多方面与其他学科不同,特别是与硬件密切相关的课程。由于汇编语言课程是与硬件的操作密切相关,实验环节在教学活动中占据了重要地位,对提高学生的阅读、编辑和调试功能中起着不可替代的作用。在正常情况下,计算机高校会指出要加强上机实践环节,学生通过实验课的理解工作有CPU,内存,接口和外部设备,在计算机的表达和传输数据产生的看法。在汇编语言的实验,以达到更好的理解和掌握,从感性认识到理性认识。因此,在汇编语言程序设计教学中应注意的不仅是实验和理论教学应认真贯彻落实是基于实验的原理。实践能力的重要组成部分,思维能力,创新能力,很显然学生在这个过程中出现的困难,第一他们需要从缺乏必要的感性认识,没有足够的实验时间。

2 汇编语言实验教学的现状分析

首先,汇编语言属于低级语言,对于初学者而言,学习高级语言等于电脑在迁就人的思维方式,而学习汇编语言则需要人去迁就电脑的思维方式,要设身处地地用电脑的角度去思考问题,这就是学生学习汇编语言时遇到的最大障碍。

其次,汇编语言程序设计课程在教学方法上基本还是采用传统的授予式的教学方法,和所有的程序设计语言一样,要学好汇编语言,实验是必不可少的环节。很多学生都有这样的体会,书上的程序都能看懂,基本原理也都明白,但是在真正要亲自动手去编写程序的时候却无从下手,甚至连第一句怎么写都不知道。这就要求教师在讲解理论知识的同时注意让学生及时上机练习。因此,在教学方法和教学手段上应该有所创新和突破。

再次,教师受传统教育的影响,普遍存在重理论轻实验的思想,一方面,教学方法普遍采用的仍然是讲授法。另一方面,随着科技的飞速发展,现在课堂教学大部分使用多媒体教室,这就使得部分教师授课时过分依赖多媒体演示,很多内容都是通过多媒体演示仅让学生看看了事,并不重视让学生进行实际操作。

最后,因为汇编语言本身具有难学、难理解、难调试、难维护、可移植性差这些缺点,随着计算机运行速度的提高和内存容量的增加,人们对时空效率的要求已不再那么迫切,汇编语言的优势已不再那么突出,学生学习汇编语言固然存在着不少困难,但汇编语言在某些方面仍然有着高级语言无法比拟的优势。所谓“兴趣是好的老师”,作为教师要注意激发学生的学习兴趣,并在开学初就明确告诉学生这种考核制度的存在,使之开始就消除怠慢的情绪,从根本思想上重视实验。

3 实验教学内容的设计新思路

“汇编语言”是实践性很强的课程,而且有些内容只有通过学生上机调试过,才会有更深的体会。所以实验教学安排应按照由浅入深,循序渐进的方式进行,合理选择实验内容,尽量避免过多过杂。有些实验内容可以安排在讲课之前,即“实践先行”或“项目驱动”让学生先实际操作然后带着问题来学习,这样会大大增加学生的学习兴趣。在内容选择时应注意举一反三,即以启发思维为主,对设计型、综合型实验只要求能够完成预定实验目标即可,不苛求实验过程与步骤的统一。在实验课上,可以将教师演示和学生实践穿行,并且注意重复对比,让学生及时发现自己操作上的失误,加深对汇编语言编程操作规范的理解。另外,在实验中教师不需要处处包办,要学会适时放手,鼓励学生自己动手修改程序,有时学生对自己编的程序没有把握,一旦经上机实验亲手调试后就会很清楚了。学生在计算机上修改程序,观察修改后的结果,实际上就是了解改动部分在整个程序中所起到的作用,这种作用的认识和理解不是通过说教得来的,而是切身经历的、看到的,学生对于它的理解、记忆就要深刻的多。

3.1 改革实验方法。摒弃传统的DOS环境,采用汇编语言集成环境AsmEdit。该环境具有如下特点:(1)以Windows为平台;(2)有一个功能与Windows的记事本相同的编辑环境,可方便地编辑汇编语言源程序;(3)在设置汇编、连接、调试等可执行文件的位置后,可以在集成环境中通过菜单或者快捷按钮来进行汇编、连接、调试等工作,而不需要分别执行相应的命令。还可以显示如果在DOS下操作时这一步操作所需要敲入的命令行;(4)只要按几下鼠标就可以快速插入一些内容:预先设定的一些文件格式,DOS下的EXE文件,COM文件等;汇编语言指令及其使用格式;伪指令以及预先设定的一些程序片段,如过程定义等等。

3.2 利用Debug调试工具,加强实践环节。汇编语言和高级语言一个很大的不同之处在于用汇编语言编写的源程序在上机调试时大部分的程序不能直接看到运行结果,所以需要充分领用好Debug这个调试工具,能够熟练利用这个工具,可以帮助学生理解指令和程序,有效提高学生的编程能力和上机调试能力。

为了充分发挥Debug的作用,需要把Debug的使用方法贯穿到整个课堂教学和实验教学的始终,比如,在讲授CPU内部的寄存器结构时候,可以教学生用Debug查看各寄存器的状态等。在程序设计部分,Debug发挥更大的作用:大部分程序的运行都需要借助Debug来查看运行的结果,当程序运行错误时,还需要借助Debug来进行调试,利用Debug来随时查看寄存器和内存单元的内容,找出错误所在,从而不断修改直到程序运行通过。

4 实验内容的具体安排

具体的实验内容应覆盖汇编语言程序设计课程教学中的各个要点,主要包括DEBUG、汇编语言编程环境、汇编语言程序设计。实验类型分为选作和必做。每个实验分属验证型、设计型或综合型。基于以上思考,笔者在实验内容的选择、实验步骤的设计和实验文档的组织等诸方面都做了精心的考虑和安排,尝试为“汇编语言程序设计”课程编写了《汇编语言程序设计实验指导书》。下面列举其中几个具有代表性的实验:

实验一 汇编语言实验平台及调试工具的应用

5 结束语

参考文献:

[1]赵树声,杨建军.DOS/Windows汇编语言程序设计教程[M].北京:清华大学出版社,2005.6.

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

[3]刘均,周苏,金海溶等.汇编语言程序设计实验教程[M].北京:科学出版社,2006.

[4]钱晓捷.32位汇编语言教学技巧[J].计算机教育,2012(02):88-91.

[5]陈逸菲,赵丽玲,张颖超等.汇编语言的对比教学法[J].计算机教育,2011 (24):45-48.

[6]熊小兵.“汇编语言程序设计”的比较教学法[J].计算机教育,2010(03):151-153.

汇编语言篇9

关键词 微机原理与接口 汇编语言与C语言比较

中图分类号:TP368.1 文献标识码:A

0 引言

“微机原理与接口”是信息学科的一门必修课,主要介绍8086微处理器的原理及其扩展接口的应用。然而8253芯片是接口芯片中的一个重要组成部分,因此本文就从8253出发,阐述用汇编语言和C语言对其开发,让学生更好地用软件对硬件进行开发。

1 8253知识点进行描述

8253工作方式:

1.1 频率发生器

在该方式下,计数器装入初值,开始工作后,计数器的输出OUT将连续输出一个时钟周期宽的负脉冲。两负脉冲之间的时钟周期数就是计数器装入的初值。在这种初始方式下,门控信号GATE用作控制信号。当GATE为低电平时,强迫OUT输出高电平。当GATE为高电平时,分频开始。时序波形如图1所示。

1.2 方波产生器

当装入数值为N时,若N为偶数,则完成N/2计数时OUT为高电平,完成另外N/2计数时OUT低电平,一直进行下去。若N为奇数,则(N+1)/2计数时OUT保持高电平,而(N-1)/2计数期间OUT为低电平。在GATE为高电平的时,产生对称方波。时序波形如图2所示。

1.3 C语言的优点

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。由于C语言的易可移植性,在嵌入式系统里面应用广泛。

1.4 汇编语言的优点

汇编语言是面向机器的程序设计语言。汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。

总之,虽然汇编语言执行起来速度比较快,但开发起来比较麻烦,尤其是8086架构里面只有有限的寄存器,在开发大型的软件时就会显得捉襟见肘,采用C语言开发就可以提高代码的质量,用一句C就可以代替好几句汇编语言,会让开发人员轻松很多,更会让很多初学者对嵌入式系统的开发产生兴趣。

2 实例:C语言方式下和汇编语言下控制8253

8253控制端口地址为 203H;计数器0地址为 200H;计数器1地址为 201H;计数器2地址为 202H。

outportb(0x203, 0x56)

//56H(01010110B).选择计数器1,低八位读写,方式3(方波发生器),二进制计数.

outportb(0x201, 8); // 向计数器1写入低八位初值8H(00001000B).

outportb(0x203, 0x94); // 向8253控制端口写控制字94H(10010100B)。选择计数器2,低八位后读写,方式2(分频脉冲发生器),二进制计数。

outportb(0x202, 6); // 向计数器2写入低八位初值6H(00000110B).

如果使用汇编语言程序,则变成

MOV DX,203H;指向控制端口

MOV AL, 56H ;设置工作方式

OUT DX, AL;往端口送数据

MOV DX, 201H;指向计数器1

MOV AL, 8;给计数值

OUT DX, AL;往端口送数据

MOV DX,203H;指向控制端口

MOV AL,94H;设置工作方式

OUT DX,AL;往端口送数据

MOV DX,202H;指向计数器2

MOV AL,6;给计数值

OUT DX,AL;往端口送数据

从中可以直观地可以看出,如果使用汇编语言对8253写入控制字MOV DX,203H,MOV AL,36H,OUT DX,AL,需要三条语句完成,而且需要3个寄存器,并且寄存器本来就是很少的了,这样很浪费资源;用C语言只需调用outport函数:outport(0x203,0x36),C语言的代码长度短了很多,并且也方便学生们掌握,使学生在嵌入式软件开发上产生更多的兴趣,为大型嵌入式软件的开发奠定坚实的基础。

3 结束语

根据本文比较C语言和汇编语言对8253的开发,会让更多的学生明白C语言作为一种面向结构的语言对嵌入式系统开发的优胜性,希望越来越多的学生在微机原理和接口的实验课上,采用C语言进行开发,削减代码量,提高效率。由于目前我国正处于信息化高速建设的时代,对嵌入式系统的开发水平也决定着我国在世界上的影响力。因此,让更多的学生学会用更高效的语言进行嵌入式系统软件的开发显得尤其重要,本文就此发表自己的看法。

参考文献

[1] 马义德,张在峰,徐光柱,杜桂芳.微型计算机原理及应用(第二版).北京:高等教育出版社,2001.

[2] 王永山,杨宏五.微型计算机原理与应 用(第二版).西安:西安电子科技大学出版社,1999.5.

汇编语言篇10

关键词:汇编语言;应用驱动法;反馈教学法

1. 引言

汇编语言是电子信息类专业重要的基础课程,是“操作系统”、“编译原理”等课程的前导课程,很多同学认为快速开发才是技术,对汇编语言的定位就是“考试课”。即便是对汇编语言的重要性有一定认识的同学也觉得该课程入门难,对学生来说教学内容很多是全新的,尤其是对前期硬件课程基础不牢的同学,就更难把握,另外,汇编语言让初学者还要投入大量精力来关注细节,无暇顾及汇编语言的用武之地,结果就是学的内容在还在书本里。各位一线教师针对汇编语言教学中存在的问题也进行了积极探索,王云等[1]针对汇编语言抽象的概念,提出了一种基于概念图的方法,对抽象概念的形象表达有助于初学者的理解,曲瑞超提高学生的主体地位来提高教学质量[2],本文从汇编教学的现状出发,结合实际教学过程,提出“应用驱动法”和“反馈教学法”。

2.汇编教学现状

2.1对汇编语言重视不够[2,3]

    在高级语言层出不穷的年代,许多同学对汇编语言不够重视,甚至不知道为什么学习这么“笨”的语言能干什么。首先从实用性的角度来看,汇编语言可以对计算机硬件进行直接控制,经常被用于设备驱动程序、实时控制程序等硬件设计开发,在系统软件的底层、大型软件的性能优化、信息安全与计算机病毒的逆向工程等方面,汇编语言能做的事是高级语言不能替代的;从整个知识体系的角度,汇编语言的重要性不单单体现在课程本身,他对整个专业的理解都是有帮助的,接受了汇编的繁琐,就是接受了计算机的思维逻辑,我们用计算机的思维来解决问题才有可能写出更有效合理的程序;从程序员掌握技术的层面,透过低级语言看高级语言才更清楚,实际工作中低级语言与高级语言结合才能真正的实现优势互补。

2.2教师的突出问题

仅仅从教学任务出发,按教材的基本线索完成教学任务。计算机是一门实践性很强的课程,程序员作为计算机科学和计算机技术的衔接者,一定是充分了解了理论才能有效的指导实践,并且这种知识的学习必须是连贯的,一个环节出了问题,你的程序就不能顺利执行,所以教师应该在低年级授课过程中以专业的大背景激发学生的学习兴趣,将带领学生探求程序运行背后的真实状态作为重点,在理论和实验的环节里积极的引导学生。

2.3学生的突出问题

低年级的学生还没有掌握大学的学习方法,还有很强的应试心态,也还没有树立起对本专业学习的信心,完全还是被动接受,很多学生都还是“捧着教材不放手,相信教材不回头”,一些同学会严肃认真的对待“课后习题”,却对应该执行的程序置之不理。针对这样的普遍现象,我们应该本着“实践是检验真理的唯一标准”,让同学大胆的开阔眼界,尽早的学会查阅各种学习资料,勤于动手,形成自主学习的习惯。

3.应用驱动法

明确了汇编语言的地位和作用,开始我们解决教学中的实际问题。应用驱动方法是从实际需要出发,在解决实际问题中引入要讲解的知识,带有很强的目的性去学习,从而解决新问题,这就需要教师在教学之前充分了解学生的基础,设置合理的场景,让同学顺利向新知识点过渡。实际需要永远是技术的动力,以应用为导向,不会被学到的新知识点束缚,遇到新问题才可能像处理老问题那样来去自如。

应用驱动法的使用是为学生提供一个接受新知识的切入点,同时也是对现有知识的对比、消化、整理、融合的过程,实践证明,让学生在这样的背景下接受抽象的知识是比较切实可行的办法。

比如在讲解“内存型寻址方式”[4]时应用该方法,从寻址的理论开始讲起,会让同学感到这个知识点很突然,为什么要如此关注内存,在解决实际问题时,程序员应该怎样做?即便通过理论的学习和课后的练习,能分辨出是哪一种寻址方式也体会不到其实际价值,与其这样,我们不如追根溯源,找到为什么高级语言不需要程序员了解这样的细节,首先告知同学们80X86汇编语言中的只有DB、DW、DD、DQ、DT五种数据类型,而且在低级语言里变量只能提供偏移地址的信息,在如此“简陋”的条件下,我们如何表示“一维数组”、“二维数组”甚至更复杂的数据类型呢,怎么才能按照实际需要进行数据的读写呢,基于这样的实际情况,我们只有借助各种寻址方式来实现对“变量”的灵活操作,可以使用寄存器相对寻址来实现一维数组的结构,用基址加变址相对寻址来实现二维数组的访问。通过这样的讲解,使得学生将“寻址方式”、“变量”“变量的属性”等重要的知识点在“应用”的驱动下进行理解和接受,并且会在日后的使用中也能信手拈来。

应用驱动法需要教师对核心概念的准确把握,同时,要注意与学生熟悉的日常生活紧密结合,深入浅出的把重点难点用科学普及的方法传达给学生,让学生将新知识点进入自己的知识体系,只要学了就很简单,会更有兴趣、更有信心对其进行深入研究。

4.反馈教学法

应用驱动方法很大程度是以教师的经验为基础,依赖该方法对教学中的重点难点内容有很大帮助,但教学是一个动态的过程,与学生互动也是提高教学质量一个很重要的方面。反馈法是通过学生“学”的情况对教师“教”的情况的一种信息回送,这种信息无论是对本轮还是下一轮授课都很有价值。这其中除了重点难点的反复,也包括一些没被教师重视的内容,也有一些是前序课程遗留的问题。即便是相同的知识点,有很多同学理解的结果也有差异,所以建立一定的反馈机制是很有必要的。通过反馈发现教学过程中的问题,并及时解决。

信息反馈体现在学生阅读教材、课后习题、实验这三个阶段,教师获得相关信息需要学生的积极配合。教材阅读的过程获取反馈的信息比较少,因为学生在这个阶段不能对问题进行有效的总结,在课后习题和实验阶段能反映出学生对某些核心概念的理解,尤其在实验阶段。但令教师头疼的是大部分同学会把汇编语言的学习停留在教材阶段,这有很多原因,一方面汇编语言的理论性强;另一个原因是学生对实验缺乏信心,编写程序的过程中会遇到很多琐碎而细致的问题。教师需要合理安排实验,依据课程安排由 简入难、循序渐进的实验内容,更应该在学生的实验环节及时发现他们理解的误区,加以纠正,提高教学质量。

比如在“变量”的理解上[4],很多同学能理解变量的段属性、偏移属性,却不理解类型属性,这需要教师设置对“变量”的连续访问的实验,通过实验,理解不同类型变量的内存分配,在实验环节中通过加入这样一个小实验,让同学们对变量有透彻的理解,对高级语言中变量的理解也会有所深入。

5.结论

本文从《汇编语言》的实际教学出发,探讨了应用驱动法和反馈教学法,这两种方法需要反复循环才能达到良好效果。应用驱动法本身也可以激发学生的学习兴趣,应用反馈教学也能促使学生为主体的学习态度和良好的师生互动关系,通过实践证明,确实是行之有效的方法,提高教学质量,改善教学方法也是值得高校教师深入探索的问题。

参考文献:

[1] 王云,魏晓俊,乔爱军.一种基于概念图的_汇编语言程序设计_教学模式研究[J].电化教育研究,2011(10):77-79.

[2] 曲瑞超.关于汇编语言教学的几点看法[J].赤峰学院学报(自然科学版),2011,27(11):46-48.

[3]倪超凡.关于提高《汇编语言》教学质量的几点思考[J].江苏教育学院学报(自然科学),2011,27(5):45-46.