20192420任文朗汇编程序设计基础学习总结

汇编语言程序设计学习总结报告 by 20192420任文朗

第一章 汇编语言的基础知识

一. 计算机程序设计语言的分类

机器语言:用二进制数表示控制计算机的命令和各种数据,直观来说,其只由0和1组成,例如0100。

 · 优点:能够直观表示计算机内部的基本操作,运行速度最快,程序的长度也最短。

 · 缺点:用二进制表示的内容会显得很长,不利于阅读和记忆。在现代科技领域,其通用性很差。

高级语言:类似于用自然语言进行编制程序,对于计算机内部的一些操作可以实现对用户的屏蔽。例如,C、C++、java等。

 · 优点:程序设计简单,可阅读性强,能够更好的描述所使用的算法。

 · 缺点:高级语言比较冗长,运行速度要比汇编程序要低,同时其执行速度也相对较慢。

汇编语言:通过一些容易理解的单词代替一些特定的指令(例如用“ADD”代表加法)来阅读已完成的程序或对现有程序的bug进行修复。常见于硬件操作和高要求的场合(例如嵌入式操作系统)。

 · 优点:可扩展性高,可以轻松读取硬件情况,可以能够准确的被执行。

 · 缺点:代码兼容性差,后期维护程序耗时长,很容易出现BUG。

以上三者的区别及联系

1. 指代不同

        (1)高级语言:相对于机器语言(machine language)是一种指令集的体系。 

	(2)汇编语言:是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言。

	(3)机器语言:不经翻译即可为机器直接理解和接受的程序语言或指令代码。

2. 编码方式不同

        (1)高级语言:语法和结构更类似汉字或者普通英文,使得一般人更容易学习。

	(2)汇编语言:汇编语言通过汇编过程转换成机器指令,其和特定的机器语言指令集是一一对应的。

	(3)机器语言:使用绝对地址和绝对操作码。从使用的角度看,机器语言是最低级的语言。

3. 特点不同

	(1)高级语言:用户可以根据自身需求在代码中加入头文件来调用函数来实现自己的功能。

	(2)汇编语言:用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。

	(3)机器语言:指令是一种二进制代码,由操作码和操作数两部分组成。

二. 进位计数制及其相互转换

进位计数制

概念:多位数码中每一位的构成方法以及从低位到高位的进位规则。

二进制、八进制和十六进制之间的联系

各种数制间的相互转换

1. 十进制数转换为二进制数
(1)减权定位法
  	概念:将十进制数依次从二进制的最高位权值进行比较,若够减则对应位置1,减去该权值后再往下比较,若不够减则对应位为0,重复操作直至差数为0。
       例如,将十进制数327转换为二进制数,具体操作如下图所示:

(2)除基取余法
  	概念:对十进制的数不断除2求余,直到商为0。先求得的余数是二进制的低位。
       例如,将十进制数327转换为二进制数,具体操作如下图所示:

2. 十进制小数转换为二进制数
  (1)减权定位法(与整数类似)
  (2)乘基取整法
	概念:把小数不断地乘2,取每次结果的整数,直到结果为1。
        例如,将十进制小数0.8125转化为二进制,具体操作如下图所示:

3. 二进制整数转换为十进制数
  (1)按权相加法
	例如将100101110转化为十进制数:
		1*2^8+0*2^7+0*2^6+1*2^5+0*2^4+1*2^3+1*2^2+1*2^1+0*2^0=302
  (2)逐次乘基相加法(如下图)

 4. 二进制小数转换为十进制数
  (1)按权相加法(如下图)

  (2)逐次除基相加法(如下图)

 5. 二进制与八进制和十六进制间的转换
 (1)三位二进制数对应一位八进制数。
 (2)四位二进制数对应一位十六进制数。

三. 带符号数的表示

真值和机器数

· 真值:正负号+某进制数绝对值的形式
· 机器数:符号位用0表示正号,-1表示负号

三种不同的码制

1. 原码
(a)最高位表示符号位,0表示正号,1表示负号,有效值部分用二进制的绝对值表示。
(b)原码 = 符号 + 绝对值
(c)定点整数定义:
	[X]原=0,x (2n>x≥0)
    [X]原=2^n - x(0>x≥−2n)
    (因为x为负数,减x相当于加上一个x绝对值,而2n相当于最高位的1,所以就是1后面跟x的绝对值)
例如,x = +1110,[X]原 = 0,1110
      x= -1110,[X]原 = 1,1110

