收藏 分销(赏)

2寄存器结构存储器管理.pptx

上传人:快乐****生活 文档编号:10189235 上传时间:2025-04-25 格式:PPTX 页数:28 大小:354.56KB 下载积分:10 金币
下载 相关 举报
2寄存器结构存储器管理.pptx_第1页
第1页 / 共28页
2寄存器结构存储器管理.pptx_第2页
第2页 / 共28页


点击查看更多>>
资源描述
微机原理及接口技术,第二级,第三级,第四级,第五级,微机原理及接口技术,基本结构寄存器,通用数据寄存器,SI,ESI,ESI,、,SI,:,数据段源变址指针寄存器,BP,EBP,EBP,、,BP,:,堆栈段基址指针寄存器,SP,ESP,ESP,、,SP,:,堆栈段栈顶指针寄存器,DH,DL,DX,EDX,EDX,、,DX,、,DH,、,DL,:,间接,I/O,操作;双字乘,/,除,CX,CH,CL,ECX,ECX,、,CX,、,CH,、,CL,循环计数;重复串操作;可变移位、循环移位操作。,EBX,、,BX,、,BH,、,BL,查表转换;基地址。,BX,BH,BL,EBX,EAX,、,AX,、,AH,、,AL,:,加减;,BCD,、,ASCII,调整;字节到字,字到双字转换;乘,/,除,串操作,,I/O,操作等。,AX,AH,AL,EAX,EDI,、,DI,:,数据段目的变址指针寄存器,DI,EDI,1.8086/8088CPU,的功能结构,EIP,(,IP,),(,Instruction pointer,)跟踪下条指令的偏移地址。,基本结构寄存器,专用寄存器,指令指针,EIP,(,IP,),IP,EIP,标志寄存器,EFLAGS(Flags),CPU,的控制标志和运算结果状态标志。,FLAG,EFLAG,D,16,ID,VIF,AC,VM,RF,D,21,D,31,VIP,D,18,A,P,C,D,I,T,S,Z,D,0,D,11,D,14,NT,IOPL,O,IOPL,1.8086/8088CPU,的功能结构,标志寄存器,EFLAGS(Flags),D,16,ID,VIF,AC,VM,RF,D,21,D,31,VIP,D,18,A,P,C,D,I,T,S,Z,D,0,D,11,D,14,NT,IOPL,O,IOPL,8086,:,D,0,D,11,9,个标志,80486,:,D,0,D,18,的,15,个标志,PENTIUM,:,D,0,D,21,的,18,个标志。,80386,:,D,0,D,17,14,个标志,80286,:,D,0,D,14,12,个标志,1.8086/8088CPU,的功能结构,标志寄存器,EFLAGS(Flags),8086,的状态标志和控制标志:,TF,DF,IF,OF,SF,ZF,AF,PF,CF,控制标志,状态标志,跟踪,状态标志:,标示,CPU,运行结果的状态。结果为零、为负、产生进位或借位等。,控制标志:,控制,CPU,的运行状态。,基本结构寄存器,半进位,奇偶,进位,零,符号,溢出,中断,方向,1.8086/8088CPU,的功能结构,标志寄存器,-,分类,状态标志,用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置它,CF ZF SF PF OF AF,控制标志,可由程序根据需要用指令设置,用于控制处理器执行指令的方式,DF IF TF,OF,11,15 12,DF,10,IF,9,TF,8,SF,7,ZF,6,5,AF,4,3,PF,2,1,CF,0,标志寄存器,FLAGS,进位标志,CF,(,Carry Flag,),当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置,1,,即,CF,1,;,否则,CF,0,3AH+7CH,B6H,,没有进位:,CF=0,AAH+7CH,(,1,),26H,,有进位:,CF=1,零标志,ZF,(,Zero Flag,),若运算结果为,0,,则,ZF,1,;,否则,ZF,0,3AH,7CH,B6H,,结果不是零:,ZF,0,84H,7CH,(,1,),00H,,结果是零:,ZF,1,注意:,ZF,为,1,表示的结果是,0,符号标志,SF,(,Sign Flag,),运算结果最高位为,1,,则,SF,1,;,否则,SF,0,3AH,7CH,B6H,,最高位,D,7,1,:,SF,1,84H,7CH,(,1,),00H,,最高位,D,7,0,:,SF,0,有符号数据用最高有效位表示数据的符号,所以,最高有效位就是符号标志的状态,奇偶标志,PF,(,Parity Flag,),当运算结果最低字节中“,1”,的个数为零或偶数时,,PF,1,;否则,PF,0,3AH,7CH,B6H,10110110B,结果中有,5,个“,1,”,,,是奇数:,PF,0,PF,标志仅反映最低,8,位中“,1”,的个数是偶或奇,即使是进行,16,位字操作,溢出标志,OF,(,Overflow Flag,),若算术运算的结果有溢出,则,OF,1,;,否则,OF,0,3AH+7CH,B6H,,产生溢出:,OF,1,AAH+7CH,(,1,),26H,,没有溢出:,OF,0,?,什么是溢出,处理器内部以补码表示有符号数,8,位表达的整数范围是:,127,128,16,位表达的范围是:,32767,32768,如果运算结果超出这个范围,就产生了溢出,有溢出,说明有符号数的运算结果不正确,3AH,7CH,B6H,,就是,58,124,182,,,已经超出,128,127,范围,产生溢出,故,OF,1,;补码,B6H,表达真值是,74,,显然运算结果也不正确,B6H,10110110B,,最高位为,1,,,作为有符号数是负数,对,B6H,求反加,1,等于:,01001001B,1,01001010B,4AH,74,所以,,B6H,表达有符号数的真值为,74,溢出和进位的区别,溢出标志,OF,和进位标志,CF,是两个意义不同的标志,进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确,溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确,?,溢出和进位的对比,例,1,:,3AH,7CH,B6H,无符号数运算:,58,124,182,范围内,无进位,有符号数运算:,58,124,182,范围外,有溢出,例,2,:,AAH,7CH,(,1,),26H,无符号数运算:,170,124,294,范围外,有进位,有符号数运算:,86,124,28,范围内,无溢出,溢出和进位的应用场合,处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志,CF,;同时,根据是否超出有符号数的范围设置溢出标志,OF,应该利用哪个标志,则由程序员来决定。也就是说,如果将参加运算的操作数认为是无符号数,就应该关心进位;认为是有符号数,则要注意是否溢出,溢出的判断,判断运算结果是否溢出有一个简单的规则:,只有当两个相同符号数相加(包括不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出;因为,此时的运算结果显然不正确,其他情况下,则不会产生溢出,例,1,:,3AH,7CH,B6H,溢出,例,2,:,AAH,7CH,无溢出,例,3,:,3AH,7CH,无溢出,例,4,:,AAH,7CH,2DH,溢出,辅助进位标志,AF,(,Auxiliary Carry Flag,),3AH,7CH,B6H,,,D3,有进位:,AF,1,运算时,D,3,位(低半字节)有进位或借位时,,AF,1,;否则,AF,0,这个标志主要由处理器内部使用,,用于十进制算术运算调整指令中,,用户一般不必关心,方向标志,DF,(,Direction Flag,),用于串操作指令中,控制地址的变化方向:,设置,DF,0,,存储器地址自动增加;,设置,DF,1,,存储器地址自动减少,CLD,指令复位方向标志:,DF,0,STD,指令置位方向标志:,DF,1,中断允许标志,IF,(,Interrupt-enable Flag,),控制可屏蔽中断是否可以被处理器响应:,设置,IF,1,,则允许中断;,设置,IF,0,,则禁止中断,CLI,指令复位中断标志:,IF,0,STI,指令置位中断标志:,IF,1,陷阱标志,TF,(,Trap Flag,),用于控制处理器进入单步操作方式:,设置,TF,0,,处理器正常工作;,设置,TF,1,,处理器,单步执行指令,单步执行指令,处理器在,每条指令执行结束,时,便产生一个编号为,1,的内部中断,这种内部中断称为,单步中断,所以,TF,也称为,单步标志,利用单步中断可对程序进行逐条指令的调试,这种逐条指令调试程序的方法就是,单步调试,段寄存器,对所有,X86,级,CPU,均为,16,位寄存器。,8086CPU:,段寄存器直接给出段基址。,代码段:,CS,代码段存贮区的起始地址,堆栈段:,SS,堆栈段存贮区的起始地址,数据段:,DS,、,ES,、,FS,、,GS,(,8086,只有二个数据段寄存器,DS,、,ES,),数据段存贮区的起始地址,基本结构寄存器,CS,ES,SS,DS,GS,FS,16,位,80286,以上,CPU:,由段寄存器(选择器)经全局描述符或局部描述符寄存器得到相应的描述符表,从而得到段基址,与偏移地址相加得到线性物理地址。,1.8086/8088CPU,的功能结构,D,7,D,0,字节,D,15,D,0,字,D,31,D,0,双字,D,7,D,0,00006H,78H,00005H,56H,00004H,12H,00003H,34H,00002H,00001H,00000H,低地址,LSB,MSB,2.2.2 8086/8088,存储器组织及其寻址,8086/8088,的存诸格式,存贮器的物理地址,以字节为最小基本存储单元的顺序编址。(,2,20,=1024K=1MB,空间)从,00000H,到,0FFFFFH,个单元的,20,位绝对地址。,2AH,?,H,BFH,00000H,00003H,00002H,00001H,FFFFDH,FFFFFH,FFFFEH,存贮器数据存储,1.字节数据,8位,对应每一地址存储一个数据,2.2.2 8086/8088,存储器组织及其寻址,2.字数据,16位,连续2个字节数据构成一个字,高8位,字节对应,高位地址,,,低8位,字节对应,低位地址,字的地址:,为低8位字节的地址,规则字:,偶地址字;,非规则字:,奇地址字,3.双字数据,32位,类同字的存储,存贮器的逻辑地址,将,1MB,空间,小于等于,2,16,=64K,连续的存储器为一段,分为多个段。每个段可以独立寻址。,段地址:段的起始地址,(段的编号)是该段的最低地址。,偏移地址:段内地址的顺序编号。,段地址:段内偏移地址,的表示方法称逻辑地址。,如,,2000H:100H,2.2.2 8086/8088,存储器组织及其寻址,分段之间必须:,1,保持,16,个字节或其整数倍为段地址间距。,2,16,位段寄存器表示段基址。段寄存器加,1,实际上存储器地址加,16,。,3,段可连续、分散、重迭。,00000H,00001H,FFFFFH,FFFFEH,代码段,数据段,堆栈段,附加段,CS,ES,SS,DS,8086,同时可有,4,个段被激活,(称当前段),。它们是,CS,代码段、,DS,数据段、,SS,堆栈段、,ES,附加数据段。,物理地址,与逻辑地址的关系:,物理地址,PA=,段地址,16+,偏移地址,(EA),2.2.2 8086/8088,存储器组织及其寻址,也可表为,0102H,:,0003H,PA=,0102H,10H+,0003H,=,1023H,两段间距为,20H,单元,两种逻辑地址表示同一个物理地址单元,01023H,。,00000H,00001H,FFFFFH,FFFFEH,XX,01023H,01000H,01001H,01002H,01022H,01021H,01020H,偏移,03,H,0102H,:,0000H,0102H,:,0001H,偏移,23H,0100H,:,0000H,0100H,:,0001H,PA=,0100H10H+0023H=1023H,例:对于物理地址,1023H,单元,可以表为,0100H,:,0023H,2.2.2 8086/8088,存储器组织及其寻址,端口:接口中的寄存器,端口号:端口中,寄存器,的地址编号,用低,16,位地址为其编号,共有,64K,个端口号,CPU,与外部设备之间的通过接口进行连接,2.2.3 8086/8088,的,I/O,地址空间,I/O,接口,CPU,AB,CB,DB,状态寄存器,设备驱动电路,数据寄存器,地址译码器,I/O,控制,输,入,输,出,设,备,状态信号,数据信号,控制信号,课后作业:,P723,、,4,、,5,、,7,指令译码,执行指令,ADD AL,,,100H,CS:IP=,F0300H,IP,指下条指令,ADD,指令,指令队列,20100H,偏移地址,100H,操作数,34H,DS=,2000H,AL=,12H,ALU,标志,AL,取下一条指令,2,2,5 8086,指令的执行,AH,12H,CS,DS,SS,ES,IP,1,2,4,6,5,3,标志寄存器,总线,控制,逻辑,指令队列,EU,控,制,ALU,AX,2AH,BFH,34H,ADD,指令,00000H,20100H,00001H,FFFFFH,FFFFEH,20,位地址,主存储器,F0300H,寄存器组,2000H,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服