欢迎来到天天文库
浏览记录
ID:58683368
大小:1.75 MB
页数:49页
时间:2020-10-05
《第二章 16位微处理器ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.18086CPU的内部结构2.28086对主存储器的分段管理2.38086微处理器的引脚及工作模式第2章16位微处理器8086第2章16位微处理器8086教学重点寄存器的结构存储器组织逻辑地址到物理地址的变换8086的两种工作模式及其配置教学难点8086CPU在最小模式和最大模式下的引脚功能2.18086CPU的内部结构一、8086CPU内部结构从功能上看,可以分为两大部分:1.总线接口部件BIU(BusInterfaceUnit)2.执行部件EU(ExecutionUnit)。8086CPU
2、内部结构框图见图2-1所示。总线接口单元BIU:主要负责物理地址的形成、预取指令、指令队列排队、读/写操作数和总线控制。执行单元EU:主要负责指令译码和执行。二、8086CPU内部寄存器结构8086内部寄存器有:执行单元EU8个通用寄存器1个指令指针寄存器1个标志寄存器4个段寄存器1.8086的通用寄存器8086的16位通用寄存器是:AXBXCXDXSIDIBPSP其中前4个数据寄存器都还可以分成高8位和低8位两个独立的寄存器。8086的8位通用寄存器是:AHBHCHDHALBLCLDL对其中某8
3、位的操作,并不影响另外对应8位的数据。数据寄存器数据寄存器用来存放计算的结果和操作数,也可以存放地址。每个寄存器又有它们各自的专用目的:AX--累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;BX--基址寄存器,常用做存放存储器地址;CX--计数器,作为循环和串操作等指令中的隐含计数器;DX--数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。变址寄存器变址寄存器常用于存储器寻址时提供地址:SI是源变址寄存器DI是目的变址寄存器串操作类指令中,SI和DI具有特别的功能。
4、指针寄存器指针寄存器用于寻址内存堆栈内的数据。SP为堆栈指针寄存器,指示栈顶的偏移地址。SP不能再用于其他目的,具有专用目的。BP为基址指针寄存器,表示数据在堆栈段中的基地址。SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址。2.段寄存器DS数据段寄存器(DataSegment)CS代码段寄存器(CodeSegment)ES附加段寄存器(ExtraSegment)SS堆栈段寄存器(StackSegment)这些段寄存器的内容与有效的地址一起,用于确定内存的物理地址。通常用CS、D
5、S、ES以及SS用于确定代码段、数据段、附加段以及堆栈段的基地址。3.指令指针IP指令指针寄存器IP,指示代码段中指令的偏移地址。它与代码段寄存器CS联用,确定下一条指令的物理地址。计算机通过CS:IP寄存器来控制指令序列的执行流程。IP寄存器是一个专用寄存器。4.标志寄存器标志(Flag)用于反映指令执行结果或控制指令执行形式。8086处理器的各种标志形成了一个16位的标志寄存器FLAGS(程序状态字PSW寄存器)。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0程序设计
6、需要利用标志的状态标志的分类6个状态标志:用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置它的状态。共有6个状态标志位:CFZFSFPFOFAF3个控制标志:可由程序根据需要用指令设置,用于控制处理器执行指令的方式DFIFTF进位标志CF(CarryFlag)当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF=1;否则CF=0。49H+6DH=B6H, 没有进位:CF=0BBH+6AH=(1)25H,有进位:CF=1零标志ZF(ZeroFlag)若运算结果为0
7、,则ZF=1;否则ZF=049H+6DH=B6H,结果不是零:ZF=075H+8BH=(1)00H,结果是零:ZF=1注意:ZF为1表示的结果是0符号标志SF(SignFlag)运算结果最高位为1,则SF=1;否则SF=0有符号数据用最高有效位表示数据的符号所以,最高有效位就是符号标志的状态49H+6DH=B6H,结果不是零:ZF=075H+8BH=(1)00H,结果是零:ZF=1奇偶标志PF(ParityFlag)当运算结果最低字节中“1”的个数为零或偶数时,PF=1;否则PF=03AH+7CH
8、=B6H=10110110B结果中有5个1,是奇数:PF=0PF标志仅反映最低8位中“1”的个数是偶或奇,即使是进行16位字操作溢出标志OF(OverflowFlag)若算术运算的结果有溢出,则OF=1;否则OF=049H+6DH=B6H,产生溢出:OF=175H+8BH=(1)26H,没有溢出:OF=0什么是溢出?处理器内部以补码表示有符号数8位补码表达的整数范围是:+127~-12816位补码表达的范围是:+32767~-32768如果运算结果超出这个范围,就产生了溢出有溢出
此文档下载收益归作者所有