收藏 分销(赏)

微机原理3-1.ppt

上传人:精**** 文档编号:1846988 上传时间:2024-05-10 格式:PPT 页数:68 大小:2.09MB
下载 相关 举报
微机原理3-1.ppt_第1页
第1页 / 共68页
微机原理3-1.ppt_第2页
第2页 / 共68页
微机原理3-1.ppt_第3页
第3页 / 共68页
微机原理3-1.ppt_第4页
第4页 / 共68页
微机原理3-1.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、第三章第三章 微处理器及其系统微处理器及其系统微型计算机原理及应用微型计算机原理及应用 主编:主编:李继灿李继灿 清华大学出版社清华大学出版社 软件学院软件学院引言引言微型计算机微型计算机系统系统硬件系统硬件系统(微机微机)软件系统软件系统微处理器微处理器(CPUCPU)主存储器主存储器算术逻辑部件算术逻辑部件外设外设控制器控制器应用软件应用软件微型计算机系统的组成微型计算机系统的组成系统软件系统软件寄存器寄存器I/OI/O接口接口键盘、鼠标、显示器、键盘、鼠标、显示器、硬盘、光盘、打印机等硬盘、光盘、打印机等2 软件学院软件学院内容提要内容提要3.3 存储器存储器 3.2 最小最小/最大工作

2、方式最大工作方式 3.1 8086/8088微处理器微处理器3.4 指令系统指令系统 3.5 微处理器微处理器 3 软件学院软件学院3.1 80X863.1 80X86微处理器微处理器80X8680X86是是IntelIntel公司生产的微处理器系列。公司生产的微处理器系列。微处理器:微处理器:把运算器和控制器集成到一个芯片。把运算器和控制器集成到一个芯片。微计算机系统:微计算机系统:把微处理器芯片作为中央处理机把微处理器芯片作为中央处理机(CPUCPU),配上存储器、输入输出设备和系),配上存储器、输入输出设备和系统软件构成统软件构成微计算机系统微计算机系统。如:由如:由8038680386

3、微处理器芯片构成的微机称为微处理器芯片构成的微机称为386386微机。微机。由由P4P4微处理器芯片构成的微机称为微处理器芯片构成的微机称为P4P4微机。微机。4 软件学院软件学院3.1.0 Intel3.1.0 Intel微处理器发展概述微处理器发展概述 1968 年,罗伯特年,罗伯特诺伊斯(诺伊斯(Robert Noyce)、)、戈登戈登摩尔(摩尔(Gordon Moore)和安迪)和安迪格鲁夫格鲁夫(Andy Grove)在硅谷共同创立了英特尔公)在硅谷共同创立了英特尔公司。司。Only the Paranoid Survive!-Andy Grove了解了解5 软件学院软件学院3.1.

4、0 Intel3.1.0 Intel微处理器发展概述微处理器发展概述 1.1.第第1 1代微处理器代微处理器 Intel4004/40404Intel4004/40404位微处理器位微处理器(1971)(1971)Intel8008 Intel8008 低档低档8 8位微处理器位微处理器(1972)(1972)2.2.第第2 2代微处理器代微处理器 Intel8080/8085 8Intel8080/8085 8位微处理器位微处理器(1974)(1974)指令比较完善,有了中断与指令比较完善,有了中断与DMADMA汇编、汇编、BASICBASIC、FORTRANFORTRANIntel 400

5、4Intel 8085了解了解6 软件学院软件学院3.3.第第3 3代微处理器代微处理器 Intel808616Intel808616位微处理器位微处理器(1978)(1978)数据总线数据总线数据总线数据总线16161616位、地址总线位、地址总线位、地址总线位、地址总线20202020位位位位Intel8088 Intel8088 准准1616位微处理器位微处理器(1979)(1979)外部数据总线外部数据总线外部数据总线外部数据总线8 8 8 8位,内部数据总线位,内部数据总线位,内部数据总线位,内部数据总线16161616位位位位IBM PCIBM PCIBM PCIBM PC(198

6、1)(1981)(1981)(1981)、IBM PC/XTIBM PC/XTIBM PC/XTIBM PC/XTIntel80286 Intel80286 高档高档1616位微处理器位微处理器(1982)(1982)数据总线数据总线数据总线数据总线16161616位,地址总线位,地址总线位,地址总线位,地址总线24242424位位位位IBM PC/ATIBM PC/ATIBM PC/ATIBM PC/AT 实地址模式、虚地址保护模式实地址模式、虚地址保护模式实地址模式、虚地址保护模式实地址模式、虚地址保护模式 虚地址模式可寻址虚地址模式可寻址虚地址模式可寻址虚地址模式可寻址16MB16MB1

