第2章IBMPC微型计算机_第1页
第2章IBMPC微型计算机_第2页
第2章IBMPC微型计算机_第3页
第2章IBMPC微型计算机_第4页
第2章IBMPC微型计算机_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章IBMPC微型计算机8086/8088CPU的基本结构8086/8088CPU的寄存器组存贮器的分段结构8086/8088CPU堆栈的组织第一节IBMPC微型计算机的基本结构一、微型计算机系统1.微型计算机硬件组成

微处理器ROMRAM输入设备输出设备I/O接口I/O接口数据总线DB控制总线CB地址总线AB第一节IBMPC微型计算机的基本结构一、微型计算机系统第一节IBMPC微型计算机的基本结构一、微型计算机系统2.CPU对存储器的操作

存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号。例如:一个存储器有128个存储单元,编号从0~127。对于大容量的存储器一般还用以下单位来计量容量(用B来代表Byte)。1KB=1024B 1MB=1024KB1GB=1024MB 1TB=1024GB第一节IBMPC微型计算机的基本结构一、微型计算机系统2.CPU对存储器的操作

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

CPU在内存中读或写的数据演示:读演示写演示第一节IBMPC微型计算机的基本结构一、微型计算机系统2.CPU对存储器的操作

CPU在内存中读或写的数据演示:读演示写演示第一节IBMPC微型计算机的基本结构一、微型计算机系统微型计算机系统组成

寄存器组算逻运算器控制电路微处理器随机存储器RAM只读存储器ROM存储器输入输出接口并行接口串行接口数据总线地址总线控制总线系统总线微型计算机硬件操作系统语言处理程序数据库系统其它系统软件应用软件微型计算机软件微型计算机系统第一节IBMPC微型计算机的基本结构二、8086/8088微处理器的功能结构负责与M、I/O端口传送数据负责指令的执行第一节IBMPC微型计算机的基本结构二、8086/8088微处理器的功能结构一个典型的CPU由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。内部总线实现CPU内部各个器件之间的联系。外部总线实现CPU和主板上其它器件的联系。第二节8086/8088寄存器组AX寄存器称为累加器。使用频度最高。BX寄存器称为基址寄存器。常用于存放存储器地址。CX寄存器称为计数器。一般作为循环或串操作等指令中的隐含计数器。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;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、DI、SP、BP等4个16位寄存器,主要用于存放某个存储单元的偏移地址。第二节8086/8088寄存器组二、段寄存器8086CPU的4个16位的段寄存器代码段寄存器CS,数据段寄存器DS,堆栈段寄存器SS,附加数据段寄存器ES。段寄存器用来确定该段在内存中的起始地址。代码段用来存放程序的指令序列。

CS存放代码段的段首址,指令指针寄存器IP指示代码段中指令的偏移地址。第二节8086/8088寄存器组三、指令指针寄存器8086CPU中的指令指针IP,它总是保存下一次将要从主存中取出指令的偏移地址,偏移地址的值为该指令到所在段段首址的字节距离。在目标程序运行时,IP的内容由微处理器硬件自动设置,程序不能直接访问IP,但一些指令却可改变IP的值,如转移指令、子程序调用指令等。第二节8086/8088寄存器组四、标志寄存器FLAGS1514131211109876543210OFDFIFTFSFZFAFPFCF符号标志辅助进位标志奇偶标志进位标志溢出标志零标志方向标志中断允许标志跟踪标志控制标志状态标志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(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寄存器组第二节8086/8088寄存器组四、标志寄存器FLAGSFLAGS应用举例2345H+3219H=?0010001101000101+00110010000110010101010101011110SF=0PF=0CF=0AF=0ZF=0OF=034F5H+95EBH=?0011010011110101+10010101111010111100101011100000SF=1PF=0CF=0AF=1ZF=0OF=0第三节存储器一、存储器的组成在存储器中以字节为单位存储信息。为了正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址。8086、8088的地址总线为20位,那么它们可访问的字节单元地址范围为:00000H~FFFFFH。一个存储单元中存放的信息称为该存储单元的内容。765432100000H10011111(0000H)=9FH0001H00100110(0001H)=26H0002H00011110(0002H)=1EH0003H11010111(0003H)=D7H第三节存储器一、存储器的组成存储器第三节存储器一、存储器的组成

一个字存入存储器要占有相继的两个字节,存放时低位字节存入低地址,高位字节存入高地址。一个字怎样存入存储器呢?机器以偶地址访问(读/写)存储器。字单元地址用它的低地址来表示。765432100000H10011111(0000H)=9FH0001H00100110(0001H)=26H0002H00011110(0002H)=1EH0003H11010111(0003H)=D7H第三节存储器一、存储器的组成存储器1514131211109876543210字1001111100100110

高位字节低位字节(0000H)=269FH(0002H)=D71EH(0001H)=1E26H

访问两次存储器问题:(1)0地址单元中存放的字节型数据是多少?(2)0地址字单元中存放的字型数据是多少?(3)2地址字单元中存放的字节型数据是多少?(4)2地址单元中存放的字型数据是多少?(5)1地址字单元中存放的字型数据是多少?第三节存储器一、存储器的组成第三节存储器二、存储器的分段16位的寄存器如何寻址1MB的地址空间?可把1M字节地址空间划成若干逻辑段。每个逻辑段必须满足两个条件:一是逻辑段的起始地址必须是16的倍数;二是逻辑段的最大长度为64K。

1M字节地址空间最多可划分成64K个逻辑段,最少也要划分成16个逻辑段。逻辑段与逻辑段可以相连,也可以不连,还可以重叠。第三节存储器二、存储器的分段相连的段:C和D段不相连的段:A和B段相互重叠的段:B和C段第三节存储器三、物理地址的形成20位物理地址由16位段地址和16位偏移地址组成。

物理地址:每个存储单元的唯一的20位地址

段基值:段起始地址的高16位

偏移量:段内相对于段起始地址的偏移值(16位)(有效地址EA)

物理地址=16

段基值+偏移量第三节存储器三、物理地址的形成20位物理地址由16位段地址和16位偏移地址组成。

IBMPC中有4个专门存放段地址的段寄存器(16位)代码段段寄存器CS数据段段寄存器DS堆栈段段寄存器SS附加段段寄存器ES

例:(DS)=3000H,EA=1234H,

物理地址

=

16

(DS)+

EA=31234H

存储器8K代码2K数据256堆栈02000H04800H04000H0200H0400H0480H逻辑段第三节存储器三、物理地址的形成第三节存储器三、物理地址的形成第三节存储器三、物理地址的形成物理地址:C21A0H。第三节存储器三、物理地址的形成例:给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。错误认识:内存被划分成了一个一个的段,每一个段有一个段地址。其实:内存并没有分段,段的划分来自于CPU,由于8086CPU用“(段地址×16)+偏移地址=物理地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论