文章目录

  • 8088功能结构:BIU 和 EU
  • 8088内部寄存器的类型
    • ① 8个通用寄存器
      • 数据寄存器:AX,BX,CX,DX
      • 地址寄存器:SI,DI,BP,SP
    • ② 4个段寄存器:CS, DS, ES, SS
    • ③ 2个控制寄存器:IP, FLAGS
      • IP
      • FLAGS

8088功能结构:BIU 和 EU

8088CPU内部用两个独立的功能部件组成,分别为BIU和EU。
BIU(Bus Interface Unit:总线接口单元) 由段寄存器、IP、指令队列、地址加法器和控制逻辑组成。
BIU的功能是负责从内存中取指令送入指令队列,实现CPU与存储器、I/O接口之间的数据传送。

EU(Execution Unit:执行单元) 由通用寄存器、F寄存器、ALU和EU控制部件组成。
EU的功能是分析指令和执行指令。


8086CPU内部指令队列由(6)个字节组成

8088内部寄存器的类型


① 8个通用寄存器

以下8个16位通用寄存器在一般情况下都具有通用性
提高了指令系统的灵活性
通用寄存器各自具有特定的用法
有些指令中隐含的使用这些寄存器

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

  • 在指令执行过程中既可用来寄存操作数,也可用来寄存操作的结果。
  • 每一个又可将高八位和低八位分成独立的两个8位寄存器来使用
  • 16位数据寄存器主要用于存放数据,也可用来存放地址
  • 8位寄存器(AL,AH,BL,BH,CL,CH,DL,DH)只能用于存放数据

AH&AL=AX(accumulator):累加寄存器
常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的1/0指令都使用这一寄存器与外界设备传送数据.

BH&BL=BX(base):基址寄存器
常用于地址索引;

CH&CL=CX(count):计数寄存器
常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.

DHRDL=DX(data):数据寄存器
常用于数据传递。

地址寄存器:SI,DI,BP,SP

  • 在对存储器操作数寻址时,用于形成20位物理地址码的组成部分
  • 在任何情况下不能独立地形成访问内存的地址码,因为它们都只有16位
  • 访问存储器的地址码由段地址(存放在段寄存器中)和段内偏移地址两部分组成
  • 这四个寄存器用于存放段内偏移地址的部分或全部

SP(Stack Pointer)堆栈指针
用于存放堆栈操作(Push\Pop)地址的段内偏移地址
其段地址由段寄存器SS(Stack Segment)提供

BP(Base Pointer)基址指针
在部分间接寻址方式中用于存放段内偏移地址的一部分
含有BP的寻址方式中如果无特殊说明均由段寄存器SS提供
该寻址方式依然是对堆栈区的存储单元寻址

SI(Source Index)源变址寄存器,DI(Destination Index)目的变址寄存器
在某些间接寻址方式中,SI和DI用来存放段内偏移地址的全部或一部分
这组寄存器主要用来存放地址,也可以存放数据

② 4个段寄存器:CS, DS, ES, SS

  • 访问存储器的地址码由段地址和段内偏移地址两部分组成
  • 段寄存器用于存放段地址
  • 总线接口单元BIU设置四个段寄存器
  • CPU可通过4个段寄存器访问存储器中4个不同的段 每段2^16=64KB

CS(Code Segment)代码段寄存器
存放当前执行程序所在段的地址
CS内容左移四位再加上指令指针IP的内容就是下一条要执行的指令地址

DS(Data Segment)数据段寄存器
存放当前堆栈段的地址
堆栈是存储器中开辟的按先进后出的原则组织的一个特别存储区
堆栈主要用于调用子程序时,保留范围主程序的地址和保存进入子程序要改变其值的寄存器的内容
对堆栈进行操作(压入/弹出)的地址由SS的内容左移加上SP的内容得到

ES(Extra Segment)附加段寄存器
附加段是一个附加数据段
附加段是在进行字符串操作时作为目的区地址使用的,ES存放附加段的段地址,DI存放目的区偏移地址

小结
DS和ES都要由用户程序设置初值
若DS和ES的初值相同,则数据段和附加段重合

