zoukankan      html  css  js  c++  java
  • 【书籍学习】汇编语言学习-第二章

    第二章 寄存器

    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为指令指针寄存器

  • 相关阅读:
    extjs4 tree 父子节点联级勾选,半选节点半透明处理
    回调函数设计及应用(Java)——分组模式设计
    未来发展方向
    博客园网摘chrome插件源码分析
    apue2 阅读笔记第11章
    apue2 阅读笔记第八章
    APUE阅读笔记第十五章(第一部分)
    一个常用的vimrc
    apue2 阅读笔记第12章
    APUE阅读笔记第十四章(第二部分)
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860913.html
Copyright © 2011-2022 走看看