微原-第2章2

上传人:ji****n 文档编号:54862134 上传时间:2018-09-20 格式:PPT 页数:47 大小:483.50KB
返回 下载 相关 举报
微原-第2章2_第1页
第1页 / 共47页
微原-第2章2_第2页
第2页 / 共47页
微原-第2章2_第3页
第3页 / 共47页
微原-第2章2_第4页
第4页 / 共47页
微原-第2章2_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《微原-第2章2》由会员分享,可在线阅读,更多相关《微原-第2章2(47页珍藏版)》请在金锄头文库上搜索。

1、本教案内容,第2章 8086CPU结构与功能 微处理器的外部结构 微处理器的内部结构 微处理器的功能结构 微处理器的寄存器组织 微处理器的存储器和I/O组成,8086/8088 CPU内部共有14个16位寄存器,用于提供运算,控制指令执行和对指令及操作数寻址。掌握每个寄存器的作用以及用法,是学好 汇编语言程序设计的基础。,14个寄存器按其用途可分为三大类:,通用寄存器(8个),段寄存器 (4个),控制寄存器(2个),2.4 微处理器的寄存器组织,一.通用寄存器(8个),8个16位通用寄存器分为两组:,地址指针和变址寄存器(个),数据寄存器(4个),2.4 微处理器的寄存器组织,存放数据,16位

2、,8位,DX,DL,DH,CX,CL,CH,BX,BL,BH,AX,AL,AH,累加器Accumulator,基址寄存器(地址寄存器) Base Register,计数器Count Register,数据寄存器Data Register,1.数据寄存器(4个),2.4 微处理器的寄存器组织,2.地址指针和变址寄存器(个),均为16位,也能存放数据,均为地址寄存器,DI,SI,BP,SP,堆栈指针寄存器Stack Pointer,基址指针寄存器Base Pointer,源变址寄存器Source Index,目的变址寄存器Destination Index,2.4 微处理器的寄存器组织,二.段寄存

3、器,堆栈信息,数据(数值、字符等),代码(指令码),在微机系统的内存中通常存放着三类信息:,指示CPU执行何种操作。,程序处理的对象或结果。,被保存的返回地址和中间结果等。,代码段 数据段 堆栈段,2.4 微处理器的寄存器组织,有个段寄存器。 分别是:,SS,ES,DS,CS,代码段寄存器。指向当前的代码段,指令由此段取出。Code Segment,数据段寄存器。指向当前的数据段。Data Segment,附加数据段寄存器。指向当前的附加数据段。Extra Segment,堆栈段寄存器。指向当前的堆栈段。Stack Segment,16位,2.4 微处理器的寄存器组织,指令指针寄存器相当于一般

4、微处理器中的程序计数器(PC:Program Counter )。它始终指向CPU下一条要取指令所在存贮器单元的偏移地址(段地址由CS提供)。用户不能更改IP的值,只有CPU执行转移指令,子程序调用指令和子程序返回指令以及中断处理时,IP才作相应的改变。,四.控制寄存器(2个),1.指令指针寄存器(IP:Instruction Pointer )(16位),2.4 微处理器的寄存器组织,标志寄存器相当于一般微处理器中的程序状态字寄存器(PSW)。16位,但有用的只有9位,其中:,2.标志寄存器(FLAG),状态标志:CF,PF,AF,ZF,SF,OF,共6位,控制标志:TF,IF,DF,共3位

5、,如下图所示:,2.4 微处理器的寄存器组织,CF(Carry Flag)进位标志。如果加法时最高位(对字节操作是D7位,对字操作是D15位)产生进位或减法时最高位产生错位,则CF=1,否则CF=0。,状 态 标 志,反映的是ALU运算后结果的状态,AF(Auxiliary Carry Flag)辅助进位标志。如果在加法时D3位有进位或减法时D3位有借位,则AF=1,否则AF=0。这个标志位用于实现BCD码算术运算结果的调整。,2.4 微处理器的寄存器组织,ZF(Zero Flag)零标志位。如果运算结果各位都为零,则ZF=1,否则ZF=0。,SF(Sign Flag)符号标志。它总是和结果的