7、6MB16MB物理地址和物理地址和物理地址和物理地址和1GB1GB1GB1GB的虚的虚的虚的虚拟地址拟地址拟地址拟地址3.1.0 Intel3.1.0 Intel微处理器发展概述微处理器发展概述 了解了解7 软件学院软件学院3.1.0 Intel3.1.0 Intel微处理器发展概述微处理器发展概述了解了解8 软件学院软件学院IntelIntel公司生产的公司生产的80 x8680 x86:推出推出 年代年代 CPU 芯片芯片 寄存器寄存器 位位 数数 数据线数据线 宽宽 度度 地址线地址线 宽宽 度度 最大主频最大主频 MHz 寻址空间寻址空间(B)高速缓存高速缓存 1971 4004 4

8、4 8 0.1 256 无无 1972 8008 8 8 14 0.2 16KB 无无 1974 8080 8 8 16 2 64KB 无无 1978 8086 16 16 20 10 1MB 无无 1979 8088 16 8 20 8 1MB 无无 1982 80286 16 16 24 16 16MB 无无 1986 80386 32 32 32 33 4GB 有有 1989 80486 32 32 32 66 4GB 8KB 1993 Pentium 32 64 32 100 4GB 8KB 数据数据+8KB 指令指令 1995 Pentium Pro 32 64 36 200 64G

9、B 8KB 数据数据+8KB 指令指令256KB二级高速缓存二级高速缓存 1997 Pentium II 32 64 36 450 64GB 32KB一级一级+512KB二级二级 1999 Pentium III 32 64 36 1000 64GB 32KB一级一级+512KB二级二级 2000 Pentium4 32 64 64 3600 224TB 128KB一级一级512KB二级二级 2005 Pentium4 EE 64 64 64?224T B 三级高速缓存三级高速缓存 9 软件学院软件学院3.1.13.1.1内部结构内部结构1.1.算术逻辑部件算术逻辑部件ALUALU:执行算术和

10、逻辑运算。执行算术和逻辑运算。2.2.控制器:控制器:负责对全机的控制。负责对全机的控制。3.3.寄存器寄存器:处理器中临时存储数据的基本逻辑部件。处理器中临时存储数据的基本逻辑部件。lCPUCPU的任务的任务:执行存放在存储器中的指令序列执行存放在存储器中的指令序列lCPUCPU的组成的组成:运算器运算器+控制器控制器+高速缓存(高速缓存(386386开始)开始)lCPUCPU功能功能:取指令取指令 -分析指令分析指令 -执行指令执行指令10 软件学院软件学院中央处理机中央处理机CPUCPU的物理组成的物理组成8086/80888086/8088由两部分组成由两部分组成总线接口单元总线接口单

11、元BIUBIU功能:取指令、取操作数、保存结果功能:取指令、取操作数、保存结果执行单元执行单元EUEU功能:执行指令功能:执行指令 总线接口单元总线接口单元地址总线地址总线数据总线数据总线系统系统总线总线主存储器主存储器控制总线控制总线I/O接口接口I/O接口接口I/O设备设备I/O设备设备 执行单元执行单元 CPU11 软件学院软件学院内部暂存器内部暂存器 IP ES SS DS CS输入输入/输出输出控制电路控制电路外外部部总总线线执行部分执行部分控制电路控制电路1 2 3 4 5 6ALU标志寄存器标志寄存器 AH AL BH BLCH CL DH DL BP SI DI SP地址加法器

12、地址加法器指令队列缓冲器指令队列缓冲器执行部件执行部件(EU)EU)总线接口部件(总线接口部件(BIU)BIU)16位位20位位16位位Intel Intel 80868086处理器的内部结构框图处理器的内部结构框图1616位内部数据总线位内部数据总线20位位地地址址线线8位位DBAB12 软件学院软件学院(一一)总线接口单元总线接口单元BIUBIU 总线接口单元总线接口单元BIUBIU的功能是负责完成的功能是负责完成CPUCPU与存与存储器或储器或I IO O设备之间的数据传送。其具体任务是:设备之间的数据传送。其具体任务是:BIUBIU要从内存取指令送到指令队列缓冲器;要从内存取指令送到指

