汇编语言 笔记

2022/6/17 1:22:45

本文主要是介绍汇编语言 笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第一章:

存储器:CPU想要工作,必须向它提供指令和数据才行,而指令和数据,都放在存储器中。

存储单元:一个存储器可以被划分为若干个存储单元,每个存储单元从0开始编号,这个编号可以看作存储单元的地址,CPU通过这个编号来找到它。每个存储单元可以存储8个二进制即8个bit,也就是一个存储单元可以存储一个字节的数据。

总线:CPU通过导线和外界部件通信相连,统称为总线。总线分为三类:地址总线,数据总线,控制总线。

地址总线:CPU通过地址总线,来对存储单元进行寻址。如果一个CPU有N根地址线,则它的地址总线的宽度为N,可以寻找2的N次方个存储单元(因为每根线可以传输两种状态:高电平或低电平,也就是1或0,这样的话,N根线能表示的最小数是0,最大数是2的N次方-1)

数据总线:CPU和其他器件传输数据的通道。数据总线的宽度决定了CPU和外界的传输速度。8根数据总线一次可以传递8个二进制数据(一个字节),16根可以一次性传输2个字节。

控制总线:控制总线是个统称,由不同的控制线组成。每个控制线代表一种控制,譬如读取,写入等,分别由不同的控制线来控制。

内存地址空间:在计算机中,所有设备的存储器的存储单元,都在一个统一的逻辑存储器中(虽然设备是独立的,但是对于CPU来说,这些存储器它们其实算是一个统一的整体,只不过每个设备,拥有单独的地址区间,向这个地址区间内读写,就相当于对这个设备进行读写),这个逻辑存储器就是内存地址空间,内存地址空间的大小,受到CPU地址总线的限制。假设CPU的地址总线宽度为10,它的寻址范围是0--2的10次方-1,共1024个存储单元(2的10次方),那么这1024个可寻到的空间就是内存地址空间。(1024是地址总线宽度为10时的上限大小,也就是它最多能找到1024个,多了也找不到。譬如32位系统,最多支持4G内存,查了内存条也没用,识别不了)

第二章:

寄存器:一个典型的CPU由运算器,寄存器,控制器等组成,这些器件靠CPU内部总线连接,寄存器就是用来进行信息存储的。

通用寄存器:8086CPU的寄存器是16位的,可以存放两个字节。AX,BX,CX,DX这四个寄存器存放一般性的数据,称为通用寄存器。一个16位的寄存器,又可以分成两个8位的寄存器,如AX,其中低8位:0-7位构成了AL寄存器;高8位:8-15 构成了AH寄存器。

img

下图中,AX存放了0100111000100000,代表了十进制的20000,AH中存放了20000的高8位,AL存放了它的低8位。如果把AX当成两个8位寄存器来看待,则AH就可以表示一个78的十进制数,AL表示一个32的十进制数。

img

物理地址:CPU要访问内存单元,必须知道内存单元的地址,所有的内存单元组成的存储空间是一个一维的线性空间(把所有存储器看成一个逻辑整体),每一个内存单元都有唯一的地址,称为物理地址。CPU访问内存单元前,必须要先形成一个物理地址,才能放到地址总线上发送出去。

16位CPU:运算器一次性最多处理16位数据;寄存器的最大宽度是16位;寄存器和运算器的通路是16位;这样的话,16位CPU一次能够处理,存储,传输的信息的最大长度是16位的。



这篇关于汇编语言 笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程