篇一 :汇编语言学习心得

汇编学习心得

08网工(一)班 李锐 0804031002

在大三接触汇编语言之前,我们在计算机组成原理课程中就已经有所了解了,但也只是略微明白一些如jmp,mov这样的指令,极度缺乏系统性的学习。 在接触这门课程后,感到汇编语言并不是很容易就可以弄懂的。相比较以前学过的高级语言如C、C++等,电脑等于在迁就人的思维方式,但学汇编,人却必须要去迁就电脑的思维方式,要设身处地地用电脑的角度去思考问题,这就是我们学习汇编语言时遇到的最大的障碍。

另外,在C语言中不到10个语句构成的程序,用汇编语言却要好几十行甚至上百行。这不得不让我们对汇编产生一种恐惧感。事实上,这是完全不必要的。一旦对它的原理掌握后,编写程序就容易多了。另外,学习汇编语言能让我们更加了解计算机内部的组织结构,对我们计算机专业的学生来说,学习汇编也是提升综合能力的关键环节。

汇编的学习不仅仅是学习其语法,而更多的是学习计算机基本的体系结构。其中遇到很多新的概念,名字。如寄存器、中断、寻址方式等。这些概念在刚接触汇编这门课的时候难以理解,但在之后的学习中通过老师的讲解,自己亲手编程的方式也就渐渐清晰明了。

我们在学习之前都需要明确什么是汇编语言。计算机能够直接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。

经过一个学期的学习,我也慢慢摸出了汇编学习的规律。

首先,学习这门语言时如果能联系上以前学过的其他高级语言的知识,则会起到良好的效果。例如C语言程序的运行逻辑结构有顺序(按语句依次执行)、分支结构(IF...THEN...ELSE...),循环结构(FOR...NEXT)三种结构,也通过C语言了解并掌握了什么是子程序,什么是调用。事实上,汇编语言中有关程序结构,子程序等等的知识都是跟C语言十分相似的,只是在编程时用到的语言不同:汇编语言完全面向机器,需要指明数据在寄存器、内存中的流向。 第二,学习汇编语言,首要问题是学习80X86指令系统。如果能将指令系统中的各个助记符、格式等都能完全掌握并灵活运用,大部分工作就已经完成了。指令系统确定了CPU所能完成的功能,是用汇编语言进行程序设计的最基本部分。如果不熟悉汇编指令的功能及其有关规定,那肯定不能灵活使用汇编语言。 指令的种类十分繁杂,但其格式却是统一的。

…… …… 余下全文

篇二 :汇编语言学习心得

《汇编语言程序设计》学习总结与心得

班级:09计本(3)班 学号:0 姓名:刘 得分:

本学期学习了汇编语言,汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言,于是汇编语言亦称为符号语言。

在接触汇编语言的时候,对汇编的第一印象就是觉得这种语言非常繁琐和松散,里面有很多细小的知识点,而且有很多规定,必须要根据严格的规则来编写才能够写出正确的程序,譬如一些指令的具体作用,如XLAT指令、CWB指令、LEA指令、OFFSET等的含义和功能,还有大于、小于、等于指令的写法都要记住,不能像高级语言里面用符号“< > =”就能够实现了,正是汇编中的这些规则让我觉得汇编真是特别繁琐,所以在刚刚开始学习汇编的时候经常觉得有些不知所措,特别是对于几种寻址方式,还有各个段的功能,以及各种寄存器的作用都觉得学的很混乱,虽然老师在上课时说的都很详细了,但是在当时好像听懂了,但是很快又弄不清了,还有一些指令的用法会很快就忘记,或者是记混了,但是慢慢接触多了,特别是在做实验的之后,学习得很快,因为要是把学过的知识具体应用到现实中,对于知识的掌握要求就更深一步了,在实验过程中,发现了很多问题,例如一些寻址方式的应用,字符串的定义末尾要加上$符号,在利用AX、BX、CX、DX这几个寄存器的时候注意考虑PUSH进栈对数据进行保护,通过在实验中不断出现错误并改正,对汇编语言的掌握和使用能力都有所提高了。