13、令队列缓冲器;CPUCPU执执行指令时,总线接口单元要配合执行单元从指定行指令时,总线接口单元要配合执行单元从指定的内存单元或者外设端口中取数据,将数据传送的内存单元或者外设端口中取数据,将数据传送给执行单元,或者把执行单元的操作结果传送到给执行单元,或者把执行单元的操作结果传送到指定的内存单元或外设端口中。指定的内存单元或外设端口中。BIU BIU内有内有4 4个个1616位段地址寄存器位段地址寄存器CS(CS(代码段寄代码段寄存器存器)、DS(DS(数据段寄存器数据段寄存器)、SS(SS(堆栈段寄存器堆栈段寄存器)和和ES(ES(附加段寄存器附加段寄存器),1616位指令指针位指令指针IP

14、IP,6 6字节指令字节指令队列缓冲器,队列缓冲器,2020位地址加法器和总线控制电路。位地址加法器和总线控制电路。13 软件学院软件学院 1.1.指令队列缓冲器指令队列缓冲器:80868086的指令队列为的指令队列为6 6个字节,而个字节,而80888088的指令队列的指令队列为为4 4个字节。在执行指令的同时,从内存中取下面个字节。在执行指令的同时,从内存中取下面1 1条或几条指令,取来的指令依次放在指令队列中。条或几条指令,取来的指令依次放在指令队列中。“先进先出先进先出”的原则:的原则:(1)(1)取指时当指令队列缓冲器中存满取指时当指令队列缓冲器中存满1 1条指令后,条指令后,EUE

15、U执行。执行。(2)(2)指令队列缓冲器中只要空出指令队列缓冲器中只要空出2 2个个(对对8086)8086)或空出或空出1 1个个(对对8088)8088)指令字节时,指令字节时,BIUBIU自动执行取指操作,自动执行取指操作,直到填满。直到填满。14 软件学院软件学院(3)(3)在在EUEU执行指令的过程中,指令需要对存储器或执行指令的过程中,指令需要对存储器或I IO O设备存取数据时,设备存取数据时,BIUBIU将在执行完现行取指的存储器将在执行完现行取指的存储器周期后的下一个存储器周期,对指定的内存单元或周期后的下一个存储器周期,对指定的内存单元或I IO O设备进行存取操作设备进行

16、存取操作,交换的数据经交换的数据经BIUBIU由由EUEU进行处进行处理。理。(4)(4)当当EUEU执行完转移、调用和返回指令时,则要清除指执行完转移、调用和返回指令时,则要清除指令队列缓冲器,并要求令队列缓冲器,并要求BIUBIU从新的地址重新开始取指从新的地址重新开始取指令,新取的第令,新取的第1 1条指令将直接经指令队列送到条指令将直接经指令队列送到EUEU去执去执行,随后取来的指令将填入指令队列缓冲器。行,随后取来的指令将填入指令队列缓冲器。15 软件学院软件学院2.2.地址加法器和段寄存器:地址加法器和段寄存器:80868086有有2020根地址线,内部寄存器有根地址线,内部寄存器

17、有1616位,采用位,采用了了1616位的段寄存器与位的段寄存器与1616位的偏移地址即位的偏移地址即“段加偏段加偏移移”的技术。的技术。利用各段寄存器分别来存放确定各段的起始地利用各段寄存器分别来存放确定各段的起始地址的址的1616位段地址信息,而由位段地址信息,而由IPIP提供或由提供或由EUEU按寻址按寻址方式计算出寻址单元的方式计算出寻址单元的1616位偏移地址位偏移地址(又称为逻辑又称为逻辑地址或简称为偏移量地址或简称为偏移量),然后,将它与左移,然后,将它与左移4 4位后位后的段寄存器的内容同时送到地址加法器进行相加,的段寄存器的内容同时送到地址加法器进行相加,最后形成一个最后形成

18、一个2020位的实际地址位的实际地址(又称为物理地址又称为物理地址),以对存储单元寻址。,以对存储单元寻址。16 软件学院软件学院3.3.1616位指令指针位指令指针IPIP(Instruction Pointer)(Instruction Pointer)其功能与其功能与8 8位位CPUCPU中的中的PCPC类类似。正常运行时似。正常运行时,IP,IP中含有中含有BIUBIU要取的下要取的下1 1条指令条指令(字节字节)的偏的偏移地址。移地址。IPIP在程序运行中能自在程序运行中能自动加动加1 1修正修正,使之指向要执行的使之指向要执行的下下1 1条指令条指令(字节字节)。有些指令。有些指令

19、能使能使IPIP值改变或使值改变或使IPIP值压进堆值压进堆栈,或由堆栈弹出恢复原值。栈,或由堆栈弹出恢复原值。17 软件学院软件学院 执行单元执行单元EUEU并不与系统的总线控制电并不与系统的总线控制电路直接相连路直接相连,这使得它能与总线接口单元之这使得它能与总线接口单元之间保持既相互联系又相互独立的关系。间保持既相互联系又相互独立的关系。功能只是负责执行指令;执行的指令从功能只是负责执行指令;执行的指令从BIUBIU的指令队列缓冲器中取得,执行指令的的指令队列缓冲器中取得,执行指令的结果或执行指令所需要的数据,都由结果或执行指令所需要的数据,都由EUEU向向BIUBIU发出请求,再由发出

20、请求,再由BIUBIU经总线控制电路对存经总线控制电路对存储器或外设存取。储器或外设存取。EUEU由下列部分组成。由下列部分组成。(二二)执行单元执行单元EUEU18 软件学院软件学院1.161.16位算术逻辑单元位算术逻辑单元(ALU)(ALU):它可以用于进行算术、逻辑运算,也可以按指它可以用于进行算术、逻辑运算,也可以按指令的寻址方式计算出寻址单元的令的寻址方式计算出寻址单元的1616位偏移量。位偏移量。2.162.16位标志寄存器位标志寄存器F F:它用来反映它用来反映CPUCPU运算的状态特征或存放控制标运算的状态特征或存放控制标志。志。3.3.数据暂存寄存器:数据暂存寄存器:它协助

21、它协助ALUALU完成运算,暂存参加运算的数据。完成运算,暂存参加运算的数据。4.4.通用寄存器组:通用寄存器组:它包括它包括4 4个个1616位数据寄存器位数据寄存器AXAX、BXBX、CXCX、DXDX和和4 4个个1616位指针与变址寄存器位指针与变址寄存器SPSP、BPBP与与SISI、DIDI。19 软件学院软件学院5.EU5.EU控制电路:控制电路:它是控制、定时与状态逻辑电路,接收从它是控制、定时与状态逻辑电路,接收从BIUBIU中指令队列取来的指令中指令队列取来的指令,经过指令译码形成各种定经过指令译码形成各种定时控制信号,对时控制信号,对EUEU的各个部件实现特定的定时操作。

22、的各个部件实现特定的定时操作。EUEU中所有的寄存器和数据通道中所有的寄存器和数据通道(除队列总线为除队列总线为8 8位外位外)都是都是1616位的宽度,可实现数据的快速传送。位的宽度,可实现数据的快速传送。8088CPU8088CPU内部结构与内部结构与80868086的基本相似,只是的基本相似,只是8088BIU8088BIU中指令队列长度为中指令队列长度为4 4个字节;个字节;8088BIU8088BIU通过总通过总线控制电路与外部交换数据的总线宽度是线控制电路与外部交换数据的总线宽度是8 8位,总位,总线控制电路与专用寄存器组之间的数据总线宽度也线控制电路与专用寄存器组之间的数据总线宽

23、度也是是8 8位。位。20 软件学院软件学院3.1.2 80X863.1.2 80X86的寄存器结构的寄存器结构(重点重点)可见寄存器可见寄存器应用程序中由指令进行访问的寄存器。应用程序中由指令进行访问的寄存器。通用寄存器:通用寄存器:8 8个个段寄存器:段寄存器:4 4个个专用寄存器:专用寄存器:2 2个个21 软件学院软件学院8086/80888086/8088内部寄存器内部寄存器 AHAX AL 累加寄存器累加寄存器 BHBX BL 基址寄存器基址寄存器 CHCX CL 计数寄存器计数寄存器 DHDX DL 数据寄存器数据寄存器 SP堆栈指针寄存器堆栈指针寄存器 BP基址指针寄存器基址指

24、针寄存器 SI源变址寄存器源变址寄存器 DI目的变址寄存器目的变址寄存器8个个16位位通通用用寄寄存存器器4个个16位位段寄段寄存器存器CS代码段寄存器代码段寄存器 DS数据段寄存器数据段寄存器SS堆栈段寄存器堆栈段寄存器 ES附加段寄存器附加段寄存器2个个16位位控制控制寄存寄存器器IP指令指针寄存器指令指针寄存器 FR标志寄存器标志寄存器按照功能分类,将按照功能分类,将1414个内部寄存器分为三组个内部寄存器分为三组数数据据寄寄存存器器掌握掌握22 软件学院软件学院1.1.通用寄存器通用寄存器AX(accumulator)AX(accumulator)累加器累加器:算术运算,乘除指令中指定

25、存:算术运算,乘除指令中指定存放操作数,放操作数,I/OI/O指令使用指令使用AXAX与外设传送信息与外设传送信息BX(base)BX(base)基址寄存器:基址寄存器:除通用外,计算存储器地址时,除通用外,计算存储器地址时,用作基址寄存器用作基址寄存器CX(count)CX(count)计数器:计数器:除通用外,保存计数除通用外,保存计数(移位、循环等移位、循环等指令中的计数器指令中的计数器)DX(data)DX(data)数据寄存器:数据寄存器:除通用外,在双字长运算中,除通用外,在双字长运算中,DXDX和和AXAX组合保存双字长数,组合保存双字长数,DXDX存放高存放高1616位;或存放

26、外设端位;或存放外设端口地址口地址特点:特点:可作可作1616位寄存器使用,也可拆成位寄存器使用,也可拆成2 2个独立的个独立的8 8位寄存器位寄存器具有良好的通用性:在程序中即可存放操作数,也可具有良好的通用性:在程序中即可存放操作数,也可存放操作结果存放操作结果(1)数据寄存器数据寄存器掌握掌握23 软件学院软件学院 数据寄存器举例数据寄存器举例例如:例如:在指令中指明使用在指令中指明使用 ADD AXADD AX,BXBX MOV BL MOV BL,ALAL例如:例如:在指令中特定使用在指令中特定使用CLCL SHL AX SHL AX,CL;CL;逻辑左移逻辑左移(CL)(CL)位位

27、例如:例如:在指令中隐含使用在指令中隐含使用ALAL MUL BL MUL BL;无符号乘法;无符号乘法;(AX)=(AL)(BL);(AX)=(AL)(BL)24 软件学院软件学院(2)(2)指针及变址寄存器指针及变址寄存器变址寄存器:变址寄存器:存储器寻址时,与数据段寄存器联用,提存储器寻址时,与数据段寄存器联用,提供偏移地址;只能以字的形式访问。供偏移地址;只能以字的形式访问。SISI(Source Index)(Source Index)源变址寄存器源变址寄存器DIDI(Destination Index)(Destination Index)目的变址寄存器目的变址寄存器指针寄存器指针

28、寄存器:SPSP(Stack Point)(Stack Point)堆栈指针寄存器,存放堆栈段中栈顶单堆栈指针寄存器,存放堆栈段中栈顶单元的偏移量元的偏移量BPBP(Base Point)(Base Point)基址指针寄存器,存放堆栈段中某个单元基址指针寄存器,存放堆栈段中某个单元的全部的全部/部分偏移量,也可存放部分偏移量,也可存放1616位操作数或结果位操作数或结果.也可用于存放操作数,但只能作为也可用于存放操作数,但只能作为1616位位R R使用使用掌握掌握25 软件学院软件学院3.1.2.2 3.1.2.2 段寄存器段寄存器CSCS:代码段寄存器:代码段寄存器对应的段存放指令代码对应

29、的段存放指令代码DSDS:数据段寄存器:数据段寄存器对应的段存放数据或变量对应的段存放数据或变量SSSS:堆栈段寄存器:堆栈段寄存器对应的段存放栈操作的数据对应的段存放栈操作的数据ESES:附加段寄存器:附加段寄存器对应的段存放数据或变量对应的段存放数据或变量w存储器是按段进行组织的,段寄存器就是用存储器是按段进行组织的,段寄存器就是用来存放段基值的(段起始地址的高来存放段基值的(段起始地址的高1616位)。位)。掌握掌握26 软件学院软件学院需执行的程序通常分为需执行的程序通常分为4个段:个段:代码段代码段、数据段数据段、堆栈段堆栈段、附加段附加段00000代码段代码段FFFFF HCSDS

30、SSES1616位段寄存器位段寄存器代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器注意:段寄存器的功能不能互换!注意:段寄存器的功能不能互换!数据段数据段堆栈段堆栈段段基址段基址段基址段基址段基址段基址段基址段基址附加段附加段27 软件学院软件学院3 3.1 1.2.2.3 3 专用寄存器专用寄存器 8086/8088/802868086/8088/80286:1616位寄存器位寄存器l指令指针寄存器指令指针寄存器IPIPl标志寄存器标志寄存器F F8038680386及其后继机型(了解)及其后继机型(了解)3232位寄存器位寄存器l指令指针寄

31、存器指令指针寄存器EIPEIPl标志寄存器标志寄存器EFLAGESEFLAGES 28 软件学院软件学院29 软件学院软件学院3 3.1 1.2.2.3 3 专用寄存器专用寄存器IPIP或或EIPEIPIP (Instruction Pointer)IP (Instruction Pointer)指令指针寄存器指令指针寄存器IP IP n指示代码段中指令的偏移地址指示代码段中指令的偏移地址n它与代码段寄存器它与代码段寄存器CSCS联用,确定下一条指令的物理地址联用,确定下一条指令的物理地址物理地址物理地址=(CS)16D+(IP)=(CS)16D+(IP)n计算机通过计算机通过 CS:IP C

32、S:IP 寄存器来控制指令序列的执行流程寄存器来控制指令序列的执行流程n不能对不能对IPIP指针直接进行访问指针直接进行访问CSIP0000CPU+00000HFFFFFH代码段段基址代码段段基址偏移量偏移量IP0101001000010010正在执行的指令正在执行的指令下一条指令下一条指令掌握掌握30 软件学院软件学院3.1.2.3 3.1.2.3 专用寄存器专用寄存器标志寄存器标志寄存器F F标志标志(FlagFlag)用于反映)用于反映指令执行结果的情况指令执行结果的情况或或控制指令的执行控制指令的执行方式方式又称又称程序状态字寄存器程序状态字寄存器(program status wor

33、d,PSW)program status word,PSW)。31 软件学院软件学院(1 1)条件(状态)标志)条件(状态)标志记录程序运行结果的状态信息。主要包含:记录程序运行结果的状态信息。主要包含:符号标志符号标志SF SF 零标志零标志ZFZF辅助进位辅助进位AF AF 奇偶标志奇偶标志PFPF进位标志进位标志CF CF 溢出标志溢出标志OFOF(2 2)控制标志)控制标志 方向标志方向标志DFDF:用于串处理指令:用于串处理指令(3 3)系统标志)系统标志 中断允许标志中断允许标志IFIF:IF=1,CPUIF=1,CPU允许中断,否则关闭中断允许中断,否则关闭中断 陷阱陷阱(或跟踪

34、或跟踪)标志标志TFTF:TF=1TF=1,机器进入单步工作方式;,机器进入单步工作方式;TF=0TF=0,机器处于连续工作方式,机器处于连续工作方式3.1.2.3 3.1.2.3 标志寄存器标志寄存器 OF DF IF TF SF ZF AF PF CF掌握掌握32 软件学院软件学院例例 某某CPU内含内含 8位运算器位运算器,则:,则:参加运算的数及结果均以参加运算的数及结果均以 8位位 表示表示,最高位产生的进位或借位在最高位产生的进位或借位在8位运算器位运算器中不保存,中不保存,而将其保存到而将其保存到标志寄存器标志寄存器中。中。1 0 1 1 0 1 0 1 被加数被加数8位位 +1

