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

  • 相关阅读:
    SQL Azure (17) SQL Azure V12
    Microsoft Azure News(5) Azure新DV2系列虚拟机上线
    Azure Redis Cache (3) 在Windows 环境下使用Redis Benchmark
    Azure PowerShell (11) 使用自定义虚拟机镜像模板,创建Azure虚拟机并绑定公网IP(VIP)和内网IP(DIP)
    Windows Azure Virtual Machine (31) 迁移Azure虚拟机
    Windows Azure Web Site (16) Azure Web Site HTTPS
    Azure China (12) 域名备案问题
    一分钟快速入门openstack
    管理员必备的Linux系统监控工具
    Keepalived+Nginx实现高可用和双主节点负载均衡
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860913.html
Copyright © 2011-2022 走看看