欢迎来到天天文库
浏览记录
ID:37079809
大小:3.10 MB
页数:64页
时间:2019-05-11
《和奔腾系列微处理器原理初步》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.8086和奔腾系列微处理器原理初步2.18086的编程结构2.28086的引脚信号和工作模式2.38086的存储器编址2.4奔腾系列微处理器特点《微》第2章本章学习要求1、掌握8086CPU的内部结构3、掌握8086CPU的两种工作模式2、掌握8086CPU对存储器的分段管理的基本概念4、了解奔腾系列微处理器的特点2.18086CPU的内部结构(编程结构)从功能上看,CPU可以分为两大部分:1、总线接口部件BIU(BusInterfaceUnit)2、执行部件EU(ExecutionUnit
2、)8086CPU内部结构框图如下所示:8086CPU的内部结构框图一.总线接口部件总线接口部件负责与存储器、I/O接口传送数据,包括物理地址的形成、预取指令、指令队列排队、读/写操作数和总线控制等。总线接口部件由下列4部分组成:①4个段地址寄存器(CS、DS、ES、SS)②16位的指令指针寄存器IP(InstructionPointer)③20位的地址加法器④6字节的指令队列缓冲器二.执行部件执行部件负责指令的执行。由下列4部分组成:①4个通用寄存器,即AX、BX、CX、DX;②4个专用寄存器,
3、即基数指针寄存器BP(basepointer)堆栈指针寄存器SP(stackpointer)源变址寄存器SI(sourceindex)目的变址寄存器DI(destinationindex);③标志寄存器;④算术逻辑部件ALU(arithmeticlogicunit)。8086内部寄存器有:4个通用寄存器和4个专用寄存器1个指令指针寄存器1个标志寄存器4个段寄存器1、4个16位的通用寄存器AX、BX、CX、DX它们还可以分成高8位和低8位两个独立的寄存器:AHBHCHDHALBLCLDL对其中某8
4、位的操作,并不影响另外对应8位的数据每个寄存器又有它们各自的专用目的:AX--累加器(Accumulator),使用频度最高,用于算术、逻辑运算以及与外设传送信息等BX--基址寄存器,常用做存放存储器地址CX--计数器,作为循环和串操作等指令中的隐含计数器DX--数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。2、变址寄存器SI、DI变址寄存器常用于存储器寻址时提供地址:SI是源变址寄存器(sourceindex)DI是目的变址寄存器(destinationindex)串操作类指
5、令中,SI和DI具有特别的功能。3、指针寄存器SP、BP指针寄存器用于寻址内存堆栈内的数据。SP为堆栈指针寄存器(StackPointer),指示栈顶的偏移地址。SP不能再用于其他目的,具有专用目的。BP为基址指针寄存器(BasePointer),表示数据在堆栈段中的基地址。SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址。4、段寄存器CS、DS、ES、SSDS数据段寄存器(DataSegment)CS代码段寄存器(CodeSegment)ES附加段寄存器(ExtraSegme
6、nt)SS堆栈段寄存器(StackSegment)这些段寄存器的内容与有效地址一起,用于确定内存的物理地址。通常用CS、DS、ES以及SS用于确定代码段、数据段、附加段以及堆栈段的基地址。5、指令指针寄存器IP(InstructionPointer)指令指针寄存器IP,指示代码段中下一条要执行指令的偏移地址。它与代码段寄存器CS联用,确定下一条指令的物理地址。计算机通过CS和IP寄存器来控制指令序列的执行流程。IP寄存器是一个专用寄存器。6、标志寄存器FLAGS标志(Flag)用于反映指令执行结
7、果或控制指令执行形式。8086处理器的各种标志形成了一个16位的标志寄存器FLAGS。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0程序设计需要利用标志的状态标志寄存器中共有9个位用作标志,7个位未作使用标志的分类:分为状态标志和控制标志6个状态标志:用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置它的状态。共有6个状态标志位:CFZFSFPFOFAF3个控制标志:可由程序根据需要用指令设置,用于控制处理器执行指令的方式DFIFTFOF111512DF10I
8、F9TF8SF7ZF65AF43PF21CF0进位标志CF(CarryFlag)当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF=1;否则CF=0。49H+6DH=例:?B6H, 没有进位:CF=0BBH+6AH=(1)25H,有进位:CF=1?零标志ZF(ZeroFlag)若运算结果为0,则ZF=1;否则ZF=049H+6DH=B6H,结果不是零:ZF=075H+8BH=(1)00H,结果是零:ZF=1注意:ZF为1表示的运算结果是0例:符号标志SF(SignFla
此文档下载收益归作者所有