35、 0 0 0 1 1 1 1 加数加数8位位进位进位 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 和和8位位PSW标志寄存器标志寄存器运运算算器器标志标志寄存器寄存器运运算算器器被加数被加数加数加数和和进位进位掌握掌握33 软件学院软件学院l进位标志进位标志CFCF(Carry FlagCarry Flag)记录运算时从记录运算时从最高有效位最高有效位(字节第字节第7 7位,字第位,字第1515位位)产生产生的进的进/借位值借位值例如:执行指令:例如:执行指令:ADD AL,ADD AL,BLBL3AH+7CH3AH+7CHB6HB6H,没有进位:,没有进位:CF=0CF=0A

36、AH+7CHAAH+7CH(1 1)26H26H,有进位:,有进位:CF=1CF=10NC没有产生进没有产生进/借位借位1CY有进有进/借位产生借位产生CF=OF DF IF TF SF ZF AF PF CF掌握掌握34 软件学院软件学院l溢出标志溢出标志OFOF(Overflow FlagOverflow Flag)算术运算中,带符号数的运算结果超出了算术运算中,带符号数的运算结果超出了8 8位或位或1616位带符位带符号数能表达的范围,则号数能表达的范围,则OF=1OF=1,否则,否则OF=0OF=0。8 8位(字节)运算位(字节)运算 -128+127-128+1271616位(字)位