2. 补码
(a)[x]补=M+X(Mod M)
(b)正数的补码与原码一致,负数的补码是该数的反码加1。

3. 反码
(a)正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。

由真值、原码变换为补码

1. 正数的变换方法(原码与补码相同)
2. 负数的变换方法
(1)真值变补码:各位取反,然后在最低位加1
(2)原码变补码:保持符号位不变,其余各位变反,最低位加1

补码数的表示范围

1. 当位数为8时,最大补码为01111111=[+127]补,最小补码为10000000=[-128]
2. 当位数为16时,补码表示范围为-32768~+32767	

注意:0的补码只有一个

补码的加减运算

四. 字符的表示

ASCII码

1. 非打印ASCII码(33个),如BEL,DEL,CR等
2. 可打印ASCII码(95个),如数字符0~9,大小写字母等

五. 基本逻辑运算

“与”运算(AND)

· 输入有零,输出为0;输入全1,输出才1.
· 逻辑表达式 L = A ⋅ B(只有当一个事件的几个条件全部具备后,这件事才发生)

“或”运算(OR)

· 输入有1,输出即1;输出全0,输出才0。
· 逻辑表达式 L = A + B(当一件事的几个条件中只要有一个条件得到满足,这件事才会发生)

“非”运算

· 输入0,输出为1;输入1,输出为0。
· 逻辑表达式 L=^A

“异或”运算(XOR)

· 输入不同,输出为1;输入相同,输出为0。

第一章总结

通过第一章的学习,我对计算机程序设计语言有了一些基本的了解,并且能够区分三种不同语言。在数制转换时我通过用纸和笔练习达到对其的掌握。在这一章的学习中我觉得最需要注意的无非是补码的加减运算这一知识点,特别是当在做减法时,一定要准确区别一个数的补码和取补运算这两个概念。

第二章 IBM-PC微机的功能结构

一. IBM-PC微机的基本结构

微机的一般构成

· 包括运算器,控制器,存储器,输入设备,输出设备等五大部件。
· 将运算器和控制器两大部件集成在一个集成电路芯片上,称为中央处理器(CPU)。
· 系统采用的是总线结构(地址总线、数据总线和控制总线),具有较大的灵活性和扩展性。

中央处理器CPU

· 微型计算机的中央处理器(也叫微处理器),由运算器和控制器组成。
· 主要功能:分析从主存储器取来的各条指令的功能,控制计算机的各个部件完成指定功能的各项操作。

主存储器

· 主存储器是用来存放程序和数据的部件,由若干个存储单元组成。	
· 每个存储单元使用一个唯一的编号来标识(存储单元地址)。
· 对每个存储单元的操作就是通过访问存储单元地址来实现的。

注意:习惯上把CPU和主存储器合称为主机,在计算机中除了主存储器之外,一般还有辅助存储器,也称为外存。

输入输出设备及接口

· 输入设备将外部的信息送入计算机(例如程序和命令),包括鼠标和键盘。
· 输出设备将处理后的结构转换为人或者系统能识别的信息向外输出,包括显示器和打印机。
· 由于I/O设备的工作速度,工作原理以及所处理的信息格式等与主机相差很大,所以I/O设备要通过I/O接口才能与系统总线相连接。
· I/O接口是主机与I/O设备之间的逻辑控制组件,通过他实现主机和I/O设备间的信息传递。
· 有的设备既有输入功能也有输出功能,如磁盘,磁带,触摸显示屏等。

系统总线

· 系统总线就是将微机的各个部分相连接,实现各大部件之间的信息传递。
· 系统总线包括地址总线,数据总线,控制总线,他们分别用来传递不同的信息。

Intel 8086/8088 CPU的功能结构

1. 汇编语言程序与指令的关系
· 汇编语言由一系列的指令构成,而指令是构成汇编语言程序的最基本单位。

2. CPU执行指令序列的两个步骤
(1)从存储器中取指令
(2)执行指令规定的操作

3. 串行方式与指令流水线方式
(1)串行方式
	特点:
	I.当CPU在执行指令的阶段,不需要占用系统总线,系统总线的空闲时间较多。
	II.在存储区取指令或存取数据时,总线处于忙状态,其占用时间较长,而CPU却只需要很短的处理时间,因此CPU大部分时都间处于闲置状态

(2)指令流水线方式
	特点:从CPU组件结构上要划分成多个单元,操作在一定程度上是并行工作的,从而大大加快了指令执行速度。

其中,EU的任务是分析和执行指令,而BIU的任务是负责CPU与存储器、I/O的信息传送。

