欢迎来到天天文库
浏览记录
ID:51778195
大小:1.43 MB
页数:151页
时间:2020-03-07
《单片微机原理及应用 教学课件 作者 丁元杰 主编 第七章 8086 CPU与PC.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图7-1 8086CPU的结构框图一、结构框图第一节 8086CPU第七章 8086CPU与PC8086CPU分成总线接口单元BIU和执行单元EU两个部分,见图7-1.BIU自内存取指令到自身的指令队列,并配合EU从内存或外设存、取数据;EU则执行指令。二、标志寄存器进位标志CF(CarryFlag):加法运算最高位有进位或减法运算最高位有借位时为1,否则为0。另外,带C环移指令也会影响这一标志。奇偶标志PF(ParityFlag):运算结果低8位中1的个数为偶时为1,否则为0。请注意:它与MCS-51系列单片机的奇偶标志的含义恰恰相反。辅助进位标志AF(AuxiliaryCarr
2、yFlag):加法运算低半字节有进位或减法运算低半字节有借位时为1,否则为0。它在BCD码运算而进行二-十进制转换时有用。零标志ZF(ZeroFlag):运算结果为零时为1,否则为0。符号标志SF(SignFlag):运算结果为负时为1,否则为0。所以它与运算结果最高位的值相同。溢出标志OF(OverflowFlag):字节运算超出了-128~+127范围或字运算超出了-32768~+32767范围而溢出时为1,否则为0。三、段地址和段寄存器组4个段寄存器,现分别说明如下:CS,存放当前执行程序所在段的段地址,称为代码段(CodeSegment)寄存器。由CS划定程序区,区内存放程
3、序的指令代码。CS内容左移4位再加上IP的内容便得出下一条要执行的指令的地址。DS,存放当前数据段的段地址,称为数据段(DataSagment)寄存器。由DS划定数据区,区内存放原始数据、中间结果和最后结果。SS,存放当前堆栈段的段地址,称为堆栈段(StackSegment)寄存器。由SS划定堆栈区。SS内容左移4位加上SP的内容将得出堆栈操作(压入或弹出)的地址。ES,存放附加数据段的段地址,称为附加段(ExtraSegment)寄存器。由ES划定附加区,这是一个附加的数据区,用于字符串目的地址操作。ES内容左移4位加上DI的内容将得出串操作目的地址。与这相应,DS内容左移4位加
4、上SI的内容将得出串操作源地址。此时,DI和SI的内容是串操作目的偏移地址和串操作源偏移地址。四、总线周期在T1状态:CPU往复向总线上发送地址信息,指出要寻址的存储器单元或外设端口的地址。在T2状态:CPU不再向总线送地址,而使其低16位呈高阻状态,准备传输数据;高4位则输出本总线周期的状态信息,指明正在使用的段寄存器和中断允许状态。在T3状态:总线的高4位仍为状态信息,低16位出现CPU读、写存储器(或I/O端口)的数据。要是存储器或I/O设备的速度较慢,会在T3状态前通过Ready引脚向CPU送低电平,表示“数据未准备好”,于是CPU将在T3后插入等待状态TW。TW时总线的情
5、况与T3时完全一样。1.8086引脚说明图7-2 8086CPU的引脚图五、最小模式、最大模式和引脚说明2.最小模式图7-3 8086最小模式下的系统总线结构3.最大模式表 7-2QQ指令队列状态00无操作,队列中指令未被取出01从队列中取出当前指令的第一个字节10队列空11从队列中取出指令的后续字节QS1/QS0:指令列队状态输出端。它俩的组合提供了指令队列的状态,有利于与协处理器的协调,其含义见表7-2.表 7-3操作类型8288产生的信号操作类型8288产生的信号000中断响应100取指令001读I/O端口101读存储器010写I/O端口,110写存储器011暂停无111保留
6、S2、S1、S0:总线周期状态输出端。其组合表明了当前总线周期进行数据传输的类型,系统中的总线控制器8288便借以产生对8282、8286、存储器(或I/O端口)的控制信号,详见表7-3.图7-4 8086最大模式下的系统总线结构图7-5 Intel8288的引脚图8288共有20个引脚,除V或GND外,输出引脚有11个,输入引脚有7个,见图7-5.1.立即数寻址这种寻址方式操作数直接包含在指令中,例如:MOVAL,43H;将立即数43H送ALMOVAX,1234H;将1234H送AX,AH中为12H,AL中为34H这种方式主要用来对寄存器赋值。因操作数直接从指令中取得,所以速度快
7、。立即数可以是8位,也可以是16位;只允许是整数;只能作源操作数,不能作目的操作数。一、8086的寻址方式第二节 8086的指令系统2.寄存器寻址这种寻址方式操作数就在CPU的内部寄存器中,例如:MOVAL,BLMOVAX,BX注意:①当指令中源操作数和目的操作数都是寄存器时,必须用同样字长的寄存器。②两个操作数不能同为段寄存器。③CS不能为目的操作数。3.直接寻址这种寻址方式操作数所在存储单元的16位有效地址由指令直接给出,例如:MOVAX,[1070H];将DS段
此文档下载收益归作者所有