8088的内部寄存器ppt课件

上传人:鲁** 文档编号:592582363 上传时间:2024-09-21 格式:PPT 页数:23 大小:454.50KB
返回 下载 相关 举报
8088的内部寄存器ppt课件_第1页
第1页 / 共23页
8088的内部寄存器ppt课件_第2页
第2页 / 共23页
8088的内部寄存器ppt课件_第3页
第3页 / 共23页
8088的内部寄存器ppt课件_第4页
第4页 / 共23页
8088的内部寄存器ppt课件_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《8088的内部寄存器ppt课件》由会员分享,可在线阅读,更多相关《8088的内部寄存器ppt课件(23页珍藏版)》请在金锄头文库上搜索。

1、8088的内部寄存器n n含14个16位寄存器,按功能可分为三类8个通用寄存器4个段寄存器2个控制寄存器1通用寄存器 数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)2数据寄存器n n8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即:n nAX AH,ALn nBX BH,BLn nCX CH,CLn nDX DH,DL常用来存放参与运算的操作数或运算结果3数据寄存器特有的习惯用法n nAX:累加器。多用于存放中间运算结果。所有I/O指令必须都通过AX与接口传送信息;n nBX:基址寄存器。在间接寻址中用于存放基地址;n nCX:计数寄存器

2、。用于在循环或串操作指令中存放循环次数或重复次数;n nDX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存放I/O端口地址。4地址指针寄存器n nSP:堆栈指针寄存器,其内容为栈顶的偏移地址;n nBP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。5BX与BP在应用上的区别n n作为通用寄存器,二者均可用于存放数据;n n作为基址寄存器,BX通常用于寻址数据段;BP则通常用于寻址堆栈段。n nBX一般与DS或ES搭配使用6变址寄存器n nSI:源变址寄存器n nDI:目标变址寄存器n n变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中

3、,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。7段寄存器用于存放逻辑段的段基地址( (逻辑段的概念后面逻辑段的概念后面将要介绍将要介绍) ) CS:代码段寄存器代码段用于存放指令代码代码段用于存放指令代码DS:数据段寄存器ES:附加段寄存器数据段和附加段用来存放操作数数据段和附加段用来存放操作数SS:堆栈段寄存器堆栈段用于存放返回地址,保存堆栈段用于存放返回地址,保存寄存器内容,寄存器内容,传递参数传递参数8控制寄存器n nIP:指令指针寄存器,其内容为下一条要执行的指令的偏移地址n nFLAGS:标志寄存器n n状态标志:存放运算结果的特征n n控制标志:控制某些特殊操作

4、6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF)9四、存储器寻址n n物理地址n n8088:20根地址线,可寻址220(1MB)个存储单元n nCPU送到AB上的20位的地址称为物理地物理地址址 10物理地址物理地物理地址址.60000H 60001H 60002H 60003H 60004H.12HF0H1BH08H存储器的操作完全基于存储器的操作完全基于物理地址。物理地址。问题:问题:80888088的内部总线和内部的内部总线和内部寄存器均为寄存器均为1616位,如何位,如何生成生成2020位地址?位地址?解决:存储器分段解决:存储器分段11存储器

5、分段存储器分段高地址低地址段基址段基址段基址段基址最大最大64KB段i-1段i段i+112逻辑地址n n段基地址段基地址和和段内段内偏移偏移组成了组成了逻辑地址逻辑地址段地址段地址段地址段地址偏移地址偏移地址偏移地址偏移地址( (偏移量偏移量偏移量偏移量) ) 格式为:段地址格式为:段地址: :偏移地址偏移地址 物理地址=段基地址16+偏移地址60002H00H12H60000H0 0 0 0段基地址(段基地址(16位)位)段首地址段首地址 13n nBIUBIU中的地址加法器用来实现逻辑地址到物理中的地址加法器用来实现逻辑地址到物理地址的变换地址的变换n n8088 8088 可同时访问可同

6、时访问4 4个段,个段,4 4个段寄存器指示了个段寄存器指示了每个段的基地址每个段的基地址段基址段内偏移物理地址+16位20位000014例:n n已知已知CS=1055HCS=1055H,DS=250AHDS=250AH,ES=2EF0HES=2EF0H,SS=8FF0HSS=8FF0H,DSDS段有一操作数,其偏移地址段有一操作数,其偏移地址=0204H=0204H, 1)1)画出各段在内存中的分布画出各段在内存中的分布2)2)指出各段首地址指出各段首地址3)3)该操作数的物理地址该操作数的物理地址= =?10550H250A0H2EF00H8FF00HCSSS CSDSES解:解: 各段

7、分布及段首址见右图所示。各段分布及段首址见右图所示。 操作数的物理地址为:操作数的物理地址为: 250AH10H+0204H = 252A4H15堆栈及堆栈段的使用n n内存中一个按FIFO方式操作的特殊区域n n每次压栈和退栈均以WORD为单位n nSS存放堆栈段地址,SP存放段内偏移,SS:SP构成了堆栈指针n n堆栈用于存放返回地址、过程参数或需要保护的数据n n常用于响应中断或子程序调用16堆栈操作堆栈操作SPSSSS压栈前压栈前退栈后退栈后高低低高高12HSSF0HSP压栈后压栈后低高SPSPSPF0H12HSP17例:n n若已知(SS)=1000H (SP)=2000Hn n则堆

8、栈段的段首地址=?n n栈顶地址=?n n若该段最后一个单元地址为10100H,则栈底=?段首栈底栈顶堆栈段188088/8086的操作数分为的操作数分为3类类n n1 1、立即数(常数)立即数(常数)n n取值范围如下表:取值范围如下表:8 8位位1616位位无符号数无符号数00H-FFH(0-255)00H-FFH(0-255)0000H-FFFFH(0-65535)0000H-FFFFH(0-65535)带符号数带符号数80H-7FH(-128127)80H-7FH(-128127)8000H-7FFFH(-3276832767)8000H-7FFFH(-3276832767)MOV A

9、X,0FA00H;正确正确MOV 8000H,DX;错误错误19n n2 2、寄存器操作数寄存器操作数放在放在8个个通用寄存器通用寄存器或或4个个段寄存器段寄存器中的操作数中的操作数20只能存放字操作数只能存放字操作数段寄存器存放段寄存器存放当前操作数的当前操作数的段基地址段基地址不允许将立即数传送到段寄存器不允许将立即数传送到段寄存器SIDIBPSPCSDSESSS21n n3 3、存储器操作数存储器操作数存储器操作数存储器操作数字节字节字字双字双字124类型类型存储单元个数存储单元个数一般一般不允许不允许两个两个操作数同时为存储器操作数操作数同时为存储器操作数22存储单元的存储单元的物理地址物理地址 = 段基地址段基地址 + 偏移地址偏移地址若指令中没有指明所涉及的段寄存器,CPU就采用默认的段寄存器来确定操作数所在的段。表表3.3 段寄存器使用的一些基本约定段寄存器使用的一些基本约定存储器操作数的偏移地址(也称有效地址)可以通过存储器操作数的偏移地址(也称有效地址)可以通过不同的寻址方式由指令给出。不同的寻址方式由指令给出。例如,若例如,若(BX)=2000H, (SI)=0A00H, (DI)=2A00H,则以下指令,则以下指令的结果是一样的:的结果是一样的:MOV AL, 2A00HMOV AL, BX+0A00HMOV AL, BXSIMOV AL, DI23

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号