二. CPU寄存器结构及其用途

CPU中的寄存器

CPU中的寄存器一共有14种,其中通用寄存器8个,控制寄存器2个,段寄存器4个。
1.通用寄存器(通用性良好,可以用作某特定的功能)
(1)数据寄存器
	I.包括AX,BX,CX,DX四个寄存器
	II.其中每一个寄存器既可以是一个16位的寄存器,也可以是分成两个8位的寄存器
	III.数据寄存器既可以用来存放参加运算的操作数,也可以存放运算的结果

(2)指针寄存器(包括堆栈指针SP和基址指针BP)
	I.SP指针-在执行堆栈操作的时候隐含使用,被用来指向堆栈顶部单元
	II.BP指针-被用来指向堆栈内某一存储单元
 	III.他们一般被用来存放16位地址,在形成20位物理地址的时候常被作为偏移量使用

(3)变址寄存器(包括SI和DI两个16位的寄存器)
	I.SI-源变址寄存器
	II.DI-目的变址寄存器
	III.两者还可以用作通用寄存器

2.段寄存器
(1)cpu在使用存储器的时候,将它分成了若干个段
(2)每段用来存放不同的内容,如程序代码,数据等
(3)每个存储段用一个段寄存器指明该段的起始位置
注意:在程序运行的任意时刻最多只有4段,分别由CS,DS,ES,SS指定
	CPU在访问存储器时候必须指明两个内容:
	I.所访问的存储单元是那个段,即明确使用的段寄存器
	II.该存储单元与段基址相聚多少

3.指令指针IP
(1)CPU从存储器取指令的时候,以段寄存器CS作为代码段的基址指针,以IP为内容的偏移量,共同形成一条指令的存放地址
(2)当CPU从内存中取出一条指令后,IP内容会自动修改为指向下一条指令。

4.标志寄存器(用来反映CPU在程序运行时的某些状态)
(1)标志寄存器的长度为16位,但是只定义了其中的9位。
(2)标志位分为:
		I.状态标志:CF,PF,AF,ZF,SF,OF
		II.控制标志:TF,DF,IF

三. 存储器的组织结构

存储器的组成

1.存储器是由若干个存储单元组成的,存储单元的多少表示了存储器的容量
2.每个存储单元存放相同长度的二进制数
3.每个存储单元都有一个唯一的地址编号,即地址
4.任何两个相邻字节单元就构成了一个字单元
5.在定义一个地址时必须指出是字节或字类型属性

存储器的段结构

1.存储器段结构的特点
(1)CPU将1M的存储空间划分成若干个段,每段最大的长度为64K个字节单元组成
(2)存储器中规定从0地址开始,每16个字节称为一个小节,因此1M内存就可以划分为64K个小节
(3)每个段的基址必须是一个小节的首址
(4)逻辑段在物理存储器中是可以邻接的,间隔的,部分重叠或者完全重叠等4种情况
(5)在任一时刻,一个程序只能访问4个当前段中的内容,分别是代码段,数据段,堆栈段,附加段

2.存储器的地址空间
由于8086/8088可寻址的存储空间为1MB。需要提供20位的地址码,而CPU内部的寄存器长度为16位,能够直接访问的最大的地址空间为64KB

逻辑地址与物理地址及对应关系

1.物理地址
	· 在1M的存储空间中,每个存储单元的物理地址是唯一的,它就是该存储单元的20位地址	

2.逻辑地址
	· 包括两个部分:段基值和偏移量
	· 逻辑地址的表示方法 段基值:偏移量

3.逻辑地址转换为物理地址
	· 方法:将逻辑地址的段基值左移4位,形成20位的段基址,然后和16位的偏移量相加得到的就是物理地址

四. 堆栈及其操作方法

堆栈的构造

· 专用堆栈存储器
	按堆栈的工作方式专门设计的存储器
· 软件堆栈
	由程序员用软件在内存中划定一块区域作为堆栈

堆栈的组成

· 栈底:固定的一端
· 栈顶:浮动的一端
· 堆栈指针:指示栈顶的位置

堆栈的组织

· 当SP为最大值时,表示堆栈为空;当SP=0时,表示堆栈全满
· 数据的低8位放在较低地址单元,高8位放在较高地址单元
· 当用户程序中要求的堆栈长度超过一个堆栈段的最大长度64kb时,可以设置几个堆栈段

堆栈操作

1.设置堆栈
	· 主要是对堆栈段寄存器SS和堆栈指针SP赋值