③ 2个控制寄存器:IP, FLAGS

IP

IP(Instruction Pointer)指令指针

  • 指令指针IP保存下一条要执行指令的偏移地址
  • 在用户程序中不能使用该寄存器
  • 但可以用调试程序DEBUG中的命令改变其值以改变程序执行地址,用于调试程序
  • 某些指令如转移指令、过程调用指令和返回指令等将改变IP的内容

FLAGS

FLAGS 标志寄存器

  • 即处理状态字(PSW)寄存器
  • 8086/8088 CPU设计了一个两字节的标志寄存器
  • 共9个标志
    6个反映前一次涉及ALU操作结果的状态标志
    3个控制CPU操作特征的控制标志

状态标志

CF(Carry Flag) 进位标志
加法时最高位产生进位时等于1,否则等于0
减法时最高位产生错位时等于1,否则等于0
对字节操作最高位是D7
对字操作最高位是D15
 
PF(Parity Flag) 奇偶标志
如果操作结果低八位中含有偶数个1则等于1,否则等于0
 
AF(Auxiliary Carry Flag) 辅助进位标志
加法时D3有进位则为1,否则为0
减法时D3有错位则为1,否则为0
该标志位用于实现BCD码算数运算结果的调整
 
ZF(Zero Flag) 零标志
如果运算结果各位都是0,则等于1,否则等于0
 
SF(sign Flag) 符号标志
总是和运算结果的最高位相同
字节操作最高位是D7
字操作最高位是D15
在补码运算时最高位时符号位,所以结果为负时SF=1,反之为0
 
OF(Over Flow) 溢出标志
当运算结果超出了带符号数所能表示的数值范围即溢出
溢出时OF=1,否则为0
用来判断带符号数运算结果是否溢出
对于加运算次高位进位而最高位没有进位则溢出
对于加运算最高位进位和次高位没有进位则溢出
对于减运算次高位不需要借位但是最高位却需要借位则产生溢出
对于减运算次高位需要借位但最高位不需要借位则溢出

控制标志

DF(Direction Flag) 方向标志
可用指令预置
字符串操作指令执行时受它的控制
DF=0执行串操作指令,变址寄存器地址自动递增
DF=1时变址寄存器地址自动递减
该标志位可控制地址向着增大的方向或减小的方向改变
 
IF(Interrupt Enable Flag) 中断允许标志
可用指令预置
当IF=1,CPU可相应可屏蔽中断请求
IF=0,CPU不响应可屏蔽中断请求
 
TF(Trap Flag) 陷阱标志
若TF=1,则CPU处于单步执行指令工作方式
每执行一条指令就自动产生一次类型1的内部中断
IBMPC系统中,用系统调试程序DEBUG时,T命令就是利用这种中断
服务子程序的功能是显示所有寄存器的当前值和将要执行的下一条指令

例题:


OF:
有符号数时:对最高位进位次高位进位 进行 异或运算, 如果为1则溢出
无符号数时:最高位为1则溢出

