8086与8088微处理器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 8086/8088微处理器
2.1 8086/8088微处理器的结构 2.2 8086/8088的引脚信号及工作模式
2.3 8086的程序访问结构
2.1 8086/8088微处理器的结构
8086:16位微处理器 ,16根数据线、20根地址线,可
寻址1M字节;
8088:准16位微处理器 ,其内部寄存器、内部运算部 件以及内部操作均按 16位设计,但对外的数据总线只有 8条。 80 86 功 能 结 构 总线接口部件BIU
控 制 寄 存 器 组
指令指针IP
标志寄存器FR
2.1 8086/8088微处理器的结构
(2)标志寄存器 16位,只用了其中9位,唯一能按位操作的寄存器。 用于反映指令执行结果或控制指令执行形式。
D15 ..D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
OF DF IF TF SF SF、ZF、CF PF 、CF/、 AF :进位 借位标志
PF:奇偶标志 作用:反映指令对数据作用之后,结果的状态,控制后续指令的执行。 CF=1:最高位需要向前产生进位/ AF:辅助进位标志 ZF:全零标志 PF=1: 结果的低8位中有偶数个1。 3位控制标志:DF、IF、 TF :数据的第 借位。 AF=1 3。不包括进 位(半个字节) ZF=1:运算结果为全 0 PF=0: 结果的低 8位中有奇数个1。 CF=0:最高位不会向前产生进位 / 作用:值不由数据运算结果决定,由指令直接赋值,决定后续指令执 需要向前产生进位 /借位。 位的情况 影响全部状态标志 :加法、减法运算。 借位。 行情况。 AF=0 :数据的第 3。 位(半个字节) ZF=0 :运算结果不为 0 影响部分状态标志 :移位操作。 不会向前产生进位 /借位。 不影响任何状态标志 :数据传送指令。
+
0
1
0
0
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
运算结果最高位为1
运算结果本身≠0 最高位没有进位 第三位向第四位有进位
∴SF=1;
∴ZF=0; ∴CF=0; ∴AF=1;
返回
低8位中1的个数为偶数个 ∴PF=1;
次高位向最高位有进位 ,最高位向前没有进位,∴OF=10=1
2.1 8086/8088微处理器的结构
2.1 8086/8088微处理器的结构
作用:存放将要执行的下一条指令在现行 代码段中的偏移地址,它与CS相结合生成 指向指令的物理地址。 特点:IP是一个专用寄存器,其内容由BIU 部件自动修改,不能直接访问IP,但可以 通过转移或调用指令改变其内容。 作用:存放指令执行结果特征位和对CPU 运行特点的控制位。 特点:8086 CPU 中设置了16位标志寄存 器,只用了9位,其余位用来扩展。9位标 志分为6位状态标志和3位控制标志两类。
功能:负责与 M、I/O 端口传送数据、地址
执行部件EU
CPU
功能:从指令流队列中取指令、分析指令和执行指令
2.1 8086/8088微处理器的结构
20位地 总 地址加法器 址总线 线 总 接 8086: 16 CS6个字节 IP 口 外 生成 20 位物理地址 线 DS4个字节 位 暂存器 8088: 部 部 SS 数 件 总 8086指令队列空 2个字节 ES BIU 线 专 据 控 (8088空1个字节),且 EU部 用 总 CS :存放代码段段基址 件没有要求BIU部件进入存取操 ( 线 内部总线 16 位 制 DS :存放数据段段基址 段 BIU部件就 完成 16或8位二进制数 作数等总线周期时, 通用寄存器组 ) SS:存放附加段段基址 的算术运算和逻辑运 会自动从内存单元顺序取指令 包括数据寄存器和地 寄 逻 ES :存放堆栈段段基址 E 算 字节填满指令流队列。 暂存器 存 址与变址寄存器。 器 IP :指令队列 存放下一条要执行指令 U AL BL CL DL 通用寄存器 AX AH BX BH CX CH DX DH SP BP DI SI
2.1 8086/8088微处理器的结构
(2)标志寄存器