37、(字)运算运算 -32768+32767-32768+32767即即:表明补码的运算结果是否有溢出表明补码的运算结果是否有溢出0NV 没有溢出没有溢出1OV 溢出溢出OF=OF=例:例:执行指令:执行指令:ADD AL,ADD AL,BLBL3AH+7CH3AH+7CHB6HB6H,产生溢出:,产生溢出:OF=1OF=1AAH+7CHAAH+7CH(1 1)26H26H,没有溢出:,没有溢出:OF=0OF=0掌握掌握35 软件学院软件学院l溢出和进位的比较溢出和进位的比较溢出标志溢出标志OFOF和进位标志和进位标志CFCF是两个意义不同的标志是两个意义不同的标志进位标志表示进位标志表示无符号数

38、运算无符号数运算结果是否超出范围,运算结结果是否超出范围,运算结果仍然正确;果仍然正确;溢出标志表示溢出标志表示有符号数运算有符号数运算结果是否超出范围,如溢出,结果是否超出范围,如溢出,运算结果已经不正确。运算结果已经不正确。掌握掌握36 软件学院软件学院l如何运用溢出和进位如何运用溢出和进位处理器对两个操作数进行运算时,按照无符号数求得结果,处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志并相应设置进位标志CFCF;同时,根据是否超出有符号数的;同时,根据是否超出有符号数的范围设置溢出标志范围设置溢出标志OFOF。(规则规则1)1)当同号操作数相加并且结果符号与加数相

