《微机原理3.ppt》由会员分享,可在线阅读,更多相关《微机原理3.ppt(14页珍藏版)》请在优知文库上搜索。
1、80X86微处理器微处理器2.1概述概述P18本章提要本章提要p52-p55 通用寄存器通用寄存器 AX/CX BX/BP/SI/DI 段寄存器段寄存器 专用寄存器专用寄存器 EIP/IP EFLAGS/FLAGS ZF/CF/SF 微处理器的工作方式微处理器的工作方式 实地址方式实地址方式 保护方式保护方式 虚拟虚拟8086方式方式CPU结构结构 EU:Execution Unit执行单元负责执行单元负责执行指令。执行指令。BIU:Bus Interface Unit总线接口总线接口单元负责从存储器或外部设备中读取单元负责从存储器或外部设备中读取指令和读指令和读/写数据,即完成总线操作写数据
2、,即完成总线操作80 x86寄存器结构寄存器结构1.通用寄存器通用寄存器2.指令指针寄存器指令指针寄存器3.标志寄存器标志寄存器4.段寄存器段寄存器5.系统地址寄存器系统地址寄存器6.调试寄存器调试寄存器7.测试寄存器测试寄存器8.控制寄存器控制寄存器9.浮点寄存器浮点寄存器通用寄存器通用寄存器专用寄存器专用寄存器段寄存器段寄存器 通用寄存器通用寄存器 (E)AX/BX/CX/DX:字:字(字节、双字字节、双字)(E)SP/BP/SI/DI:字:字(双字双字)控制寄存器控制寄存器(E)IP:指令指针指令指针(E)FLAGS:标志寄存器标志寄存器 段寄存器段寄存器 CS/SS/DS/ES(FS/
3、GS)P7标志寄存器标志寄存器状态标志位状态标志位(由目的操作数中的结果确定由目的操作数中的结果确定)1.进位标志位(进位标志位(Carry Flag,CF):):最高位最高位有进有进位或借位,位或借位,CF=1;无进位或借位,;无进位或借位,CF=0。2.零标志位(零标志位(Zero Flag,ZF):):ALU的结果为的结果为零,零,ZF=1;结果不为零,;结果不为零,ZF=0。3.符号标志位(符号标志位(Sign Flag,SF):该位总是和):该位总是和ALU结果的最高位相同。因为在带符号数运算结果的最高位相同。因为在带符号数运算时,最高位是符号位,所以运算结果为负时,时,最高位是符号
4、位,所以运算结果为负时,SF=1;否则;否则SF=0。4.溢出位(溢出位(Overflow Flag,OF):在):在带符号带符号的的加、减算术指令执行后,加、减算术指令执行后,ALU的结果超出数据的结果超出数据的量程,则产生溢出,的量程,则产生溢出,OF=1;否则;否则OF=0。当计算发生符号错误即溢出当计算发生符号错误即溢出 状态标志位状态标志位5.奇偶标志位(奇偶标志位(Parity Flag,PF):):ALU的结果的的结果的低低8位位中中1的个数为偶的个数为偶数,数,PF=1;若为奇数,;若为奇数,PF=0。(奇奇校验校验:使低使低8位及位及PF中中1的个数维持的个数维持为奇数个为奇
5、数个)6.辅助进位标志位(辅助进位标志位(Auxiliary Carry Flag,AF):加、减算术指令执):加、减算术指令执行后,行后,最低最低4位位D 3 D 0位有进位位有进位或借位,或借位,AF=1;无进位或借位,;无进位或借位,AF=0。控制标志位控制标志位(人为指令干预)(人为指令干预)1.陷阱标志(陷阱标志(Trap Flag,TF):若):若TF=1,则则CPU处于单步执行指令的工作方式。;处于单步执行指令的工作方式。;若若TF=0,CPU正常执行程序。正常执行程序。2.中断允许标志位(中断允许标志位(Inerupt Enable Flag,IF):当):当IF=1,CPU允
6、许响应可屏蔽中允许响应可屏蔽中断请求;若断请求;若IF=0,CPU禁止响应可屏蔽禁止响应可屏蔽中断请求。中断请求。3.方向标志(方向标志(Direction Flag,DF):该):该标志用于控制数据串操作指令的步进方标志用于控制数据串操作指令的步进方向。若向。若DF=0,从低地址向高地址方向步,从低地址向高地址方向步进;若进;若DF=1,从高地址向低地址方向步,从高地址向低地址方向步进。进。练习练习AX=4566HDX=12FAHAX+DX求结果和各标志寄存器的结果求结果和各标志寄存器的结果(P8)0100 0101 0110 0110+0001 0010 1111 1010-0101 1000 0110 0000AX=5860H CF=0 PF=1 AF=1 SF=0 ZF=0 OF=0 AL=66H DL=FAH AL+DL 0110 0110+1111 1010-1 0110 0000 CF=1 SF=0 ZF=0 AF=1 OF=0 再计算再计算AH+DH AX=?AL=80H DL=80H AL+DL 1000 0000+1000 0000-1 0000 0000 CF=1 SF=0 ZF=1 AF=0 OF=1 AX=007FH,DX=0001H 求结果和各标志寄存器的结果求结果和各标志寄存器的结果