2.进栈PUSH(把数据存入堆栈)
	· 首先将堆栈指针SP减2,即指向一个空的堆栈字单元
	· 将要存储的内容送入SP指向的字单元中

3.出栈POP(从堆栈顶部弹出数据)
	· 将SP指向的字单元内容送往指定的寄存器或存储器
	· 堆栈指针SP内容加2

第二章学习总结

通过对第二章内容的学习,我对计算机的一些基本结构有了更深的认识。在对CPU中的寄存器进行学习的时候,我通过对概念的理解和对例题的研读,明白了如何区分16个寄存器,以及各标志位所代表的含义。在对存储器这一部分进行学习的时候,解决了我一直以来对字和字节概念的混淆。特别是在逻辑地址与物理地址相互转换的时候,将这一知识点得到了灵活的运用。虽然这一章知识,在之前的计算机组成原理以及操作系统有所涉及,但是自己没有对其形成一个系统的概念,通过对这一部分网课的学习才逐渐把握了微机的结构。

第三章 寻址方式与指令系统

一. 寻址方式

一条指令的构成

· 操作码:规定指令所执行的操作
· 操作数:地址码,直接给出参与运算的操作数或者描述操作数地址信息

· 各指令中提供操作数的方法
	(1)立即数操作数
	(2)寄存器操作数
	(3)存储器操作数
	(4)I/O端口操作数

寻址方式

1.立即数寻址 
	操作数直接存放在指令中,紧跟在操作码之后,作为指令的一部分,存放在代码段里,这种操作数称为立即数。常用来给寄存器或者存储单元赋值。

2.寄存器寻址
	操作数在CPU内部的通用寄存器中,指令中指定寄存器名(机器指令中为寄存器的二进制编号)的寻址方式。

3.直接寻址
	有效地址EA在指令中直接给出,默认段是DS。直接寻址方式用符号或常数来表示。

4.寄存器间接寻址
	操作数有效地址EA直接从基址寄存器或变址寄存器中获得。

5.基址变址寻址
	操作数的有效地址EA等于基址分量或变址分量加上指令中给出的位移量。

6.串操作寻址方式
	· 在寻找源操作数时,隐含使用SI作为地址指针
	· 在寻找目的串时,隐含使用DI作为地址指针

7.I/O端口寻址
	· 存储器编址方法
	· 程序设计灵活,但需要占用存储地址空间
	· I/O编址方法

二. 指令系统

指令的分类

1.传送类指令(将数据信息或地址信息传送到一个寄存器或存储单元中)
(1)通用数据传送指令
	指令格式:MOV DEST,SRC
	注意:MOV指令可以是字节数据传送也可以是字数据传送
(2)交换指令
	指令各式:XCHG DEST,SRC
	作用:源操作数和目的操作数两者内容相互交换
(3)标志传送指令
	I.取标志寄存器指令
		指令格式:LAHF
	II.存储标志寄存器指令
		指令格式:SAHF
	III.标志进栈指令
		指令格式:PUSHF
	IV.标志出栈指令
		指令格式:POPF
(4)地址传送指令(将存储单元的地址送寄存器)
	I.有效地址EA传送指令 LEA
		· 格式: LEA REG, SRC ;
		· 功能:将SRC操作数的有效地址EA送到寄存器REG中
		· 注意:源操作数必须是存储器操作数,而目的操作数必须是16位通用寄存器。该指令不影响标志位
	II.数据段寄存器传送指令 LDS
		· 格式: LDS REG, SRC ;
		· 功能: 从源操作数所指定的存储器单元中取出4个字节的变量地址指 针,把前两个字节(变量的偏移地址)传送到目标操作数,后两个字节(变量的段基址)传送到DS段寄存器中。
		· 注意:变量的16位地址偏移量必须传送至一个16位的通用寄存器,典型为SI。该指令不影响标志位
	III.附加段寄存器传送指令 LES
		· 格式: LES REG, SRC ;
		· 功能: 从源操作数所指定的存储器单元中取出4个字节的变量地址指针,把前两个字节(变量的偏移地址)传送到目的操作数,后两个字节(变量的段基址)传送到ES段寄存器中。