16位,只用了其中9位,唯一能按位操作的寄存器 用于反映指令执行结果或控制指令执行形式
D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
D15 ..D12
OF DF IF TF SF ZF
AF
PF
CF
DF:方向控制标志位 SF:符号标志 OF:溢出标志(指补码) 用于串处理指令,控制从前往后、还是从后往前对字符串进行操作 SF=1 :运算结果的最高位为 1,如果为带符号 IF :中断允许 /禁止标志位 TF:跟踪(单步)标志位 OF=1 :操作数超过了机器表示的范围 ,溢出。 处理。 数,则为负数。 IF=1, 允许外部可屏蔽中断。 CPU可以响应可屏蔽中断 TF=1,每执行一条指令后,自动产生一次内 OF=0 :操作数未超过了机器能表示的范围 ,不溢出。 DF=1 ,每次串处理操作后使变址寄存器 SF=0:运算结果的最高位为 0,如果为带符号 SI和DI的值递减,使串处 请求。 部中断,使 CPU 处于单步执行指令工作方式, 求解方法:最高位进位 次高位进位 理从高地址向低地址方向处理。 IF=0,数,则为正数。 关闭中断。 CPU 便于进行程序调试,用户能检查程序。 字节允许范围:- 128 — + 禁止响应可屏蔽中断请求。 127 DF=0 ,每次串处理操作后使变址寄存器 带符号数的最高位为符号位;而无符号数的 最 IF的状态对不可屏蔽中断和内部软中断没有影响。 TF=0, 正常工作。SI和DI的值递增,使串处 字允许范围:- 32768 — +CPU 32767 理从低地址向高地址方向处理。 高位为数值位。
表2-1 8086的基本段约定和允许的超越段 CPU执行的操作 取指令 压栈、弹栈 源串 目的串 通用数据读写 BP作间址寄存器 基本段约定 CS SS DS ES DS SS 超越段 CS,ES,SS CS,ES,SS CS,DS,ES 有效地址 IP SP SI DI 有效地址EA 有效地址EA
次高位向最高位没有借位 ,最高位向前没有借位,∴OF=00=0
2.1 8086/8088微处理器的结构
2.1.2 8086/8088的内部寄存器
8086CPU的内部寄存器如图2.1所示。8086CPU内部有 14个16位寄存器,可以分为以下三组。
数据寄存器
通用寄存器组
地址与变址寄存器
段寄存器组
指令指针IP
控制寄存器组
标志寄存器FR
2.1 8086/8088微处理器的结构
通用寄存器的特殊用法(默认用法)
寄存器 特殊用法 AX,AL 乘法/除法指令,作累加器;I/O操作时,作数据寄存器 AH 在LAHF指令中用作目的寄存器((AH)←标志) AL 在BCD码及ASCII码运算指令中作为累加器; 在XLAT指令中作为累加器(AL)←((AL)+(BX)) BX 在间接寻址中作为基址寄存器和变址寄存器 CX 在循环程序中,作循环次数计数器 CL 在移位和循环移位指令中,作为移位位数和循环移位次数的计数寄 存器(指令执行后,(CL)不变) DX I/O 指令间接寻址时,作为地址寄存器;在乘法指令中作为辅助累 加器(当乘积或被除数为32位时,存放高16位数) BP 在间接寻址中,作为基址寄存器 SP 在堆栈操作中,作为堆栈指针 SI 间接寻址时,作为地址寄存器或变址寄存器;在串操作指令中作为 源变址寄存器 DI 在间接寻址时,作为地址寄存器或变址寄存器;在串操作指令中作 为目的变址寄存器
数据寄存器: SP:指示栈顶的偏移地址 ,不能再用于其他目的,具 有专用目的。 数据寄存器 BP:数据在堆栈段中的基 可分为两个8位,主要用于 地址。 数据操作 SP和BP寄存器与SS段寄存 器联合使用来访问堆栈。 地址指针寄存器 SI 和DI:串操作类指令中, 主要用于地址操作 常用于存储器寻址时提供地 址。
80 86
执 行 部 件 EU
CPU 功 能 结 构 图
ALU
标志寄存器
3 4 5 6 EA。 辑 控 8位队 1 2的有效地址 制 列总线 8088 8086 器
2.1 8086/8088微处理器的结构
并行处理的优势: 一条指令执行过程中可以取出下一条(或多条)指令, 指令在指令队列中排队; 一条指令执行完成后,可立即执行下一条指令,减少 CPU为取指令而等待的时间,提高CPU的利用率和整个运 行速度。
2.1 8086/8088微处理器的结构
控制标志与状态标志的区别: 控制标志:其值由系统程序或用户程序根据需要用指令设置。 状态标志:由中央处理器执行运算指令,并根据运算结果而自 动设置。
位调 之试 值状 的态 符时 号, 表标 示志
标志名 OF溢出(是/否) DF方向(减量/加量) IF中断(允许/关闭) SF符号(负/正) ZF零(是/否) AF辅助进位(是/否) PF奇偶标志( 偶/奇) CF进位标志(是/否)
取指令 存取数据
访问:代码段
物理地址的构成:CS×10H+IP 访问:数据段 物理地址的构成:DS×10H+EA
操 作
堆栈操作
物理地址的构成:SS×10H+SP
目的串操作 物理地址的构成:ES×10H+DI
2.1 8086/8088微处理器的结构
物理地址=段地址×10H+有效地址
段寄存器(16位) 段寄存器左移4位(20位) 有效地址EA(16位)
0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1
-
0
0
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
运算结果最高位为0
运算结果本身≠0 最高位没有借位
∴SF=0;
∴ZF=0; ∴CF=0;
低8位中1的个数为奇数个 ∴PF=0; 第三位向第四位没有借位 ∴AF=0;
地址加法器 20位物理地址
2.1 8086/8088微处理器的结构
16位
位 物 理 地 址 形 成 过 程 演 示
20
CS CS左移4位 20位 IP或偏移 地址
+
20位
地址加法器 物理地址
2.1 8086/8088微处理器的结构
8086的基本段约定和允许的段超越如表2-1所示。
表中的“-”表示不允许修改。
2.1 8086/8088微处理器的结构
2. 段寄存器组
8086/8088CPU可直接寻址1MB内存空间。
存储空间采用分段技术,每段最大寻址64KB。 逻辑段可在整个1MB存储空间内浮动,但段的起始地址 低4位必须是0000B,这样在存放段地址时只存放高16 位,作为段基址。
2.1 8086/8088微处理器的结构
中的隐含计数器; DX: 常用来存放双字长数据的 地址指针寄存器 高16位,或存放外设端口地 主要用于地址操作 址;
2.1 8086/8088微处理器的结构
16位 8 8
AX BX CX DX
AH AL AX BH BL BX CH CL CX DH DL DX SP BP SI DI
累加器 基址寄存器 计数寄存器 数据寄存器 堆栈指针 基址指针 源变址指针 目的变址指针
标志为1 OV DN EI NG ZR AC PE CY
标志为0 NV UP DI PL NZ NA PO NC
2.1 8086/8088微处理器的结构
例1:2个数相加后,分析各标志位的值
例2:2个数相减后,分析各标志位的值
2.1 8086/8088微处理器的结构
0 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1
16位 8 8
AX BX CX DX
AH AL AX BH BL BX CH CL CX DH DL DX SP BP SI DI
累加器 基址寄存器 计数寄存器 数据寄存器 堆栈指针 基址指针 源变址指针 目的变址指针
8086的16位通用寄存器是: AX BX CX DX 数据寄存器: SI DI BP SP AX: 使用频度最高,用于算术、 8086的8位通用寄存器是: 逻辑运算以及与外设传送信 AH BH CH DH 息等; 数据寄存器 ALBL CL DL BX: 常用做存放存储器地址; 对其中某 8 位的操作,并不影 可分为两个 8位,主要用于 响另外对应8位的数据 CX: 作为循环和串操作等指令 数据操作
相关文档
最新文档