8086微处理器及系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IF(中断)
DF(方向)
微型机原理与程序设计
2.1 8086微处理器
3)段寄存器 段寄存器用来和微处理器中的其他寄存器联合生成存储器地址。 8086微处理器中有4个段寄存器。 CS(代码段) 代码段是一个存储器区域,这里保存微处理器运行的代码(程序 和过程)。代码段寄存器定义了存放代码的存储器段的起始地址。 它定义一个64 KB存储器段的起始地址;对于8086,代码段的长度 限制为64 KB。 数据段也是一段存储区域,存储程序使用的大部分数据。可以通 过偏移地址或者其他含有偏移地址的寄存器的内容寻址数据段里 的数据。和代码段一样,对于8086,数据段的长度限制为64 KB。 附加段是一个附加的数据段,为某些串指令存放目的数据。 堆栈段定义用作堆栈的存储区。由堆栈段和堆栈指针寄存器确定 堆栈段内当前的入口地址。BP寄存器也可以寻址堆栈段内的数据。
微型机原理与程序设计
2.1 8086微处理器
AD15~AD0:ALE=1→地址线, ALE=0→数据线 在“保持响应”(HOLD)期间,这些引脚为高 阻抗状态。 A19/S6~A16/S3:多路复用地址/状态总线 状态位S6一直保持逻辑0,S5 表示中断允许标志 位(IF)的状态,S4 和S3 指示当前总线周期内 被访问的段。表2-1-1 为S4 和S3 的真值表。这两 个状态位还可被译码为A21和A20,用来寻址4 个 独立的1MB存储区。
DS(数据段)
ES(附加段) SS(堆栈段)
微型机原理与程序设计
2.1 8086微处理器
8086 微处理器的引脚功能 8086 微处理器都使用+5.0V 电源电压,其允许偏差为±10%。8086 需要的最大 电源电流为360 mA。工作环境温度为0℃到70℃之间。此温度范围不够宽,不允许微 处理器工作在冬天或夏天的户外,但我们可得到具有扩展温度范围的8086微处理器。
0000 0101 + 0001 0100 0001 1001
结果: AF=0
0000 0000 - 0000 0001 1111 1111
结果: AF=1
微型机原理与程序设计
PF, Parity Flag, 奇偶标志, 两数操作(算术或逻辑),结果的低8位中 含有1的位数是偶还是奇. 举例: 1000 0101 1010 1100 AND 1001 1101 1001 0111 1000 0101 1000 0100 结果: PF=1
AND 1001 1101 1001 0111 1000 0101 1000 0100
结果: SF=1
OF, Overflow Flag, 溢出标志, 算术操作,结果超过目标所能容纳的 范围. 举例:
0111 1110 0000 0011 1000 0001
(+126) (+3) (-127)
结果: CF=1
wenku.baidu.com
1000 0001 1 + 1000 0000 0000 0001
结果: CF=1
1000 0000 1 - 1000 0001 1111 1111
结果: CF=1
微型机原理与程序设计
AF, Auxiliary Carry Flag, 辅助进位标志, 两数相加,第3位向前的 进位; 或两数相减第3位向前的借位, 举例:
第二章 8086微处理器及系统
微型机原理与程序设计
2.1 8086微处理器
2.1.1 功能与引脚
8086的内部功能从逻辑上分为 两个处理部件: 总线接口部件 BIU (Bus Interface Unit)
执行部件EU (Execution Unit)
微型机原理与程序设计
2.1 8086微处理器
中所需要的控制信号全部由8086CPU本身直接提供。
最大模式--系统中有两个或两个以上的微处理器,即除了主处理器8086以外, 还有协处理器(8087算术协处理器或8089 输入/输出协处理器)。最大模式可构成多 处理器系统,系统中所需要的控制信号由总线控制器8288提供。 最大模式是相对最小模式而言的。在最大模式系统中,总是包含有两个或多个微处 理器,其中一个主处理器就是8086,其他的处理器称为协处理器,它们是协助主处理 器工作的。和8086配合的协处理器有两个,一个是数值运算协处理器8087,一个是 输入/输出协处理器8089。 CPU工作模式的选择是由硬件决定的,将8086的第33号引脚MN / MX接地,则工作 于最大模式,第33号引脚接高电平,则工作于最小模式。8086CPU有8条引腿(第24
BHE / S7 :高8位总线允许引脚,用在8086中。 在读操作或写操作期间允许高8位数据总线 D15~D8有效。状态位S7始终为逻辑1。
微型机原理与程序设计
2.1 8086微处理器
8086/8088可以在两种工作模式下工作,即最小模式和最大模式。 最小模式--即系统中只有8086一个微处理器。最小模式是单处理器系统。系统
TEST :测试输入信号,由WAIT指令来测试。 0→ WAIT 指令的功能相当于NOP 空操作指令 1→ WAIT指令重复测试TEST引脚,直到它变为 逻辑0。 NMI :非屏蔽中断输入信号,不受IF标志位控制 若NMI 被激活,则该中断输入使用中断向量2。 RESET :复位输入信号,若该引脚保持4 个时 钟周期以上的高电平,则微处理器复位。一旦 8086复位,则从存储单元FFFF0H开始执行指令, 并使IF标志位清零,禁止中断。 CLK :时钟引脚,为微处理器提供基本的定时信 号。时钟周期的1/3 为高电平,2/3 为低电平,以 便为8086 提供正确的内部定时基准。
总线接口部件 BIU
总线接口部件的功能是负责与存储器、I/O 端口传送数据。总线接口部件要 从内存取指令送到指令队列;CPU执行指令时,总线接口部件要配合执行部件 从指定的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执 行部件的操作结果传送到指定的内存单元或外设端口中。 8086在执行指令的同时,从内存中取出后续的1条或几条指令,并放在一个 6字节的指令队列中。这样,一般情况下,8086执行完一条指令就可以立即执 行下一条指令,而不需要轮番地进行取指令和执行指令的操作,从而提髙了 CPU的效率。
微型机原理与程序设计
2.1 8086微处理器
Vcc: 电源输入,为微处理器提供5V,±10% 电源输入。 GND: 接地引脚。注意,8086 微处理器有两个 引脚均标GND,为保证正常工作,二者必须都 接地。 MN / MX: 最小/最大模式引脚,为微处理器选 择最小模式或最大模式工作方式。若选择最小模 式,则该引脚必须直接接5V。
RD:读信号,当它为逻辑0时,数据总线接收 来自存储器或与系统相连的I/O设备的数据。
微型机原理与程序设计
2.1 8086微处理器
READY :就绪输入信号,用于在微处理器时序 中插入等待状态。0→进入等待状态并保持空闲 1→微处理器操作不产生影响 INTR :中断请求信号,用来申请一个硬件中断。 当IF=1时,若INTR 保持高电平,则8086 在当前 指令执行完毕后就进入中断响应周期。
动作管理原则 ①每当8086 的指令队列中有2 个空字节,总线接口部件就会自动把指令代码取
到指令队列中。
②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取 出指令的代码,然后用几个时钟周期去执行指令。 ③当指令队列已满,而且执行部件对总线接口部件又没有总线访问请求时,总 线接口部件便进入空闲状态。 ④在执行转移指令、调用指令和返回指令时,指令队列中的原有内容被自动淸 除,总线接口部件会接着往指令队列中装入另一个程序段中的指令。
微型机原理与程序设计
2.1 8086微处理器
标志寄存器长度为16位,其中9个位有定义。
零标志 符号标志 陷阱标志 中断标志 方向标志 溢出标志
微型机原理与程序设计
奇偶标志 辅助进位标志
进位标志
CF, Carry Flag, 进位标志, 两数相加,最高位向前的进位; 或两数相 减最高位向前的借位, 举例:
ZF, Zero Flag, 零标志, 操作结果的为0则ZF为1. 举例:
1111 1111 +
进位 1
0000 0001 0000 0000
操作结果为0, ZF=1
微型机原理与程序设计
SF, Sign Flag, 符号标志, 操作结果的符号位(即最高位的状态). 举例:
1000 0101 1010 1100
执行部件 执行部件的功能就是负责指令的执行。执行部件接收BIU预先取出放在指令队列
中的指令,为BIU 提供未重定位的数据和地址。存储器中的数据通过BIU 被传递给EU, EU 将处理结果通过BIU送到存储器存储。
微型机原理与程序设计
2.1 8086微处理器
部件的动作管理
总线接口部件和执行部件工作不同步
另外还有一种CMOS型微处理器,它只需要很小的电源电流,并且温度范围很宽。 80C86 属于CMOS 型,只需10mA 电源电流,而工作温度范围可达-40℃到+105℃。 8086 微处理器芯片采用双列直插式40 条引脚的封装结构,拥有20 条地址线和 16 条数据线。地址总线和数据总线的低16 位采用多路复用,4 条地址线与状态信号 线复用,复用的芯片引脚信号采取分时处理的方法。
+
微型机原理与程序设计
2.1 8086微处理器
控制类标志位 TF(陷阱) 陷阱标志,能够激活8086的调试功能(对程序进行调试,以便找 到错误或故障)。如果 TF 标志为允许(为 1 ),则微处理器根据 调试寄存器和控制寄存器的指示中断程序。如果 TF 标志为 0 ,则 禁止陷阱(调试)性能。 中断控制标志,控制INTR(中断请求)引脚的输入。如果IF=1, 则INTR引脚被允许,如果IF=0,则INTR引脚被禁止。IF标志的状 态由STI(置位I标志)和CLI(清除I标志)指令控制。 在串指令操作期间,方向标志为DI和SI寄存器选择递增方式或递 减方式。如果 DF=1 ,寄存器内容自动地递减;如果DF=0 ,寄存 器内容自动地递增。DF标志用STD指令置位,用CLD指令清除。
微型机原理与程序设计
2.1 8086微处理器
2)专用寄存器 包括:IP, SP, FLAGS和段寄存器CS, DS, ES,SS。 IP(指令指针) IP 寻址代码段存储区内的下一条指令。指令指针指向程序的下一条指 令,用于微处理器在程序中顺序寻址代码内的下一条指令。指令指针 也可由跳转指令或调用指令修改。 SP(堆栈指针) SP寻址一个称为堆栈的存储区。通过这个指针存取堆栈存储器中的数 据,具体操作将在2.3节中介绍相关指令时进行说明。这个寄存器还可 以作为16位寄存器引用。 FLAGS(标志) FLAGS用于指示微处理器的状态并控制它的操作。
微型机原理与程序设计
2.1 8086微处理器
8086 微处理器的程序设计资源
微型机原理与程序设计
2.1 8086微处理器
1)多功能寄存器 AX(累加器)
AX可作为16位寄存器(AX)或8位寄存器(AH或AL)引用。注意, 如果是 8位寻址,则只改变 16位寄存器的一部分,其余的不受影响。 累加器用于乘法、除法及一些调整指令。对于这些指令,累加器有 专门用途,但它通常被认为是多功能寄存器。 BX(基址) BX可作为BX、BH或BL寻址。BX用于保存访问存储单元的偏移地 址。 CX(计数器) CX是个通用寄存器,也可保存许多指令的计数值。用于计数的指令 是 重 复 的 串 指 令 ( REP/REPE/REPNE ) 、 移 位 、 循 环 和 LOOP/LOOPD 指令。移位和循环指令用 CL 计数,重复的串指令用 CX计数,LOOP/LOOPD指令用CX计数。 DX(数据) DX 是通用寄存器,用于保存乘法形成的部分结果,或者除法之前 部分被除数。 BP(基指针) 在8086微处理器中,为了传送存储器数据,BP指向存储单元。 DI(目标变址) DI 常用于寻址串指令的目标数据串,它的另一个功能是作为 16 位 (DI)通用寄存器使用。 SI(源变址) 源变址寄存器通常用于为串指令寻址源数据串。如同DI一样,SI也 作为通用寄存器使用。作为16位寄存器。