IBMPC微型计算机.ppt

上传人:牧羊曲112 文档编号:5433895 上传时间:2023-07-06 格式:PPT 页数:48 大小:487KB
返回 下载 相关 举报
IBMPC微型计算机.ppt_第1页
第1页 / 共48页
IBMPC微型计算机.ppt_第2页
第2页 / 共48页
IBMPC微型计算机.ppt_第3页
第3页 / 共48页
IBMPC微型计算机.ppt_第4页
第4页 / 共48页
IBMPC微型计算机.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《IBMPC微型计算机.ppt》由会员分享,可在线阅读,更多相关《IBMPC微型计算机.ppt(48页珍藏版)》请在三一办公上搜索。

1、第二章 IBM PC 微型计算机,8086/8088CPU的基本结构8086/8088CPU的寄存器组存贮器的分段结构8086/8088CPU堆栈的组织,第一节 IBM PC 微型计算机的基本结构,一、微型计算机系统,1.微型计算机硬件组成,地址总线AB,第一节 IBM PC 微型计算机的基本结构,一、微型计算机系统,第一节 IBM PC 微型计算机的基本结构,一、微型计算机系统,2.CPU对存储器的操作,存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号。例如:一个存储器有128个存储单元,编号从0127。,对于大容量的存储器一般还用以下单位来计量容量(用B来代表Byte)。1KB=

2、1024B1MB=1024KB1GB=1024MB1TB=1024GB,第一节 IBM PC 微型计算机的基本结构,一、微型计算机系统,2.CPU对存储器的操作,在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。物理上:一根根导线的集合;逻辑上划分为:地址总线数据总线控制总线,第一节 IBM PC 微型计算机的基本结构,一、微型计算机系统,2.CPU对存储器的操作,CPU在内存中读或写的数据演示:读演示写演示,第一节 IBM PC 微型计算机的基本结构,一、微型计算机系统,2.CPU对存储器的操作,CPU在内存中读或写的数据演示:读演示写演示,第一节 IBM PC 微型计算机的基本结构

3、,一、微型计算机系统,微型计算机系统组成,第一节 IBM PC 微型计算机的基本结构,二、8086/8088微处理器的功能结构,负责与M、I/O端口传送数据,负责指令的执行,第一节 IBM PC 微型计算机的基本结构,二、8086/8088微处理器的功能结构,一个典型的CPU由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。内部总线实现CPU内部各个器件之间的联系。外部总线实现CPU和主板上其它器件的联系。,第二节 8086/8088寄存器组,AX寄存器称为累加器。使用频度最高。BX寄存器称为基址寄存器。常用于存放存储器地址。CX寄存器称为计数器。一般作为循环或串操作等指令中的隐含计

4、数器。DX寄存器称为数据寄存器。常用来存放双字数据的高16位,或存放外设端口地址。,第二节 8086/8088寄存器组,一、通用寄存器,1、数据寄存器,AX、BX、CX、DX,用来保存操作数或运算结果等信息。,一个16位寄存器可以存储一个16位的数据。(数据的存放情况?)一个16位寄存器所能存储的数据的最大值为多少?答案:216-1。,第二节 8086/8088寄存器组,一、通用寄存器,1、数据寄存器,第二节 8086/8088寄存器组,一、通用寄存器,1、数据寄存器,8086上一代CPU中的寄存器都是8位的;为保证兼容性,这四个寄存器都可以分为两个独立的8位寄存器使用。AX可以分为AH和AL

5、;BX可以分为BH和BL;CX可以分为CH和CL;DX可以分为DH和DL。,第二节 8086/8088寄存器组,一、通用寄存器,1、数据寄存器,以AX为例,8086CPU的16位寄存器分为两个8位寄存器的情况:,第二节 8086/8088寄存器组,一、通用寄存器,1、数据寄存器,第二节 8086/8088寄存器组,一、通用寄存器,2、变址和指针寄存器,SI是源变址寄存器,DI是目的变址寄存器,在字符串操作中,SI和DI都具有自动增量或减量的功能。SP为堆栈指针寄存器,用于存放当前堆栈段中栈顶的偏移地址。BP为基址指针寄存器,用于存放堆栈段中某一存储单元的偏移地址。,变址和指针寄存器包括SI、D

6、I、SP、BP 等个16位寄存器,主要用于存放某个存储单元的偏移地址。,第二节 8086/8088寄存器组,二、段寄存器,8086CPU的个16位的段寄存器 代码段寄存器CS,数据段寄存器DS,堆栈段寄存器SS,附加数据段寄存器ES。段寄存器用来确定该段在内存中的起始地址。代码段用来存放程序的指令序列。CS存放代码段的段首址,指令指针寄存器IP指示代码段中指令的偏移地址。,第二节 8086/8088寄存器组,三、指令指针寄存器,8086CPU中的指令指针IP,它总是保存下一次将要从主存中取出指令的偏移地址,偏移地址的值为该指令到所在段段首址的字节距离。在目标程序运行时,IP的内容由微处理器硬件

