zoukankan      html  css  js  c++  java
  • 第二章 寄存器

    1.一个典型的CPU由运算器,控制器,寄存器(CPU工作原理)等器件构成,这些器件靠内部总线相连。

    2.不同的CPU,寄存器的个数,结构是不相同的。8086CPU有14个寄存器:

    AX,BX,CX,DX(通用寄存器),SI,DI,SP,BP(基址和变址寄存器),CS,SS,DS,ES(段寄存器),IP,FR(指令指针和标志寄存器)

    AX:Accumlator Register

    BX:Base Register

    CX:Count Register

    DX:Data Register

    CS:Code Segment Register

    IP:Instruction Pointer Register

    术语:

    CPU字长:CPU在单位时间内能一次处理的二进制位数,该指标反映出CPU内部运算处理的速度

    x位CPU:    用字长来描述CPU

    位宽:       CPU通过外部数据总线与内存之间一次能够传送的数据位。

    ISA: 一个处理器支持的指令和指令的字节级编码称为它的ISA。

    Intel指令集为IA32指令集,俗称x86,这个系列也俗称x86系列。

    不同类型的CPU的差异:

    1.处理的字长不同,速度不同

    2.工作模式

    3.指令集的丰富程度

    2.1 通用寄存器

    8086CPU中,寄存器AX,BX,CX,DX通常用于存放一般性数据,称为通用寄存器。每个寄存器均为16位。

    为了兼容,均可拆成两个8位寄存器使用   H   L

    2.2 字在寄存器中的存储

    字节(byte):由8个bit组成,可以存在8位寄存器中

    字:由两个字节组成,高位和低位

    为了区分不同的进制,在十六进制表示的数据后面加H,在二进制表示的数据后面加B,十进制表示的数据后面什么也不加

    2.3 几条汇编指令

    mov,add

    指令注意事项:

    1.两个操作对象的位数应一致

    2.运算时超出寄存器表示的位数的情形

    注意:超出后并非存在H 里,AL,AH各自作为独立的寄存器使用

    8086给出物理地址的方法

    物理地址:所有的内存单元构成的存储空间是一个唯一的一维的线性空间,每一个内存单元在这个空间中都有一个唯一的地址,即物理地址

    8086内部存储器16位,外部地址总线宽20位,需要采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址

    地址加法器采用物理地址=段地址*16+偏移地址的方法合成物理地址

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

    CS为代码段寄存器,IP为指令指针寄存器。

    8086CPU工作过程简要描述如下:

    (1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;

    (2)IP=IP+所读取指令的长度,从而指向下一条指令;

    (3)执行指令。转到步骤(1),重复此过程

    CPU将CS:IP指向的内存单元中的内容看作指令

    mov指令不能用于设置CS,IP的值,能够改变CS,IP的内容的指令统称为转移指令。jmp指令为其中一个

    jmp 段地址:偏移地址

    jmp 某一合法寄存器   的功能为:用寄存器中的值修改IP

    jum ax,在含义上好似:move IP,ax

  • 相关阅读:
    解题报告:hdu1008 Elvator
    解题报告:hdu1003 Max Sum
    解题报告:hdu 1005 number subsequent
    矩阵快速幂
    初步
    学习笔记:矩阵的基本运算的实现
    解题报告:hdu1284 钱币兑换问题
    解题报告:hdu2191汶川地震
    解题报告:hdu1248寒冰王座
    解题报告:hdu2602 Bone collector 01背包模板
  • 原文地址:https://www.cnblogs.com/wtblogwt/p/9695474.html
Copyright © 2011-2022 走看看