加入收藏 | 设为首页 | 会员中心 | 我要投稿 漯河站长网 (https://www.0395zz.cn/)- 云服务器、混合云存储、网络、内容创作、云渲染!
当前位置: 首页 > 站长资讯 > 动态 > 正文

推动业务转型的新引擎

发布时间:2021-02-09 12:37:05 所属栏目:动态 来源:互联网
导读:寄存器的存储方式是先存储低位,如果低位满足不了就存储高位,如果低位能够满足,高位用 0 补全,在其他低位能满足的情况下,其余位也用 0 补全。 8086 CPU 可以一次存储两种类型的数据 字节(byte):一个字节由 8 bit 组成,这是一种恒定不变的存储方式 字(w

寄存器的存储方式是先存储低位,如果低位满足不了就存储高位,如果低位能够满足,高位用 0 补全,在其他低位能满足的情况下,其余位也用 0 补全。

8086 CPU 可以一次存储两种类型的数据

  • 字节(byte):一个字节由 8 bit 组成,这是一种恒定不变的存储方式
  • 字(word):字是由指令集或处理器硬件作为单元处理的固定大小的数据,对于 intel 来说,一个字长就是两个字节,字是计算机一个非常重要的特征,针对不同的指令集架构来说,计算机一次处理的数据也是不同的。也就是说,针对不同指令集的机器,一次能处理不用的字长,有字、双字(32位)、四字(64位)等。

AX 寄存器

我们上面探讨过,AX 的另外一个名字叫做累加寄存器或者简称为累加器,其可以分为 2 个独立的 8 位寄存器 AH 和 AL;在编写汇编程序中,AX 寄存器可以说是使用频率最高的寄存器。

下面是几段汇编代码
 

086 CPU 的上一代寄存器是 8080 ,它是一类 8 位的 CPU,为了保证兼容性,8086 在 8080 上做了很小的修改,8086 中的通用寄存器 AX、BX、CX、DX 都可以独立使用两个 8 位寄存器来使用。

在细节方面,AX、BX、CX、DX 可以再向下进行划分

  • AX(Accumulator Register) :累加寄存器,它主要用于输入/输出和大规模的指令运算。
  • BX(Base Register):基址寄存器,用来存储基础访问地址
  • CX(Count Register):计数寄存器,CX 寄存器在迭代的操作中会循环计数
  • DX(data Register):数据寄存器,它也用于输入/输出操作。它还与 AX 寄存器以及 DX 一起使用,用于涉及大数值的乘法和除法运算。

这四种寄存器可以分为上半部分和下半部分,用作八个 8 位数据寄存器

  • 「AX 寄存器可以分为两个独立的 8 位的 AH 和 AL 寄存器;」
  • 「BX 寄存器可以分为两个独立的 8 位的 BH 和 BL 寄存器;」
  • 「CX 寄存器可以分为两个独立的 8 位的 CH 和 CL 寄存器;」
  • 「DX 寄存器可以分为两个独立的 8 位的 DH 和 DL 寄存器;」

除了上面 AX、BX、CX、DX 寄存器以外,其他寄存器均不可以分为两个独立的 8 位寄存器

如下图所示。
 

我们以 intel 8086 处理器为例来进行探讨,8086 处理器是 x86 架构的前身。在 8086 后面又衍生出来了 8088 。

在 8086 CPU 中,地址总线达到 20 根,因此最大寻址能力是 2^20 次幂也就是 1MB 的寻址能力,8088 也是如此。

在 8086 架构中,所有的内部寄存器、内部以及外部总线都是 16 位宽,可以存储两个字节,因为是完全的 16 位微处理器。8086 处理器有 14 个寄存器,每个寄存器都有一个特有的名称,即

「AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES」

这 14 个寄存器有可能进行具体的划分,按照功能可以分为三种

  • 通用寄存器
  • 控制寄存器
  • 段寄存器

下面我们分别介绍一下这几种寄存器

通用寄存器

通用寄存器主要有四种 ,即 「AX、BX、CX、DX」 同样的,这四个寄存器也是 16 位的,能存放两个字节。AX、BX、CX、DX 这四个寄存器一般用来存放数据,也被称为 数据寄存器。它们的结构如下

(编辑:漯河站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读