刚开始对汇编的最大感觉就是觉得用起来很麻烦,不像高级语言那么随意,寄存器就那么几个,用的时候要好好利用,而且还要考虑到计算机内部的工作情况,特别是数据在内存中的存储情况,但是经过学习,发现汇编语言对我们学习好其他语言是非常有用的,原来在C语言中一直不是非常清楚的数据和地址的区别也通过学习汇编而了解得很清楚,通过汇编对CPU里面的工作情况也有了一定的认识,写有些指令的时候要考虑到CPU里面的标志位的改变和利用标志位来实现一些功能,这些在高级语言中是没有的。对于汇编中的指令我很多记不住,由于课件中的程序的注释都是中文的,而课本上的注释都是英文的,刚开始觉得看课件比较好一些,但是后来我发现课本上的英文注释更加容易理解和记忆,和用到的指令是匹配的,因为指令也都是英文缩写方式的,而且都是一些简单的单词,阅读起来并不复杂。

…… …… 余下全文

篇三 :汇编学习心得体会

《汇编语言程序设计》学习心得和体会 在接触这门课程初始,就感到汇编语言并不是很容易就可以弄懂的。相比较以前学过的程序语言如C、C++等,电脑等于在迁就人的思维方式,但汇编却是接近机器语言的一门语言,我们学习和编写程序时必须要去迁就电脑的思维方式,要设身处地地用电脑的角度去思考问题,这就是我学习汇编语言时感受最深的地方,想起来很简单,写起来相当的不易。

汇编的学习不仅仅是学习其语法,而更多的是学习计算机基本的体系结构。其中遇到很多新的概念,名字。如寄存器、中断、寻址方式等。这些概念在刚接触汇编这门课的时候难以理解,但在之后的学习中通过老师的讲解,自己亲手编程的方式也就渐渐清晰明了。

我们在学习之前都需要明确什么是汇编语言。计算机能够直接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。

经过一个学期的学习,我也慢慢摸出了汇编学习的规律。

首先,学习这门语言时如果能联系上以前学过的其他高级语言的知识,最重要的是一些思考问题,实现功能的逻辑的思考,会帮助我们很快的找到编写程序的思路和方向。例如C语言程序的运行逻辑结构有顺序(按语句依次执行)、分支结构(IF...THEN...ELSE...),循环结构(FOR...NEXT)三种结构,也通过C语言了解并掌握了什么是子程序,什么是调用。事实上,汇编语言中有关程序结构,子程序等等的知识都是跟C语言十分相似的,只是在编程时用到的语言不同:汇编语言完全面向机器,需要指明数据在寄存器、内存中的流向。

第二,学习汇编语言,首要问题是学习80X86指令系统。如果能将指令系统中的各个助记符、格式等都能完全掌握并灵活运用,大部分工作就已经完成了。指令系统确定了CPU所能完成的功能,是用汇编语言进行程序设计的最基本部分。如果不熟悉汇编指令的功能及其有关规定,那肯定不能灵活使用汇编语言。

…… …… 余下全文

篇四 :汇编语言学习心得

汇编语言学习体会

前段时间,刚从计算机系统组成与体系结构的稍微学习了汇编语言,只学习了简单的一些指令。通过自学《8086/8088 汇编语言程序设计》,虽然有了一定的了解,但是整体上还是不懂的。还是不能写出一段完整的程序,这次的实验还是对照其它程序套格式过来用的。汇编语言的指令集是很令人头痛的。

不管怎么说,在这本书的学习中,首先主要学习了汇编语言的基本知识,介绍了汇编的背景知识及由来,知道了汇编语言是处在机器语言和高级语言中间的一种低级语言。由于计算机能够直接识别的数据是由二进制数0和1组成的代码。所以用机器语言编写的程序是计算机惟一能够直接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。在这书的的学习中,最大的收获就是数与编码的学习,完善了以前的学习。

