8086/8088微处理器【微机原理】2

简介: 8086/8088微处理器【微机原理】2

3.2.2 8086/8088寄存器结构



1、通用寄存器

1)数据寄存器 AX、BX、CX、DX

上述4个寄存器一般用来存放数据,但它们各自都有自己的特定用途:
AX(Accumulator)称为累加器。

BX(Base)称为基址寄存器。

CX(Counter)称为计数器。

DX(Data)称为数据寄存器。

2)地址寄存器 SP、BP

SP(Stack Pointer)称为堆栈指针寄存器。

BP(Base Pointer)称为基址寄存器。

3)变址寄存器SI、DI

SI(Source Index)称为源变址寄存器。

DI(Destination Index)称为目的变址寄存器。

2、段寄存器

80861808的4个段寄存器分别为:

CS(Code Segment)称为代码段寄存器,

DS(Data Segment)称为数据段寄存器,

SS(Stack Segmen)称为堆栈段寄存器,

ES(Extra Segment)称为附加数据段寄存器,

在8086/8088系统中,段寄存器和与其对应的存放段内偏移地址的寄存器之间有一种默认组合关系,如表3.2所示。

表3.2 8086/8088段寄存器与提供段内偏移地址的寄存器之间的默认组合
段寄存器 提供段内偏移地址的寄存器
CS IP
DS BX、SI、DI或一个16位立即数形式的偏移地址
SS SP或BP
ES DI(用于字符串操作指令)

在这种默认组合下,指令中不必专门指定其组合关系,但指令如用到非默认的组合关系,则必须用段超越前缀加以说明。这一点将在第4章中说明。

3、控制寄存器

IP

IP(Instruction Pointer)称为指令指针寄存器

FLAGS

FLAGS称为标志寄存器

1)状态标志位

下面分别介绍这6个状态标志位的功能。
CF(Carry Flag)——进位标志位。

PF(Parity Flag)——奇偶标志位。

AF(Auxiliary Flag)——辅助进位标志位。

ZF(Zero Flag) ——零标志位。

OF(Overflow Flag 溢出标志位。

2)控制标志位

它们是:

TF(Thap Flag)——跟踪(陷阱)标志位。

IF(Interrupt Flag)——中断允许标志位。

DF(Direction Flag)——方向标志位。

注意:有关寄存器,尤其是在存储器寻址时用来存放操作数在段内偏移地址的地址寄

存器和标志寄存器中各控制标志位的使用方法,在后续章节中涉及时还将进一步详细介绍,请读者务必熟练掌握。

总结

                            |—AX

                            |—BX

                  |–数据寄存器------|

                  |         |—CX

                  |         |—DX

                  |

                  |        |—SP

          |–通用寄存器------|–地址寄存器------|

          |         |         |—BP

          |         |

          |            |           |—SI

          |         |–变址寄存器------|

          |                |—DI

          |

          |      |—CS

          |      |—DS

8086/8088寄存器结构----|–段寄存器–|

          |      |—SS

          |      |—ES

          |

          |         |—IP              |—CF

          |–控制寄存器------|             |—PF

                  |       |–状态标志位------|—AF

                  |       |         |—ZF

                  |       |            |—OF

                  |–FLAGS—|

                          |        |—TF

                        |–控制标志位-------|—IF

                                 |—DF

                             |—AX
                                       |—BX
                        |–数据寄存器------|
                        |            |—CX
                        |              |—DX
                        | 
                        |            |—SP
           |–通用寄存器------|–地址寄存器------| 
           |            |              |—BP
           |              | 
           |                |              |—SI
           |            |–变址寄存器------|
           |                           |—DI
           | 
           |              |—CS
           |              |—DS
8086/8088寄存器结构----|–段寄存器–| 
           |              |—SS
           |              |—ES
           |
           |             |—IP                    |—CF
           |–控制寄存器------|                    |—PF
                        |       |–状态标志位------|—AF
                        |       |              |—ZF
                        |       |              |—OF
                        |–FLAGS—| 
                                |             |—TF
                              |–控制标志位-------|—IF
                                                    |—DF

3.2.3 总线周期的概念

为了便于对808618088 CPU引脚功能进行说明,本节简要介绍总线周期的概念。
8688 PU在与存储器或IO端口交换数据时需要启动一个总线周期。按照数据 er 传送方向来分,总线周期可分为“读”总线周期(CPU从存储器或I/O端口读取数据)和“E 总线周期(CPU将数据写入存储器或I/O端口)。


8086/8088 CPU基本的总线周期由4个时钟周期组成,如图3.6所示。



时钟周期是CPU的基本时间计量单位,由CPU主频决定,如8086的主频为5MHz,

1个时钟周期就是200ns。1个时钟周期又称为1个T状态,因此基本总线周期可用T1、T2、T3、T4表示。图3.6(a)给出典型的总线周期波形图。在T1状态CPU把要读/写的存储单元的地址或10端口的地址放到地址总线上。若是“读”总线周期,CPU从T3起到T4从总线上接收数据,在T2状态时总线浮空,允许CPU有一个缓冲时间以把输出地址的写方式转换成给入数据的读方式:若是“写”总线周期,CPU则从T2起到T4,把数据送到总线上,并写入存储器单元或IO端口。