39、反时,当同号操作数相加并且结果符号与加数相反时,OF=1OF=1正正+正正=负负 负负+负负=正正当同号操作数相减时,当同号操作数相减时,OF=0OF=0当异号操作数数相加时,当异号操作数数相加时,OF=0OF=0当异号操作数相减时,可看作同号操作数相加,根据规则当异号操作数相减时,可看作同号操作数相加,根据规则1 1判断判断应该利用哪个标志,则由程序员来决定。应该利用哪个标志,则由程序员来决定。操作数是无符号数,应该关心进位标志操作数是无符号数,应该关心进位标志CFCF;操作数是有符号数,要注意溢出标志操作数是有符号数,要注意溢出标志OF OF。掌握掌握37 软件学院软件学院例例1 1:8

40、8位加法位加法3AH+7CH3AH+7CH?CF=0OF=1l溢出和进位的比较溢出和进位的比较 00111010(3AH)00111010(3AH)+01111100(7CH)+01111100(7CH)1011011010110110 B6HB6H无符号数运算无符号数运算 58D58D 124D124D 182D182D B6HB6H 无进位无进位 范围内范围内 结果正确结果正确有符号数运算有符号数运算 58D58D 124D124D 182D182DB6H=-01001001BB6H=-01001001B =-73D =-73D 有溢出有溢出结果不正确结果不正确38 软件学院软件学院例例2