2.算术运算类指令(对字节数据或字数据进行运算)
(1)加法与减法指令
	I.不带进位加法指令 ADD
		· 格式:ADD DST, SRC;
		· 源操作数:通用寄存器、存储器、立即数
		· 目的操作数:通用寄存器、存储器
		· 执行的操作: DST ← DST + SRC
		注意:该指令影响标志位;该指令适合有符号数和无符号数的运算;

	II.带进位加法指令ADC
		· 格式:ADC DST, SRC;
		· 源操作数:通用寄存器、存储器、立即数
		· 目的操作数:通用寄存器、存储器
		· 执行的操作: DST ← DST + SRC + C
		· 功能:主要用于多字节运算
		· 注意:该指令影响标志位;该指令适合有符号数和无符号数的运算;

	III.自增指令INC
		· 格式: INC OPRD
		· 操作数:通用寄存器、存储器 (不能是段寄存器或立即数)
		· 执行的操作: OPRD ←OPRD + 1
		· 功能: 用于在循环中修改地址指针及循环次数等。
		· 注意:该指令影响标志位;该指令将操作数视为无符号数;该指令不影响进位标志C

	IV.不带借位减法指令SUB
		· 格式:SUB DST, SRC
		· 源操作数:通用寄存器、存储器、立即数
		· 目的操作数:通用寄存器、存储器
		· 执行的操作: DST ← DST – SRC
		· 注意:该指令影响标志位;该指令适合有符号数和无符号数的运算;
	V.带借位减法指令SBB
		· 格式: SBB DST, SRC
		· 源操作数:通用寄存器、存储器、立即数
		· 目的操作数:通用寄存器、存储器
		· 执行的操作: DST ←DST - SRC –C
		· 注意:该指令影响标志位;该指令适合有符号数和无符号数的运算;
	VI.自减指令DEC
		· 格式: DEC OPRD
		· 操作数:通用寄存器、存储器 (不能是段寄存器或立即数)
		· 执行的操作: OPRD ←OPRD - 1
		· 功能: 用于在循环中修改地址指针及循环次数等。
		· 注意:该指令影响标志位;该指令将操作数视为无符号数;该指令不影响进位标志C

	VII.取反指令NEG
		· 格式: NEG OPRD
		· 操作数:通用寄存器、存储器
		· 执行的操作: 求补指令,将操作数按位取反后加1,再送回操作数。
		· 具体功能:对正数的补码求补变为其负数的补码;对负数的补码求补变为其正数的补码。
		· 利用NEG指令可以求负数的绝对值。
		· 注意:该指令影响标志位;

3.位操作指令
(1)逻辑运算指令(如图所示)

(2)移位/循环移位指令(如图所示)

4.处理器控制类指令
(1)标志位操作指令
	标志位处理指令可以设置或清除某个指定的标志位,而不影响其他标志位。
(2)与外部事件同步的指令
	HLT:暂停指令
	WAIT:等待指令
	ESC:外部协处理器指令前缀
	LOCK:总线锁定指令

三. 指令编码

汇编语言的格式

1.双操作数指令(两地址指令)
	· 大多数指令需要两个操作数,分别为源操作数和目标操作数,指令运算结果存入目标操作数的地址中,操作数中原有的数据被取代。
	· 注:双操作数指令必有一个操作数存放于寄存器中,不能两个操作数同为存储器操作数。
	· 整个指令编码可以包含4个部分,操作特征、寻址特征、位移量、立即数

2.单操作数指令(一地址指令)
	· 指令中给出的单操作数通常为目标操作数,运算后存放运算结果,另一个操作数由指令隐含指定,在运算前提供。
	· 整个指令编码可以包含3个部分,操作特征、寻址特征、位移量

3.与ax或al有关的指令编码格式

4.其他指令编码格式

第三章总结

通过对第三章内容的学习,我对汇编语言的编码方式以及指令格式有了更深的认识,这一章知识点较多,整理起来也比较花时间。在这一章里,我了解了指令的意义以及一些常见的寻址方式,虽然寻址方式这一块内容在之前的专业课里有所涉及,但没有更深入地去讲,通过微课的学习让我有了一个更深的认识。除此之外,我还学习了很多汇编语言的相关命令,明白了源操作数和目的操作数的区别以及理解了什么情况下使用存储器,什么情况下使用寄存器这一概念。除此之外,我还理解了汇编(用汇编语言编写的源程序在输入计算机后,需要将其翻译成目标程序,计算机才能执行)和汇编程序(完成汇编任务的程序)的区别。这一章里的指令较多,所以还需要通过不断地练习才能掌握这些指令的使用以及标志位的判断方法。

第四章 汇编语言程序格式

一. 汇编语言语句种类及其格式

1.指令语句:计算机中指令系统的各条指令,每条指令语句在汇编时都产生一个供CPU执行的机器目标代码。

