欢迎来到天天文库
浏览记录
ID:38515598
大小:378.50 KB
页数:50页
时间:2019-06-14
《微机原理与接口技术(楼顺天)-第2章2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本教案内容第2章8086CPU结构与功能微处理器的外部结构微处理器的内部结构微处理器的功能结构微处理器的寄存器组织微处理器的存储器和I/O组成18086/8088CPU内部共有14个16位寄存器,用于提供运算,控制指令执行和对指令及操作数寻址。掌握每个寄存器的作用以及用法,是学好汇编语言程序设计的基础。14个寄存器按其用途可分为三大类:通用寄存器(8个)段寄存器(4个)控制寄存器(2个)2.4微处理器的寄存器组织2一.通用寄存器(8个)8个16位通用寄存器分为两组:地址指针和变址寄存器(4个)数据寄存器(4个)2.4微处理器的寄存器组织3存放数据16位8位DX
2、DLDHCXCLCHBXBLBHAXALAH累加器Accumulator基址寄存器(地址寄存器)BaseRegister计数器CountRegister数据寄存器DataRegister1.数据寄存器(4个)2.4微处理器的寄存器组织42.地址指针和变址寄存器(4个)均为16位,也能存放数据均为地址寄存器DISIBPSP堆栈指针寄存器StackPointer基址指针寄存器BasePointer源变址寄存器SourceIndex目的变址寄存器DestinationIndex2.4微处理器的寄存器组织5二.段寄存器堆栈信息数据(数值、字符等)代码(指令码)在微机系
3、统的内存中通常存放着三类信息:指示CPU执行何种操作。程序处理的对象或结果。被保存的返回地址和中间结果等。代码段数据段堆栈段2.4微处理器的寄存器组织68086/8088CPU有4个段寄存器。分别是:代码段寄存器。指向当前的代码段,指令由此段取出。CodeSegment数据段寄存器。指向当前的数据段。DataSegment附加数据段寄存器。指向当前的附加数据段。ExtraSegment堆栈段寄存器。指向当前的堆栈段。StackSegmentSSESDSCS16位2.4微处理器的寄存器组织7指令指针寄存器相当于一般微处理器中的程序计数器(PC:ProgramCo
4、unter)。它始终指向CPU下一条要取指令所在存贮器单元的偏移地址(段地址由CS提供)。用户不能更改IP的值,只有CPU执行转移指令,子程序调用指令和子程序返回指令以及中断处理时,IP才作相应的改变。四.控制寄存器(2个)1.指令指针寄存器(IP:InstructionPointer)(16位)2.4微处理器的寄存器组织8标志寄存器相当于一般微处理器中的程序状态字寄存器(PSW)。16位,但有用的只有9位,其中:2.标志寄存器(FLAG)状态标志:CF,PF,AF,ZF,SF,OF,共6位控制标志:TF,IF,DF,共3位如下图所示:OFDFIFTFSFZF
5、AFPFCF15141312111098765432102.4微处理器的寄存器组织9CF(CarryFlag)进位标志。如果加法时最高位(对字节操作是D7位,对字操作是D15位)产生进位或减法时最高位产生错位,则CF=1,否则CF=0。状态标志反映的是ALU运算后结果的状态AF(AuxiliaryCarryFlag)辅助进位标志。如果在加法时D3位有进位或减法时D3位有借位,则AF=1,否则AF=0。这个标志位用于实现BCD码算术运算结果的调整。2.4微处理器的寄存器组织10ZF(ZeroFlag)零标志位。如果运算结果各位都为零,则ZF=1,否则ZF=0。S
6、F(SignFlag)符号标志。它总是和结果的最高位(字节操作时是D7,字操作时是D15)相同,因为在补码运算时最高位是符号位,所以运算结果为负时,SF=1,否则SF=0.2.4微处理器的寄存器组织11OF(OverflowFlag)溢出标志。在加或减运算中结果超出8位或者16位有符号数所能表示的数值范围(-128∽+127或-32768∽+32767)时,产生溢出,OF=1,否则OF=0。PF(ParityFlag)奇偶标志。如果操作结果的低8位中含有偶数个1,PF=1,否则PF=0。2.4微处理器的寄存器组织12例1:若CPU执行5439H+476AH加法
7、运算指令:那么,指令执行后有:SF=1,ZF=0,PF=1,AF=1,CF=0,OF=10101010000111001B0100011101101010B1001101110100011B+2.4微处理器的寄存器组织13例2:若CPU执行543AH-FE00H减法运算指令;那么,指令执行后有:SF=0,ZF=0,PF=1,AF=0,CF=1,OF=00101010000111010B1111111000000000B0101011000111010B-2.4微处理器的寄存器组织142.4微处理器的寄存器组织溢出=进位?01100100B01100100B11
8、001000B+10101011B11
此文档下载收益归作者所有