有关《汇编语言》

 

一、基础知识

  • 存储器被划分为若干个存储单元,每个存储单元从0开始编号
  • 计算机的最小信息单位是bit(比特),也就是一个二进制位。8个bit组成一个Byte(字节)。微型机存储器的存储单元可以存储一个Byte。
  • 微机存储器的容量是以Byte(字节)为最小单位来计算的,即一个存储器有128个存储单元则容量为128个Byte(字节)。也可以用其他单位来计算容量       
  • 1KB=1024B=2^10B      1MB=1024KB       1GB=1024MB         1TB=1024GB  
  • 一个CPU有N个地址总线则称它的宽度为N,最多可以查找2的N次方个存储单元,地址总线的宽度决定了CPU的寻址能力
  • 数据总线的宽度决定了CPU与其它器件进行数据传输时的一次数据传输量,存储字长 = 数据线根数
  • 控制总线的宽度决定了CPU对系统中其它器件的控制能力

存储单元 :CPU访问存储器的最小单位,每个存储单元都有一个地址。

存储字长 :存储器中一个存储单元(存储地址)所存储的二进制代码的位数。

存储容量 :存储容量是指主存能存放二进制代码的总位数

存储器容量计算公式:

   按位计算 (b)   :        存储容量 = 存储单元个数 x 存储字长

   按字节计算(B):        存储容量 = 存储单元个数 x 存储字长 / 8

 

例题:一个存储器有16根地址线,8根数据线,求此存储器存储容量?

答:按位求取  2^16 x 8位 =64K x 8位 

      按字节求取   2^16 x 8位/8 = 64K x B = 64kB

分析:

存储单元与地址线的关系:  我们知道CPU访问存储器的最小单位是存储单元且每个存储单元都有一个地址,1 根地址线可以查找 2 个地址既2个存储单元,16根地址线则可以查找 2^16个存储单元。

存储字长与数据线的关系 :  我们知道存储字长是指存储器中一个存储单元(存储地址)所存储的二进制代码的位数,而二进制代码的位数是由数据线的根数决定的,也就是说: 存储字长 = 数据线根数

字节(B)与位(b)的关系  :    计算机里规定 1Byte = 8bit

所以存储器容量就有;两种表示方法 64K x 8位 = 64KB

我们常见的内存容量表示方法 是以字节为单位的。例如 1GB  ,4MB, 512KB

1GB = 10^3MB =10^6KB = 10^9B = 10^9 x 8b 

转自https://blog.****.net/dingjiawang6/article/details/72860759

 

二、寄存器

  • AX、BX、CX、Dx这四个16位寄存器用来存放一般性的数据,称为通用寄存器,且可以分为独立的两个8位寄存器使用,如AX分为AH和AL。有关《汇编语言》
  • 一个字节Byte由8个bit组成,一个字Word由两个字节组成,即16bit
  • 有关《汇编语言》
  • 物理地址=段地址x16+偏移地址   (x16就是左移四位)

有关《汇编语言》

  • 这里通过一个例题来理解一下物理地址的计算

给定地址段为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为____到____

此题解题背景默认为8080型CPU,地址总线为16根。(8080-16,8086-20,8088-20,80286-24,80386-32)

16根地址总线寻址能力:(2 ** 16) / 1024 = 65536(B) = 64(KB), 可以表示的存储单元个数为 0 ~ 2^n-1 个, 即 0 ~ 65535。

这里的 65535 为十进制数,转换为十六进制数为 0xffff (或 ffffH)

再来看CPU内存单元物理地址的划分方法:基础地址(段地址[SA] X 16)+ 偏移地址[EA] = 物理地址

此题中已经假设地址总线为16位,所以偏移地址变化范围是 0 ~ 65535,即 0000H ~ FFFFH

因为给定段地址为0001H,则CPU的寻址范围 (0001H×16 + 0000H )~ (0001H *16+ FFFFH ),

0001H * 16 为 0001H 左移一位,即 0010H,0010H + 0000H = 0010H, 0010H +FFFFH= 1000FH。

所以 CPU 寻址范围为 0010H 到 1000FH。

  • CS:代码段寄存器          IP:指令指针寄存器
  • 8086PC机中设CS内容为M,IP内容为N,CPU将从内存M×16+N取指令开始执行指令有关《汇编语言》
  • 修改CS和IP的内容   

有关《汇编语言》

有关《汇编语言》