2.伪指令语句:指示汇编程序在汇编源程序时完成某些工作,比如完成数据定义、分配存储区、知识程序结束等。

伪指令与指令的主要区别:
	· 伪指令语句经汇编后不产生机器目标代码,而指令语句经汇编后将产生相应的机器目标代码;
	· 伪指令语句所指示的操作实在程序汇编时完成的,而指令语句的操作必须在程序运行时才能完成。

二. 汇编语言数据

1.常数
	· 二进制数:以字母B结尾
	· 八进制数:以字母O或Q结尾
	· 十进制数:以字母D结尾
	· 十六进制数:以字母H结尾
	· 实数
	· 字符串常数:以ASCII码值存储在内存

2.变量(用来表示存放数据的存储单元)
	(1)变量的定义与预置
		变量被定义后,具有了段属性、偏移量属性和类型属性
	(2)变量的使用
		I.在指令语句中引用
			对其存储单元的内容进行存取
		II.在伪指令语句中引用

3.标号(该指令在内存存放地址的符号表示)
	(1)段属性
	(2)偏移量属性
	(3)距离属性(类型属性)

三. 符号定义语句

1.等值语句
(1)一般格式
	·符号名 EQU 表达式
	·左边的符号名代表右边的表达式。
	·注意:等价语句不会给符号名分配存储空间,符号名不能与其它符号同名,也不能被重新定义。

(2)用符号名代表常量或表达式
	· 当把一个常量或表达式定义成一个具有一定含义的符号名后,在程序中就可以用该符号名来代表该常量或表达式。

(3)用符号名代表字符串
	· 用一个具有一定含义的符号名定义某一个较长的字符串,在随后的程序中就用该符号名。

(4)用符号名关键字或指令助忆符
	· 用一个(组)程序员自己习惯的符号名来代替汇编语言中的关键字或指令助忆符。

2.等号语句
	· 汇编语言提供了用等号来定义符号常数的方法,即可用符号名代表一个常数。
	· 其一般格式如下:
		符号名=数值表达式

四. 表达式与运算符

1.算术运算符
	+ , - , x , / , MOD,SHR,SHL
	
2.逻辑运算符
	AND, OR, NOT, XOR

3.关系运算符
	EQ、NE、LT、LE、GT、GE

4.数值返回运算符
	(1)SEG运算符
		取变量或标号所在段的段基值
	(2)OFFSET运算符
		取标量或标号在段内的偏移量
	(3)TYPE运算符
		取变量或标号的类型属性,并用数字形式表示
	(4)LENGTH运算符
		取变量的长度
	(5)SIZE运算符
		只能作用于变量

五. 程序的段结构

段定义伪指令

1.段名
· 用户任意选定,符合标识符规则的一个名称
2.定位类型
3.组合类型

段寻址伪指令

作用:告诉汇编程序,在处理源程序时,定义的段与哪个寄存器关联

六. 标题伪指令

· 语句格式 TITLE 标题名

七. 从程序返回操作系统的方法

1.使用程序段前缀PSP实现返回
2.使用DOS系统功能调用实现返回

第四章总结

通过对第四章内容的学习,我对汇编语言的代码格式有了更深的认识。这一章知识点与上一章一样较多,整理起来也比较花时间。在这一章里,我了解了汇编语言数据的分类,以及一些定义语句的使用。这一章最重要的莫过于是对指令的分析,结合微课视频内容与动手练相结合,让我逐步了解了所学内容。这一章里的语句类型及代码分析较多,所以还需要通过不断地练习才能掌握使用以及判断方法。

学习总结

在学习完四章的微课视频后,我对汇编语言的知识用了更深的理解。汇编语言的学习不仅仅是学习其语法,更多的还是要去学习一些硬件知识,比如计算机的基本体系结构。虽然在这个过程中遇到了很多在之前专业课上了解到的一些概念,例如寄存器,存储器等,在这一次学习中对他们有了一个系统的认识。除此之外,我还掌握了很多汇编语言的语法以及相关的指令格式,理解了逻辑地址和物理地址的转换、指令的含义等知识点。和所有的程序设计语言一样,要学好汇编语言,动手实践是必不可少的环节。虽然基本原理也都看的明白,但是让自己单独分析代码时,却无从下手,自己动手,才会真正发现自己的不足之处。相信在之后的学习中我能够通过理论和实践相结合的方式解决我在学习微课时遇到的困难,相信在网络攻防课上打下坚实的汇编知识基础。
posted @ 2022-03-13 11:13  任文朗  阅读(198)  评论(0编辑  收藏  举报