然后介绍了8086计算机的组织构成,汇编语言的学习除了要学习语法外,更重要的是了解计算机基本的体系结构,以及其工作原理。这样才能更好的编写。

接着学了80X86指令系统和寻址方式及后来的汇编语言格式,才真正进入了汇编的指令学习阶段,每一条指令的学习虽然简单但比较多,特别是有些指令的使用场合及错误用法等易犯错、易混淆,例如在编写数据传送指令时,目的操作数和源操作数的类型一定要匹配,CS

1

不能作为目的操作数,offset后只能跟简单地址符号,等等。

指令集学完后就要进行应用,首先就是循环,看了半天老师给的要求也不会,网上搜了下,发现一个用C语言几句话就解决的问题,用汇编语言却好长,并且没有输出,也不知道是否正确。好像可以用dos系统功能调用,但是这方面不懂,所以就从网上下了个软件,可以编译的。

对这些基本的都还没掌握,但是仿照例子写出这次的实验,虽然完成了,但是还有很多不懂的地方,编译方面也看的不清不楚的。在以后的机组实验中,要多多努力才行

…… …… 余下全文

篇五 :《汇编语言程序设计》学习心得自主学习报告

      

          

自主学习报告书

题    目:学习汇编语言程序设计报告

学习课程:  《汇编语言程序设计》 

姓    名:                        

专    业:                        

学    号:                        

福建工程学院国脉信息学院教务处 制

 二○##年六月

学习汇编语言程序设计报告书

由于实际工作中对汇编语言程序设计应用较多,在业余时间我自主学习了北京大学出版社出版的《汇编语言程序设计》一书。这一本书介绍了80x86汇编语言程序设计的方法和技术,共分为两个部分:第一部分介绍80x86cpu的编程结构,汇编语言程序的格式和伪指令,80x86cpu的寻址方式和指令系统;第二部分深入讨论分支程序、循环程序、子程序基本程序设计方法,以及以中断为主的i/o程序设计,其中包括宏指令、多模块连接技术、汇编语言与高级语言的混合编程、dos和bios提供的常用中断调用,以及文件系统等内容。

…… …… 余下全文

篇六 :汇编语言实验心得

一.实验内容

1.DEBUG的启动及其基本命令的使用

2.内存操作数与寻址方式

1)利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。

2)分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。

3.顺序程序设计

X、Y、Z、V均为字变量,在X、Y、Z、V字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能:

①计算表达式值(V–(X*Y+Z-720))/X;

②将上述表达式运算结果整数放在SUM1单元,余数放在SUM2单元。

4.分支程序设计

1)设X,Y为字变量,假定不溢出,计算X=|X-Y|。

2)将NUM单元中的一位十六进制数(0~9,A~F),转换为对应的ASCII码值存入ASC单元。

3)已知字节变量X,编程求下列表达式

即:当x>0

当x=0

当x<0

5.循环程序设计

1)定义10个字节型带符号数,求其和。

2)在内存单元DATA中定义一个16位数,统计其16位中1的个数,存入内

存的字单元COUNT。

3)定义10个字型无符号数,编写程序求其最小值。

6.子程序设计

1)设计一个子程序,计算1+2+?+N,其中N为给定的正整数,且N小于100。

2)定义10个字型带符号数,编写子程序求其最大值和统计正数的个数。

3)从键盘接收4位十进制数,将其转换为十六进制数并显示。

二.实验心得

上学期学习计算机组成原理的时候就对汇编有所了解,但通过这学期的学习,使我更加深入了解了其知识体系和计算机组成及内部程序执行的原理。对于各命令的熟练掌握后,自己亲自动手实验更是体会到了各命令的用途及执行的方法。通过各个基本命令可以轻松更改计算机内部寄存器的值和读写内存,磁盘,I/O端口的值,通过更改观察其对计算机的影响变化。

…… …… 余下全文

篇七 :制度汇编学习心得

大连####集团《制度汇编》

学习心得