6、最高位(字节操作时是D7,字操作时是D15)相同,因为在补码运算时最高位是符号位,所以运算结果为负时,SF=1,否则SF=0.,2.4 微处理器的寄存器组织,OF(Overflow Flag)溢出标志。在加或减运算中结果超出8位或者16位有符号数所能表示的数值范围(-128 +127或-32768 +32767)时,产生溢出,OF=1,否则OF=0。,PF(Parity Flag)奇偶标志。如果操作结果的低8位中含有偶数个1,PF=1,否则PF=0。,2.4 微处理器的寄存器组织,例1:若CPU执行5439H+476AH加法运算指令:,那么,指令执行后有: SF=1,ZF=0,PF=1,AF=

7、1,CF=0,OF=1,0101 0100 0011 1001B,0100 0111 0110 1010B,1001 1011 1010 0011B,+,2.4 微处理器的寄存器组织,例2:若CPU执行543AH-FE00H减法运算指令;,那么,指令执行后有: SF=0,ZF=0,PF=1,AF=0,CF=1,OF=0,0101 0100 0011 1010B,1111 1110 0000 0000B,0101 0110 0011 1010B,-,2.4 微处理器的寄存器组织,控 制 标 志,用来控制CPU的操作特征(运行状态),DF(Direction Flag) 方向控制标志。可由指令置1

8、/清0,CLD;DF=0,在进行字符串操作时,CPU每执行一条串操作指令,对源或(与)目的操作数的地址会自动进行一次调整,其调整准则为,0,自动递增。,STD;DF=1,DF=,1,自动递减。,2.4 微处理器的寄存器组织,IF(Interrupt Enable Flag),CLI;IF=0,CPU处于关中断状态。,1时,CPU能响应外部可屏蔽中断请求;,当IF=,IF对外部非可屏蔽中断请求以及CPU内部的中断不起作用.,可由指令置1/清0:,外部可屏蔽中断允许标志。,STI;IF=1,CPU处于开中断状态。,0时,CPU不能响应外部可屏蔽中断请求。,2.4 微处理器的寄存器组织,TF(Tra

9、p Flag)陷井标志。没有专门的置1/清0指令。当TF=1时,CPU每执行完一条指令便自动产生一个内部中断(类型为1),转去执行一个中断服务程序,用户可以借助中断服务程序来检查每条指令执行的情况,称为单步工作方式,常用于程序的调试。,2.4 微处理器的寄存器组织,一.存储器地址空间和数据存储格式,8086/8088的存储器都是以字节为单位组织的。 有20条地址总线, 字节(1B) 。 每个字节对应一个唯一的地址, 地址范围为 -1 (用16进制表示为00000 FFFFFH),如图所示。,2.5 微处理器的存储器和I/O组织,存储器,二 进 制 地 址,十六进制地址,00000,0000 0

10、000 0000 0000 0000,00001,00002,00003,0000 0000 0000 0000 0001,0000 0000 0000 0000 0011,0000 0000 0000 0000 0010,FFFFE,FFFFF,1111 1111 1111 1111 1111,1111 1111 1111 1111 1110,2.5 微处理器的存储器与I/O组织,存储器内两个连续的字节,定义为一个字, 低字节(低8位)存放在低地址中,高字节(高8位)存放在高地址中。各位的编号方法是最低位(LSB)为位0,一个字节中,最高位(MAS)编号为位7;一个字中最高位的编号为位15。

11、,这些约定如图所示,2.5 微处理器的存储器与I/O组织,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0,(高字节),(低字节),地址=N+1,字地址,地址=N,2.5 微处理器的存储器与I/O组织,字数据在存储器中存放的格式如图所示,字单元的地址,一个字单元,一个字节单元,高字节 低字节,D15 D8,D7 D0,字数据在存储器中存放格式示意图,2.5 微处理器的存储器与I/O组织,8086/8088允许字从任何地址开始。字的地址是偶地址时,称字的存储是对准的,若字的地址是奇地址时,则称字的存储是未对