2.微处理器:8088功能结构图【BIU 和 EU】 + 8088【内部各寄存器】的解释相关推荐

  1. 结构图的分类--产品功能结构图、产品信息结构图、产品结构图

    一.结构图的分类 1.产品功能结构图:专注在产品的功能模块,逐级延展:(介绍产品功能) 2.产品信息结构图:专注在产品不同类型的信息,逐级延展,罗列信息字段:(介绍产品信息) 3.产品结构图:既包括产 ...

  2. 记账本系统的功能结构图

    记账本系统的功能结构图通常包括以下几个部分: 用户管理模块: 包含用户注册.登录.修改密码等功能. 记账模块: 包含添加收支明细.查看收支明细.统计收支.生成报表等功能. 报表模块: 包含生成并展示收 ...

  3. android erp系统架构图,ERP系统流程图及功能结构图.doc

    ERP系统流程图及功能结构图 康怡ERP系统总体业务流程图及模块结构图 一.业务流程 二.系统功能模块结构图及功能说明 1.生产管理 A.功能模块结构图 B.模块功能说明 模块名称功能说明基本信息管理 ...

  4. 【企业资源计划ERP】,描述该供应商背景;阐述其ERP产品的各项功能,并画出功能结构图;阐述其产品特点及适用行业(至少3个),并针对每个行业至少举出一个具体的案例。

    <企业资源规划(ERP)>课程实验第 1 次实验报告 实验内容及基本要求: 实验项目名称:ERP软件操作 实验类型: 验证 每组人数: 1 实验内容及要求: 结合教材课后上机练习题(P25 ...

  5. 微处理器基本功能及主要性能指标

    1,微处理器的基本功能 微处理器是微型计算机的核心部件,也称为中央处理单元,简称CPU(Central Processing Unit) .它负责微型计算机中各部件的协调,完成指令的执行和数据处理工作 ...

  6. 一个小练习之taptap功能结构图

    在写之前上网搜了一下别人的产品分析,发现人家的功能图写的有点不知所云,算了,还是努努力自己写吧-- 一些非核心功能就不做分析了,这个看起来本质上就是和贴吧差不多的模板

  7. Visio画图形状默认填充是蓝色,如何修改成黑白?如何修改Visio样式?毕业设计流程图,功能结构图!

    总结:以2013为例,服务于毕业设计画图的计算机专业. 去百度搜索,关键词不对,找不到. 你是不是刚安装"Visio",那么请看下面! 1-1 1-2 1-3 1-4 最后,愿大家 ...

  8. 计算机硬件大型作业报告,计算机硬件技术大作业报告.doc

    计算机硬件技术大作业报告 计算机硬件技术实践报告 题目 温度测量系统设计 姓名 专业 测控技术与仪器 班级 学号 上海电力学院自动化工程学院 目录: (1) 设计题目 () 开发目的 (3) 小组成员 ...

  9. 计算机三级及内容是什么意思,计算机三级的内容是什么

    满意答案 crystal_sbb 2013.12.08 采纳率:43%    等级:12 已帮助:6964人 计算机三级考试大纲全集 一.计算机等级考试三级数据库技术考试大纲 基本要求 1.掌握计算机 ...

最新文章

  1. LeetCode实战:寻找两个有序数组的中位数
  2. 打工人,从 JMM 透析 volatile 与 synchronized 原理
  3. 如何自学python数据分析-『』python数据分析该怎么入门呢?
  4. JavaEE XML的读写(利用JDom对XML文件进行读写)
  5. 【C 语言】字符串操作 ( 使用 数组下标 操作字符串 | 使用 char * 指针 操作字符串 )
  6. Javascript在页面加载时的执行顺序
  7. Vue 安装 less
  8. 011——数组(十一)array_merge array_merge_recursive array_change_key_case
  9. java生产者消费者gui_java理论之java--GUI(图形用户管理)与 IO/流
  10. 腾讯QQ PC版9.1.7正式版上线 有些“老”功能越来越好用了
  11. oracle有没有mysql if_Oracle中没有 if exists(...)
  12. uni-app引入极光im
  13. 电力猫引起的OpenWrt路由器死机掉线的原因
  14. Android Studio Design界面不显示控件的解决方法
  15. 战神引擎php,战神引擎常用脚本接口
  16. 软考信息系统项目管理师考试心得-备考
  17. 如何删除双系统中的ubuntu
  18. 苹果手机微信聊天记录删除了怎么恢复?(基础操作版)
  19. Gartner 发布 2022 年人工智能技术成熟度曲线:复合 AI、决策智能快速发展,因果 AI 是热点
  20. 软负载均衡和硬负载均衡

热门文章

  1. 液晶屏ESD防护解决方案
  2. Bilateral Multi-Perspective Matching for Natural Language Sentences---读书笔记
  3. 数学建模算法与程序(司守奎):第一章 线性规划
  4. 【NLP】中文文本分类数据增强方法:EDA 与代码实现
  5. 设置div的内容及子标签向右对齐
  6. Properties综合应用,冲冲冲
  7. arduino 步进电机驱动库_Arduino驱动 步进电机
  8. vue php聊天室,实时聊天室:基于Laravel+Pusher+Vue通过事件广播实现
  9. 微信小程序输出Object,Object
  10. win7 64位虚拟机安装