大连##集团

房地产####处

###

大连##投资集团《制度汇编》学习心得

通过学习集团《制度汇编2009版》,我学习并和同事们积极的讨论,使我对公司的制度有了更深的认识,意识到遵守公司规章制度的重要性,也使我反醒到自己平时工作中对于制度方面做的不全面的地方,通过这次的培训学习让我对规章制度的意识得到加强,达到了学习的预期目的。下面是我对这次学习活动的体会:

自开展制度学习以来,我能从思想上高度重视,会上认真听取并做好笔记,通过学习,是我认识到加强规章制度的执行,是自己与公司快速成长的保证,了解到严格执行公司各项制度是我们每一位员工的重大责任。通过学习让我意识到自己在以后的工作中应严格要求自己,把学习规章制度深入到自己的工作中,从而不断提高自己实际工作中的自主性和能动性。在工作中严格按照各项规章制度履行自己的岗位职责。

责任是一个人的工作宣言。每个人所从事的工作,都是由一件件小事构成的,但我们不能因此而对工作中的小事敷衍应付或轻视责任。要以高度的责任感对待自己的工作,把每一件小事做好,树立对事业追求的标杆,用自己的特长和学到的理论指导自己的工作实践,以高度的责任感去服从服务于自己所从事的工作,去实现自己的人生价值。一个人无论在什么工作岗位上,无论从事什么工作,最关键的一点就在于有没有责任感,是否认真履行了自己的责任。

喜欢自己的岗位不是一句空话,是需要每个人用实际行动去践行的职业操守,更是一种人生态度,它决定了你是不是一个值得信赖可

以勇于承担责任的人。喜欢自己的岗位就是要热爱本职工作,工作无小事,要干一行爱一行。如果一个人没有责任心,对工作就不会有激情和动力,那么在工作中获得的不是快乐,而是痛苦。只要有责任心,才会很认真地对待自己的工作,并怀着深切的兴趣,把自己的工作当成毕生追求去爱它。有了责任心,将会一心一意扑在工作上,才能充分享受工作带来的乐趣。

…… …… 余下全文

篇八 :汇编语言学习活动

####比较汇编语言与高级语言,说明其优缺点。

答:高级语言是高度封装了的编程语言,与低级语言(又称汇编语言)相对。由于汇编语言依赖于硬件体系,且助记符量大难记,于是人们又发明了更加易用的所谓高级语言。在这种语言下,其语法和结构更类似普通英文,且由于远离对硬件的直接操作,使得一般人经过学习之后都可以编程。高级语言与计算机的硬件结构及指令系统无关,在编写程序方面比汇编语言优越。但是高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。

优缺点主要有以下:

高级语言,具有可移植性,能够结构化编程。使用高级语言的程序,几乎都可以不作改变移植到不同的微机平台上,对于嵌入式等的微控制芯片,属于高级语言的部分也很少需要修改,而且程序很容易读懂。高级语言编写程序结构清晰,移植性好,容易维护和修改。高级语言缺点是,程序的效率不如极端优化的汇编高,特别是数学计算程序。

汇编语言针对不同的操作系统平台,不同的微控制器,指令都是完全不同的,即使指令相似,也不具有可移植性。但是汇编语言是针对专门的控制器的,所以运行速度可以精确到一个指令周期。汇编语言的程序读懂需要借助微控制器的指令手册以及各个寄存器的说明,所以很难读懂。汇编语言编写代码实时性强,能够直接控制硬件的工作状态,但是不具有可移植性,维护和修改困难。

####“汇编语言”是计算机及电子信息类相关专业一门重要的基础课程,开设这门课程目的不仅仅是教授一门编程语言,更重要的是通过这门课程的学习,可以帮助学生理解计算机的体系结构以及系统各硬件之间如何协调统一工作,为以后从事软硬件相关方面的工作打下良好的基础。结合你自己的学习经历,谈谈你认为学习汇编语言的意义,以及汇编语言今后的发展前景。

…… …… 余下全文