12、准的。,8086 CPU数据总线16位,对于访问(读或写)字节的指令,需要一个总线周期。 对于访问一个偶地址的字的指令,也只需要一个总线周期。 而对于访问一个奇地址的字的指令,则需要两个总线周期(CPU自动完成)。,2.5 微处理器的存储器与I/O组织,8088 CPU数据总线8位,无论是字,还是字节 数据存取操作,也无论是偶地址的字,还是奇地 址的字,每一个总线周期只能完成一个字节的数 据存取操作。对字数据所组成的连续两个总线周 期是由CPU 自动完成的。,2.5 微处理器的存储器与I/O组织,从前面的介绍可知,,二.存储器的分段和物理地址的形式,1为什么要分段,8086/8088CPU有2

13、0条地址线(A19A0),能寻址外部存贮空间为 =1MB,而在8088/8086CPU内部能向存贮器提供地址码的地址寄存器有六个,均为16位,所以用这六个16位地址寄存器任意一个给外部存贮器提供地址,只能提供 =64K个地址,所以,对1MB地址寻址不完。这六个16位地址寄存器分别为:,2.5 微处理器的存储器与I/O组织,为了使8088/8086CPU能寻址到外部存贮器1MB空间中任何一个单元,8088/8086巧妙地采用了地址分段方法(将1MB空间分成若干个逻辑段),从而将寻址范围扩大到了1MB。,基址寄存器,DI,SI,BP,BX,基址指针寄存器,源变址寄存器,堆栈指针寄存器,目的变址寄存

14、器,指令指针寄存器,SP,IP,2.5 微处理器的存储器与I/O组织,1MB的存贮空间中,每个存贮单元的实际地址编 码称为该单元的物理地址(用PA表示)。,2怎么分段,各逻辑段的起始地址必须能被16整除,即一个 段的起始地址(20位物理地址)的低4位二进制 码必须是0。,把1MB的存贮空间划分成若干个逻辑段,每段最 多64KB。,2.5 微处理器的存储器与I/O组织,一个段的起始地址的高16位自然数为该段的段地址.显然,在1MB的存贮空间中,可以有 个段地址.每个相邻的两个段地址之间相隔16个存贮单元。,在一个段内的每个存贮单元,可以用相对于本段的起始地址的偏移量来表示,这个偏移量称为段内偏移

15、地址,也称为有效地址(EA)。,段内偏移地址也用16位二进制编码表示.所以,在一个段内最多有 =64K个偏移地址(即一个段最大为64KB)。,2.5 微处理器的存储器与I/O组织,在一个64KB的段内,每个偏移地址单元的段地址是相同的.所以段地址也称为段基址。,由于相邻两个段地址只相隔16个单元,所以段与段之间大部分空间互相覆盖(重叠)。,存贮器段的划分与段的覆盖示意图如下图所示。,2.5 微处理器的存储器与I/O组织,存贮器段的划分与段的覆盖示意图,段0,段1,段2,段地址,2.5 微处理器的存储器与I/O组织,段地址和段内偏移地址都是无符号的16位二进制数,常用4位十六进制数表示。这种方法表示的存贮器单元的地址称为逻辑地址。如下图所示。,3物理地址(PA)的形成,逻辑地址的表示格式为:段地址:偏移地址,2.5 微处理器的存储器与I/O组织,XXXXXH,XXXXH : XXXXH,段地址:段内偏移地址,逻辑地址,20位物理地址,2.5 微处理器的存储器与I/O组织,其中段地址有段寄存器提供:,一个存储单元用逻辑地址表示后,CPU 对该 单元的寻址就应提供两部分地址,段地址,段内有效地址,2.5 微处理器的存储器与I/O组织,段内偏移地址由下列地址寄存器提供:,BX BP SI DI,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

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