《汇编、C语言基础教程》第二章 汇编基础2.2 寄存器 博客
  • 滴水逆向 等级 N0
    2018-11-26 10:36

    2.2 寄存器

    本节只需要了解

    处理器(CPU)由运算器、控制器、寄存器、输入设备和输出设备组成,这些器件由处理数据总线相连。【此节内容是为了了解寄存器相关知识,不需要掌握】

    它们在处理器中,分工明确:

    运算器:进行数据的处理。

    寄存器:进行数据的存储。

    控制器:控制各种器件工作。

    输入设备:将人们熟悉的信息形式转化为机器能识别的信息形式,如键盘、鼠标等。

    输出设备:将计算机运算的结果转化为人们熟悉的信息形式,如显示器、打印机等。

    处理数据总线:连接各种器件,使各个器件进行数据的传送。

    2.2.1【简单介绍寄存器在处理器中是怎么工作的】

    通过图2-2-1我们来简单了解,处理器的底部和四周有大量的引脚,可以接受外界发来传送的电信号。每个引脚都有自己的用处。有些引脚用来将参与运算的数字输送到处理器内部,有些引脚可以重复使用的。

    假如要进行加法运算,这些引脚将依次把加数和被加数送入处理器,处理器一旦接受信号,将会以二进制数组成的电信号反应在引脚相连的内部线路上,是一组高低电平的组合,代表着二进制数的每一位,此时必须用寄存器(Register)(是双向器件)的暂时存储,之所以这样做,是因为相同的引脚和线路马上要输入被加数,重复之  图2-2-1

    前的工作,也正因为这个原因,这些内部线路称为处理数据总线。它们之间通过控制器(图中没有画)发出指令,控制各个器件在某个正确的时间做某个动作。

    图2-2-1寄存器(Register A)和寄存器(Register B)将分别参与运算,假设寄存器(Register A)暂时存储的是加数,寄存器(Register B)暂时存储的是被加数。此时寄存器(Register A)和寄存器(Register B)都暂时存储了数据,将不再受外部数据的影响。运算逻辑部件输出结果,结果被输送到寄存器(Register C),通过数据总线输送到处理器外面,或再次送入到寄存器(Register A)和寄存器(Register B)参与运算。                 

    2.2.2【处理器中有多少寄存器】

          不同的处理器,寄存器的个数、结构是不同的。【简单介绍寄存器,详细内容请参考Intel白皮书】

    16位处理器有14个寄存器,每个寄存器有各自的名字。

    14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。

    32位处理器有16个寄存器,每个寄存器有各自的名字。

    16个寄存器:EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP、ES、CS、SS、DS、FS、GS、EIP、EFLAGS。

    64位处理器有16个寄存器,每个寄存器有各自的名字。

    16个寄存器:RAX、RBX、RCX、RDX、RSI、RDI、RBP、RSP、CS、DS、ES、SS、FS、GS、RIP、RFLAGS。

    我们不对这些寄存器进行一次性的介绍,在下面的章节中,需要用到32位处理器的通用寄存器。

     

    u下一节介绍32位处理器中通用寄存器。


  • 浏览 46
  • 点赞 0
  • 收藏 1
  • 分享 0
  • 查看云盘地址请登录
  • 点赞 已赞 收藏 已收藏
评论
    页 到
    talk top
    展开
    >