7、自动设置,程序不能直接访问IP,但一些指令却可改变IP的值,如转移指令、子程序调用指令等。,第二节 8086/8088寄存器组,四、标志寄存器FLAGS,控制标志,状态标志,CF(cy/nc)进位标志,运算结果最高位是否发生进(借)位。CF=1(cy)进(借)位;CF=0(nc)无进(借)位。AF(ac/na)辅助进位标志,低4位向前有进(借)位。AF=1(ac)进(借)位;AF=0(na)无进(借)位。ZF(zr/nz)零标志,指出当前运算结果是否为0。ZF=1(zr)当前运算结果为0;否则为非0(nz)。SF(ng/pl)符号标志,表示补码运算结果的正负号。SF=1(ng)负值;SF=0(

8、pl)正值。OF(ov/nv)溢出标志,运算结果是否溢出。OF=1(oc)结果超出运算长度的补码表示范围;OF=0(nv)无溢出。PF(pe/po)奇/偶标志,运算结果低8位中1的个数的奇偶数。PF=1(pe)运算结果低8位中1的个数为偶数;否则为奇数(po)。,状态标志,第二节 8086/8088寄存器组,DF(dn/up)方向标志位,DF=1(dn)使串操作指令的变址寄存器自动减1,DF=1(up)使串操作指令的变址寄存器自动加1IF(ei/di)允许中断标志位,IF=1(ei),开中断,可响应可屏蔽中断,IF=0(di),关中断。,状态标志,第二节 8086/8088寄存器组,第二节 8

9、086/8088寄存器组,四、标志寄存器FLAGS,FLAGS应用举例,2345H+3219H=?,0101 0101 0101 1110,SF=0PF=0CF=0AF=0ZF=0OF=0,34F5H+95EBH=?,1100 1010 1110 0000,SF=1PF=0CF=0AF=1ZF=0OF=0,第三节 存储器,一、存储器的组成,在存储器中以字节为单位存储信息。为了正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址。8086、8088的地址总线为20位,那么它们可访问的字节单元地址范围为:00000HFFFFFH。一个存储单元中存放的信息称为该存储单元的内容。

10、,第三节 存储器,一、存储器的组成,存储器,第三节 存储器,一、存储器的组成,一个字存入存储器要占有相继的两个字节,存放时低位字节存入低地址,高位字节存入高地址。,一个字怎样存入存储器呢?,机器以偶地址访问(读/写)存储器。字单元地址用它的低地址来表示。,第三节 存储器,一、存储器的组成,存储器,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,字,1 0 0 1 1 1 1 1,0 0 1 0 0 1 1 0,高位字节 低位字节,(0000H)=269FH(0002H)=D71EH(0001H)=1E26H 访问两次存储器,问题:(1)0地址单元中存放的字节型数据是

11、多少?(2)0地址字单元中存放的字型数据是多少?(3)2地址字单元中存放的字节型数据是多少?(4)2地址单元中存放的字型数据是多少?(5)1地址字单元中存放的字型数据是多少?,第三节 存储器,一、存储器的组成,第三节 存储器,二、存储器的分段,16位的寄存器如何寻址1MB的地址空间?,可把 1M字节地址空间划成若干逻辑段。每个逻辑段必须满足两个条件:一是逻辑段的起始地址必须是16的倍数;二是逻辑段的最大长度为64K。,1M字节地址空间最多可划分成64K个逻辑段,最少也要划分成16个逻辑段。逻辑段与逻辑段可以相连,也可以不连,还可以重叠。,第三节 存储器,二、存储器的分段,相连的段:C和D段不相

12、连的段:A和B段相互重叠的段:B和C段,第三节 存储器,三、物理地址的形成,20位物理地址由16位段地址和16位偏移地址组成。,物理地址:每个存储单元的唯一的20位地址 段基值:段起始地址的高16位 偏移量:段内相对于段起始地址的偏移值(16位)(有效地址 EA),物理地址=16 段基值+偏移量,第三节 存储器,三、物理地址的形成,20位物理地址由16位段地址和16位偏移地址组成。,第三节 存储器,三、物理地址的形成,第三节 存储器,三、物理地址的形成,第三节 存储器,三、物理地址的形成,物理地址:C21A0H。,第三节 存储器,三、物理地址的形成,例:给定一个存放数据的内存单元的偏移地址是2

13、0C0H,(DS)=0C00EH,求出该内存单元的物理地址。,错误认识:内存被划分成了一个一个的段,每一个段有一个段地址。其实:内存并没有分段,段的划分来自于CPU,由于8086CPU用“(段地址16)+偏移地址=物理地址”的方式给出内存单元的物理地址,使得我们可以用分段的方式来管理内存。,第三节 存储器,三、物理地址的形成,第三节 存储器,三、物理地址的形成,问题一:观察下面的地址,有什么发现?结论:CPU可以用不同的段地址和偏移地址形成同一个物理地址。,第三节 存储器,三、物理地址的形成,问题二:如果给定一个段地址,仅通过变化偏移地址来进行寻址,最多可以定位多少内存单元?结论:偏移地址16

14、位,变化范围为0FFFFH,仅用偏移地址来寻址最多可寻64K个内存单元。比如:给定段地址1000H,用偏移地址寻址,CPU的寻址范围为:10000H1FFFFH。,第四节 堆栈,一、堆栈的组织,堆栈指针SP始终指向堆栈的顶部。,堆栈中存取数据的原则先进后出。,第四节 堆栈,二、8086/8088的堆栈操作,1、设置堆栈,STACK1 SEGMENT PARA STACKDB 100 DUP(?)STACK1 ENDS,第四节 堆栈,二、8086/8088的堆栈操作,2、进栈,过程:SP(SP)2 SP 数据,PUSH AXPUSH DX,第四节 堆栈,二、8086/8088的堆栈操作,2、进栈,第四节 堆栈,二、8086/8088的堆栈操作,2、进栈,问题:如果我们将10000H1000FH 这段空间当作栈,初始状态栈是空的,此时,SS=1000H,SP=?,SP=0010H,第四节 堆栈,二、8086/8088的堆栈操作,2、进栈,第四节 堆栈,二、8086/8088的堆栈操作,2、出栈,过程:R/M(SP)SP(SP)+2,POP AXPOP DX,第四节 堆栈,二、8086/8088的堆栈操作,2、出栈,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号