8086  CPU 中寄存器总共为 14 个,且均为 16 位 。

即 AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES 共 14 个。

而这 14 个寄存器按照一定方式又分为了通用寄存器,控制寄存器和段寄存器。

通用寄存器:

AX,BX,CX,DX 称作为数据寄存器:

AX (Accumulator):累加寄存器,也称之为累加器;

BX (Base):基地址寄存器;

CX (Count):计数器寄存器;

DX (Data):数据寄存器;

SP 和 BP 又称作为指针寄存器:

SP (Stack Pointer):堆栈指针寄存器;

BP (Base Pointer):基指针寄存器;

SI 和 DI 又称作为变址寄存器:

SI (Source Index):源变址寄存器;

DI (Destination Index):目的变址寄存器;

控制寄存器:

IP (Instruction Pointer):指令指针寄存器;

FLAG:标志寄存器;

段寄存器:

CS (Code Segment):代码段寄存器;

DS (Data Segment):数据段寄存器;

SS (Stack Segment):堆栈段寄存器;

ES (Extra Segment):附加段寄存器;

           

           

通用寄存器

从上面可以知道,在 8086 CPU 中,通用寄存器有 8 个,分别是 AX,BX,CX,DX,SP,BP,SI,DI ,

至于为什么给它们取名做通用寄存器,那是因为,这些个寄存器每一个都有自己专门的用途,

比如 CX 作为计数寄存器,则是在使用 LOOP 指令循环时用来指定循环次数的寄存器,

如果它们每一个都只有一个专用的作用,那就它们只能称之为专用寄存器了,

正是因为这些个寄存器还可以用来传送数据和暂存数据,所以才称它们为通用寄存器 。

下面就按顺序来一一介绍这几个通用寄存器了:

数据寄存器(AX,BX,CX,DX):

数据寄存器有 AX,BX,CX,DX 四个组成,

由于在 8086 之前的 CPU 为 8 位 CPU,所以为了兼容以前的 8 位程序,

在 8086 CPU 中,每一个数据寄存器都可以当做两个单独的寄存器来使用,

由此,每一个 16 位寄存器就可以当做 2 个独立的 8 位寄存器来使用了 。

AX 寄存器可以分为两个独立的 8 位的 AH 和 AL 寄存器;

BX 寄存器可以分为两个独立的 8 位的 BH 和 BL 寄存器;

CX 寄存器可以分为两个独立的 8 位的 CH 和 CL 寄存器;

DX 寄存器可以分为两个独立的 8 位的 DH 和 DL 寄存器;

除了上面 4 个数据寄存器以外,其他寄存器均不可以分为两个独立的 8 位寄存器 ;

注意在上面标志中的“独立”二字,这两个字表明 AH 和 AL 作为 8 位寄存器使用时,

可以看做它们是互不相关的,也就是看做两个完全没有联系的寄存器 X 和 Y 即可,

比如指令   MOV   AH , 12H ,CPU 在执行时根本就不会知道 AL 中是什么鬼东西,因为它只认识  AH 。

8086 CPU 寄存器简介相关推荐

  1. 8086芯片寄存器简介

    8086芯片寄存器简介 通用寄存器: 数据寄存器: AX (Accumulator):累加寄存器 BX (Base):基地址寄存器 CX (Count):计数器寄存器 DX (Data):数据寄存器 ...

  2. 计算机组成原理——8086 CPU寄存器

    本篇文章转载自 https://www.cnblogs.com/BoyXiao/archive/2010/11/20/1882716.html 结合文章做了一些小修改,使文章更完整. 1 总线 只是想 ...

  3. 8086寄存器简介 (转载从 博客园-首页原创精华区 作者:Zachary.XiaoZhen)

    引子 打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些基础知识, 自然,还是得从最基础的开始,那就从汇编语言开刀吧, 从汇编语言开刀的话,我们必须还先要了解一些其他东西, 像  CPU ...

  4. 8086汇编寄存器及指令汇总

    1   寄存器的分类 通用寄存器: ax,bx,cx,dx,(ah,al,bh,bl,ch,cl,dh,dl): sp,bp,si,di 指令寄存器: ip 标志寄存器: FR 段寄存器: cs,ds ...

  5. 8086/8088 CPU寄存器组

    作者:黑剑  出处:http://www.cnblogs.com/blacksword/ 8086/8088 CPU寄存器组 今天来回顾一下8086/8088 CPU寄存器组的知识.其实8086汇编还 ...

  6. 1507_FUSA_单片机的安全测试有哪些常见的测试项以及CPU寄存器测试和PC计数器测试的简介

    全部学习汇总: GitHub - GreyZhang/g_FUSA: some learning notes about function safety. Inlcude both ISO26262 ...

  7. Intel X86 CPU寄存器学习笔记

    本文对Intel CPU寄存器做一些浅显的介绍.Intel处理器寄存器在很多教科书上有,网络也有很多文章涉及到.因此本文在这些基础上做一些归纳总结,另外也参考了Intel IA32架构软件开发手册. ...

  8. 8086 CPU 内部结构

    [原文链接 -- SevenOne'Blog](http://www.my71.fun/2022/03/24/汇编语言/07-8086 CPU 结构/) 8086 CPU 内部结构 分类 结构可以分为 ...

  9. 通过 RDTSC 指令从 CPU 寄存器中直接获取系统时钟

    很多时候我们使用函数 gettimeofday 以及 clock_gettime 作为我们获取 wall lock的时钟函数. 因为这两种函数是 glibc 提供的用户封装,简单易用,而且能够精确到 ...

最新文章

  1. 不同的二叉搜索树-战胜100%的Java用户
  2. 回溯法-框架+全排列+N皇后
  3. linux diff命令_Linux diff命令示例
  4. 第二十八章 springboot + zipkin(brave定制-AsyncHttpClient)
  5. HDU 2647 Reward (拓扑排序)
  6. java例程练习(一维数组)
  7. android size_t在哪个头文件,size_t
  8. linux找出重复数字,C语言笔试经典-查找多位数重复数字以及次数
  9. erp采购总监个人总结_2018计划工作年终总结和2019目标:助理版、经理版、总监版(二)...
  10. spring cloud之Feign的使用
  11. 一文详解LDA主题模型
  12. 如何将远程服务器MYSQL数据库导出导入
  13. ios 给网页传值_iOS开发—页面传值汇总
  14. 利用google网管工具,快速诊断网站(一)
  15. 资源分享 | 敬伟 PS 教程 ABCD 四套全集
  16. 基于微信预约挂号小程序毕业设计毕设作品(6)开题答辩PPT
  17. linux opencv调用笔记本摄像头,Linux下利用Opencv打开笔记本摄像头问题
  18. 大一计算机专业选修课,大学计算机类开什么公选课好?
  19. 用卡尔曼滤波器跟踪导弹(量测更新频率与时间更新频率不相等)
  20. DJ2-2 进程管理

热门文章

  1. fast rcnn,faster rcnn使用cudann加速问题
  2. 未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker...
  3. (NO.00003)iOS游戏简单的机器人投射游戏成形记(十二)
  4. chcon命令 selinux 配置等
  5. SQLite.NET提供程序的选择
  6. C++基础知识(二)--左值右值--逻辑表达式求值优化--逗号运算符与表示式--输入输出格式控制...
  7. Ubuntu下Postgres安装与配置
  8. 2019最具特色的web前端技术分享
  9. 使用Innobackupex快速搭建(修复)MySQL主从架构
  10. 单引号、双引号 转义符