图3.6(b)是具有空闲状态的总线周期。如果在一个总线周期之后不立即执行下一个总线周期,即CPU此时执行的指令不需要对存储器或I/O端口进行访问,且目前指令队列满而不需要到内存中读指令,那么系统总线就处于空闲状态,即执行空闲周期。在空闲周期中可包括一个或多个时钟周期,在此期间,在高4位的总线上,CPU仍驱动前一个总线周期的状态信息:而在低16位的总线上,则根据前一个总线周期是读还是写周期来决定。若前个周期为写周期,CPU会在总线的低16位继续驱动数据信息:若前一个总线周期为读周期,CPU则使总线的低16位处于浮空状态。在空闲周期,尽管CPU对总线进行空操作,但在CPU内部,仍然进行着有效的操作,如执行某个运算、在内部寄存器之间传送数据等。


图3.6(c )是具有等待状态的总线周期。在T状态结束之前,CPU测试READY信号线,

如果为有效的高电平,则说明数据已准备好,可进入T状态;若READY为低电平,则说明数据没有准备好,CPU在T,之后插入1个或多个等待周期Tw。直到检测到READY为有效高电平后,CPU会自动脱离Tw而进入T,状态。这种延长总线周期的措施允许系统使用低速的存储器芯片。

3.2.4 8086/8088引脚及其功能

8086/8088 CPU外部都采用40引脚双列直插式封装,如图3.7所示。



相关文章
|
人工智能 自然语言处理 大数据
阿里云百炼,带你搭建外贸图片翻译助手智能体 从阿里云OpenAPI导入机器翻译API,实现OpenAPI自定义MCP
阿里云提供一站式内容本地化解决方案,涵盖图文视频多模态翻译。通过机器翻译、图片诊断、标题优化等API,助力跨境电商高效实现商品信息多语言智能转换与优化,降低人工成本,提升出海效率。
1114 0
|
安全 编译器 C语言
深入理解C/C++预处理器指令#pragma once以及与ifndef的比较
深入理解C/C++预处理器指令#pragma once以及与ifndef的比较
1379 0
|
6月前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot)阿里云计算巢部署+企业微信机器人搭建|零代码命令速通+常见问题全解
2026年,OpenClaw(原Clawdbot)凭借轻量化部署、多平台接入与灵活的Skill扩展能力,成为企业搭建专属AI助手的首选工具。对于新手而言,阿里云计算巢是部署OpenClaw的最优选择——全程可视化、一键部署、无需复杂环境配置,搭配企业微信可快速搭建能在企业内部群聊、单聊中响应消息、执行指令、自动处理任务的AI机器人,满足企业内部沟通、信息查询、流程自动化等需求。
592 4
|
9月前
|
人工智能 自然语言处理 达摩院
2025年12月,中国数字人企业介绍与数字生态解析及数字化技术指南
虚拟数字人技术正深度融合AI与图形生成,赋能内容创作、客服、教育等领域。行业头部企业推动数字人在电商、媒体、金融等场景规模化落地,实现从“被动应答”到“智能协作”的演进。
|
算法 Unix Linux
什么是sqfs文件格式?
sqfs,Squash file system,压缩文件系统,.sqfs表示压缩文件系统的文件类型,可引导文件或引用用于UNIX的可引导磁盘映像的文件。
831 5
|
人工智能 安全 Cloud Native
Nacos 3.0 架构全景解读,AI 时代服务注册中心的演进
Nacos 3.0 正式发布,定位升级为“一个易于构建 AI Agent 应用的动态服务发现、配置管理和 AI 智能体管理平台”。架构上强化了安全性,引入零信任机制,并支持 MCP 服务管理、AI Registry 等新特性,助力 AI 应用高效开发与运行。
|
Java 测试技术 数据库
基于SpringBoot+HTML实现登录注册功能模块
基于SpringBoot+HTML实现登录注册功能模块
|
自然语言处理
Ollama部署本地模型
Ollama 是一个用于本地部署大型语言模型的平台。首先关闭 ollama 服务,在环境变量中设置 `OLLAMA_MODELS` 为目标模型路径,`OLLAMA_ORIGINS` 为 `"*"`,重启服务和 VSCode。启动服务 `ollama serve`,运行 `ollama run codegeex4`。配置插件接口地址为 `http://localhost:11434/v1/chat/completions`,并在模型名称处填入 `codegeex4` 启用高级模式。可能需优化下载速度并解决其他问题。
2227 4
|
Web App开发 编解码 移动开发
html5移动端页面分辨率设置及相应字体大小设置的靠谱使用方式
html5移动端页面分辨率设置及相应字体大小设置的靠谱使用方式
|
数据可视化 Java 测试技术
基于SpringBoot的毕业生实习与就业管理系统(系统+数据库+文档)
基于SpringBoot的毕业生实习与就业管理系统(系统+数据库+文档)

热门文章

最新文章