欢迎来到天天文库
浏览记录
ID:27086698
大小:893.01 KB
页数:79页
时间:2018-12-01
《8086微处理器及其系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章8086微处理器及其系统2.18086微处理器简介2.28086系统的存储器组织及I/O组织2.38086系统的工作模式2.48086的操作时序18086CPU是Intel系列的16位微处理器,它有16位数据总线和20位地址总线。可寻址的地址空间是:220=1MB22.1.18086的编程结构从程序员的角度看,8086CPU分为两部分:执行部件(EU)总线接口部件(BIU)2.18086微处理器简介3图2-1EU控制系统41.执行部件(EU)功能:执行指令组成:●内部寄存器组;●算术逻辑运算单元ALU及标志寄存器;●内部控制逻辑电路。
2、5(1)内部寄存器组8个16位内部寄存器通用数据寄存器(AX,BX,CX,DX)指针和变址寄存器(SP,BP,SI,DI)①通用数据寄存器:可用作16位的寄存器,也可用作8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL6AX:累加器。有些指令约定以AX(或AL)为源或目的寄存器。BX:基址寄存器。可用作间接寻址的地址寄存器和基地址寄存器。CX:计数寄存器。在循环和串操作中充当计数器,指令执行后CX内容自动修改。DX:数据寄存器。在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数。7SI:
3、源变址寄存器DI:目的变址寄存器②指针和变址寄存器SP:堆栈指针寄存器BP:基址指针寄存器8(2)算术逻辑单元(ALU)及标志寄存器(FR)①算术逻辑运算单元ALU可完成16位或8位的算术逻辑运算。ALU运算后的结果特征(有无进位,溢出等)置入标志寄存器中保存。②标志寄存器FR16位寄存器,用来存放运算结果的特征和控制标志。9分为两类:条件标志——共6位,用于寄存程序运行的状态信息,这些标志往往用作后续指令判断的依据。控制标志——共3位,用于控制机器或程序的某些运行过程。10●CF(CarryFlag)进位标志-----反映在运行结果的最高
4、位有无进位或借位。CF=1,表示本次运算中最高位有进位(加法运算时)或有借位(减法运算时);否则CF=0。条件标志11●PF(ParityFlag)奇偶标志-----反映运算结果中“1”的个数的奇偶性,主要用于判断数据传送过程中是否出错。PF=1,表示本次运算结果的低八位中有偶数个“1”PF=0,表示本次运算结果的低八位中有奇数个“1”●AF(AuxiliaryCarryFlag)辅助进位标志-----加减运算时,若D3向D4产生了进位或借位则AF=1。否则AF=0。在BCD码运算时,该标识用于十进制调整。●ZF(ZeroFlag)零标志-
5、----反映计算结果是否为0。若结果为零则ZF=1,否则ZF=0。12●SF(SignFlag)符号标志位-----反映计算结果最高位即符号位的状态。如果运算结果的最高位为1则SF=1,否则SF=0。●OF(OverflowFlag)溢出标志位-----反映运算结果是否超出了带符号数的表数范围。OF=1表示运算结果超出了该字长所能表示的范围,即产生溢出;否则OF=0。机器判断是否溢出是根据根据最高位的进位与次高位的进位是否相同来确定。若两者不相同则OF=1(表示有溢出),否则OF=0(表示无溢出)13●DF(DirectionFlag)方向
6、标志-----用于串处理指令中控制串处理的方向。在串操作指令中,若DF=0,表示串操作指令执行后地址指针自动增量;DF=1,表示地址指针自动减量。DF可通过STD指令置位,也可通过CLD指令复位。●IF(InterruptFlag)中断允许标志位-----用于控制CPU是否允许响应可屏蔽中断请求。IF=1,表示允许CPU响应可屏蔽中断请求。IF=0,表示禁止CPU响应可屏蔽中断请求。IF可通过STI指令置位(置1),也可通过CLI指令复位(清零)。控制标志14●TF(TrapFlag)单步标志位-----用于单步操作。TF=1,控制CPU进
7、入单步工作方式。在这种工作方式下,CPU每执行完一条指令就会自动产生一次内部中断,这在程序调试过程中很有用。15例1:若AL=3BH,AH=7DH,指出AL和AH中的内容相加后,CF,AF,PF,SF,OF和ZF的状态。CF=0(无进位)AF=1(有辅助进位)PF=1(运算结果有4个1)SF=1(运算结果符号位为1)OF=1(有溢出)ZF=0(运算结果不为0)16(3)内部控制逻辑电路主要功能:从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。172.总线接口部件BIU负责CPU与存储
8、器、I/O设备之间传送数据、地址、状态及控制信息。组成:●4个段地址寄存器(CS、DS、ES、SS)●16位的指令指针寄存器IP(InstructionPointer)●20位的
此文档下载收益归作者所有