41、 2:AAH+7CH=AAH+7CH=?AAH=10011001AAH=100110017CH=011111007CH=01111100 和和 =(1)00010101=(1)00010101 =26H =26HCF=1OF=0l溢出和进位的比较溢出和进位的比较无符号数运算无符号数运算 170170 124124 294294(126H)(126H)有进位有进位 范围外范围外结果需要修正结果需要修正有符号数运算有符号数运算 8686 124124 3838 26H26H 无溢出无溢出 范围内范围内 结果正确结果正确39 软件学院软件学院若运算结果为若运算结果为0 0,则,则ZF=1ZF=1;否

42、则;否则ZF=0ZF=00NZ结果非零结果非零1ZR结果为零结果为零ZF=例:(执行指令:例:(执行指令:ADD AL,ADD AL,BLBL)3AH+7CH3AH+7CHB6HB6H,结果不是零:,结果不是零:ZF=0ZF=084H+7CH84H+7CH(1 1)00H00H,结果是零:,结果是零:ZF=1ZF=1 注意:注意:ZF=1ZF=1表示结果表示结果=0=0 OF DF IF TF SF ZF AF PF CFl零标志零标志ZFZF(Zero FlagZero Flag)掌握掌握40 软件学院软件学院符号标志符号标志SFSF(Sign FlagSign Flag)表明有符号数运算结

43、果的正负表明有符号数运算结果的正负0PL结果为正结果为正1NG结果为负结果为负SF=有符号数据用最高有效位表示数据的符号。有符号数据用最高有效位表示数据的符号。所以,最高有效位就是符号标志的状态所以,最高有效位就是符号标志的状态3AH+7CH3AH+7CHB6HB6H,最高位,最高位D D7 71 1:SF=1SF=184H+7CH84H+7CH(1 1)00H00H,最高位,最高位D D7 70 0:SF=0SF=0 OF DF IF TF SF ZF AF PF CF掌握掌握41 软件学院软件学院l奇偶标志奇偶标志PFPF(Parity FlagParity Flag)表明运算结果表明运算

44、结果最低字节最低字节中中1 1的个数的奇偶的个数的奇偶0 0POPO 1 1的个数为奇数的个数为奇数1 1PEPE 1 1的个数为偶数的个数为偶数PF=PF=例:例:3AH+7CH3AH+7CHB6HB6H10110110B10110110B结果中有结果中有5 5个个1 1,是奇数:是奇数:PF=0PF=0即使进行即使进行1616位字操作,位字操作,PFPF标志仅反映标志仅反映最低最低8 8位中位中“1”1”的个数是偶或奇。的个数是偶或奇。OF DF IF TF SF ZF AF PF CF掌握掌握42 软件学院软件学院l辅助进位标志辅助进位标志AFAF记录运算时低记录运算时低8 8位中低位中

45、低4 4位(低半字节)向高位(低半字节)向高4 4位有无进位位有无进位或借位或借位0NA D3未产生进未产生进/借位借位1AC D3产生进产生进/借位借位AF=3AH+7CH3AH+7CHB6HB6H,D D3 3有进位有进位?AFAF标标志志主主要要由由处处理理器器内内部部使使用用,用用于于十十进进制制算算术术运运算调整指令中,用户一般不必关心算调整指令中,用户一般不必关心 OF DF IF TF SF ZF AF PF CF 0011 10100011 1010+0111 1100+0111 1100 1011 0110 1011 01101掌握掌握43 软件学院软件学院l方向标志方向标志

46、DFDF(Direction FlagDirection Flag)用于串操作指令中,控制地址的变化方向用于串操作指令中,控制地址的变化方向0 0UPUP存储器地址自动增量修改存储器地址自动增量修改1 1DNDN存储器地址自动减量修改存储器地址自动减量修改DF=DF=当当DF=1DF=1时,每次操作后变址寄存器时,每次操作后变址寄存器SISI和和DIDI减小减小当当DF=0DF=0时,每次操作后变址寄存器时,每次操作后变址寄存器SISI和和DIDI增大增大CLDCLD指令复位方向标志:指令复位方向标志:DFDF0 0STDSTD指令置位方向标志:指令置位方向标志:DFDF1 1 OF DF I

47、F TF SF ZF AF PF CF掌握掌握44 软件学院软件学院l中断允许标志中断允许标志IFIF用于开中断或屏蔽中断用于开中断或屏蔽中断0 0DIDI关中断,禁止响应中断关中断,禁止响应中断1 1EIEI开中断,允许响应中断开中断,允许响应中断IF=IF=CLICLI指令复位中断标志:指令复位中断标志:IFIF0 0STISTI指令置位中断标志:指令置位中断标志:IFIF1 1 OF DF IF TF SF ZF AF PF CF掌握掌握45 软件学院软件学院l陷阱标志陷阱标志TFTF(Trap FlagTrap Flag)用于控制处理器进入单步操作方式用于控制处理器进入单步操作方式单单

48、步步执执行行指指令令处处理理器器在在每每条条指指令令执执行行结结束束时时,便产生一个编号为便产生一个编号为1 1的内部中断的内部中断这种内部中断称为单步中断这种内部中断称为单步中断所以所以TFTF也称为单步标志也称为单步标志n利用单步中断可对程序进行逐条指令的调试利用单步中断可对程序进行逐条指令的调试n这种逐条指令调试程序的方法就是单步调试这种逐条指令调试程序的方法就是单步调试 OF DF IF TF SF ZF AF PF CF0 0处理器正常工作处理器正常工作1 1处理器单步执行指令处理器单步执行指令TFTF=46 软件学院软件学院在调试程序时,在调试程序时,DEBUGDEBUG提供了测试

49、标志位的手段,提供了测试标志位的手段,用符号表示标志位的值,用符号表示标志位的值,每种标志位的符号如下表:每种标志位的符号如下表:DEBUG不提供不提供TF的符号的符号,用于单步方式操作。用于单步方式操作。47 软件学院软件学院例题例题m=00111011B,n=01001010B,完成下列运算后,完成下列运算后,SF、ZF、PF、CF、AF、OF标志位的状态。标志位的状态。(1)m+n (2)m-n (1)m+n 00111011 +01001010 10000101符号符号SF=零零ZF=奇偶奇偶PF=进位进位CF=辅助进位辅助进位AF=溢出溢出OF=100011 (2)m-n 00111

50、011 -01001010 11110001SF=ZF=PF=CF=AF=OF=10010048 软件学院软件学院AH ALBH BLCH CLDH DLSPBPDISIIPFLAGSCSDSESSSFSGS32位位16位位32位名称位名称16位名称位名称 通用名称通用名称AX 累加器累加器BX 基址变址基址变址CX 计数计数 堆栈指针堆栈指针DX 数据数据 基址指针基址指针 目的变址目的变址 源变址源变址指令指针指令指针标志标志代码段代码段数据段数据段附加段附加段堆栈段堆栈段EAXEBXECXEDXESPEBPEDIESIEIPEFLAGS注:注:1.1.8086/80888086/8088

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服