【书籍学习】汇编语言学习-第二章

第二章 寄存器

2.1、通用寄存器

  Cpu概述

       一个典型的cpu由运算器、控制器、寄存器等器件组成。这些器件靠内部总线相连。

     内部总线和外部总线的区别:

           内部总线实现cpu内部各个器件之间的联系。

           外部总线实现cpu和主板上其他器件的联系

           8086cpu有14个寄存器 名称为AX、BX、CX、DX、SI、DI、BP、IP、CS、SS、DS、ES、PSW

           8个通用寄存器

           8086cpu所有的寄存器都是16位的。可以存放两个字节。

           AX、Bx、CX、DX通常从来存放一般性的数据被称为通用寄存器

           8086上一代cpu中寄存器都是8位的

           AX可以分为AH(高位)和AL(低位)

           AX的低8位(0-7位)构成了AL寄存器

           AX的高8位(8-15位)构成了AH寄存器

           AL和AH寄存器是可以独立使用的8位寄存器

          

2.2、字在寄存器中的存储

       一个字可以存在一个16位寄存器中,这个字的高位字节和低位字节自然就存在这个寄存器的高8位寄存器和低8位寄存器中。

       注意:

2.3.、几条汇编指令

       汇编指令不区分大小写

       Mov ax 18 ---将18送入寄存器AX     --- AX =  18

       Mov ah 78 ---将78送入寄存器Ah     --- AH = 78

      

2.4、物理地址

       Cpu访问内存单元时要给出内存单元的地址,所有的内存单元构成的存储空间是一个一维的线性空间。每一个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址称为物理地址。

       Cpu通过地址总线送入存储器的,必须是一个内存单元的物理地址。在cpu向地址总线发出物理地址之前,必须要内部形成这个物理地址,不同的cpu可以有不同的形成物理地址的方式。

2.5、16位结构cpu

概述的讲。16位结构描述了一个cpu具有以下几个方面特性

  1. 运算器一次最多可以处理16位的数据
  2. 寄存器的最大宽度为16位
  3. 寄存器和运算器之间的通路是16位的

2.6、8086cpu给出物理地址的方法

8086有20位地址总线,可传送20位地址,寻址能力为1M

8086内部为16为结构,他只能传送16位的地址 表现出的寻址能力确只有64k

2.7、段地址*16+偏移地址=物理地址的本质含义

   本质含义:cpu在访问内存时,用一个基础地址(段地址*16)和一个相对基础的偏移地址相加,给出内存单元的物理地址。

那就存在一个问题 内部与外部寻址能力差距较大 怎么去解决的?

   

地址加法器合成物理地址的方法

  物理地址=段地址*16+偏移地址

2.8、段的概念

       段寄存器就是提供地址的

       8086cpu有4个段寄存器

           CS、DS、SS、ES、

       当8086cpu要访问内存时,由这4个段寄存器提供内存单元的短地址

       CS和Ip是8086cpu中最关键的寄存器

       他们指示了cpu当前要读取指令的地址

       CS为代码段寄存器

       Ip为指令段寄存器

  1. 从CS ip指向内存单元读取指令,读取的指令进入指令缓冲器
  2. Ip=ip+所读取指令的长度 从而指向下一条指令
  3. 执行指令 转到步骤1 重复这个过程

 

内存单元小结:

   Cpu访问内存单元时,必须向内存提供单元的物理地址。8086cpu在内部使用段地址和偏移地址移位相加的方法形成最终的物理地址。

Cpu可以使用的不同的端地址和偏移地址形成同一个物理地址。

2.9、段寄存器

       段地址在8086寄存器中存放,8086cpu有4个段寄存器 CS DS SS ES

2.10、CS和Ip

       CS和ip是8086cpu中两个最关键的寄存器,他们指示了cpu当前要读取指令的地址,CS是代码段寄存器,IP为指令指针寄存器

猜你喜欢

转载自blog.csdn.net/jia970426/article/details/82991283