微机原理与接口技术(楼顺天)-第2章2_第1页
微机原理与接口技术(楼顺天)-第2章2_第2页
微机原理与接口技术(楼顺天)-第2章2_第3页
微机原理与接口技术(楼顺天)-第2章2_第4页
微机原理与接口技术(楼顺天)-第2章2_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、1本教案内容本教案内容第第2 2章章 8086CPU8086CPU结构与功能结构与功能1.1.微处理器的外部结构微处理器的外部结构2.2.微处理器的内部结构微处理器的内部结构3.3.微处理器的功能结构微处理器的功能结构4.4.微处理器的寄存器组织微处理器的寄存器组织5.5.微处理器的存储器和微处理器的存储器和I/OI/O组成组成2 8086/8088 CPU8086/8088 CPU内部共有内部共有1414个个1616位寄存器,位寄存器,用于提供运算,控制指令执行和对指令及操作数用于提供运算,控制指令执行和对指令及操作数寻址。掌握每个寄存器的作用以及用法,是学好寻址。掌握每个寄存器的作用以及用

2、法,是学好 汇编语言程序设计的基础。汇编语言程序设计的基础。1414个寄存器按其用途可分为三大类:个寄存器按其用途可分为三大类:通用寄存器通用寄存器(8 8个)个)段寄存器段寄存器 (4 4个)个)控制寄存器控制寄存器(2 2个)个)2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织3一一. .通用寄存器(通用寄存器(8 8个)个)8 8个个1616位通用寄存器分为两组:位通用寄存器分为两组:地址指针和变址寄存器(个)地址指针和变址寄存器(个)数据寄存器(数据寄存器(4 4个)个)2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 4存放数据存放数据1616位位8 8位位DXDXD

3、LDLDHDHCXCXCLCLCHCHBXBXBLBLBHBHAXAXALALAHAH累加器累加器Accumulator 基址寄存器(地址寄存器)基址寄存器(地址寄存器)Base Register 计数器计数器Count Register 数据寄存器数据寄存器Data Register 1 1. .数据寄存器(数据寄存器(4 4个)个)2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 52 2. .地址指针和变址寄存器(个)地址指针和变址寄存器(个)均为均为1616位,也能存放数据位,也能存放数据均为地址寄存器均为地址寄存器DIDISISIBPBPSPSP堆栈指针寄存器堆栈指针寄存器

4、Stack Pointer 基址指针寄存器基址指针寄存器 Base Pointer 源变址寄存器源变址寄存器 Source Index 目的变址寄存器目的变址寄存器 Destination Index 2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 6二二. .段寄存器段寄存器堆栈信息堆栈信息数据(数值、字符等)数据(数值、字符等)代码(指令码)代码(指令码)在微机系统的内存中通常存放着三类信息在微机系统的内存中通常存放着三类信息:指示指示CPUCPU执行何种操作。执行何种操作。程序处理的对象或结果。程序处理的对象或结果。被保存的返回地址和中间结果等。被保存的返回地址和中间结果等。代

5、码段代码段 数据段数据段 堆栈段堆栈段2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 7 有个段寄存器。有个段寄存器。分别是:分别是:代码段寄存器。指向当前的代码段,指令代码段寄存器。指向当前的代码段,指令由此段取出。由此段取出。Code Segment 数据段寄存器。指向当前的数据段。数据段寄存器。指向当前的数据段。Data Segment 附加数据段寄存器。指向当前的附加数据附加数据段寄存器。指向当前的附加数据段。段。Extra Segment 堆栈段寄存器。指向当前的堆栈段。堆栈段寄存器。指向当前的堆栈段。Stack Segment SSSSESESDSDSCSCS1616位位

6、2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 8 指令指针寄存器相当于一般微处理器中的程指令指针寄存器相当于一般微处理器中的程序计数器序计数器(PC:(PC:Program Counter ) )。 它始终指向它始终指向CPUCPU下一条要取指令所在存贮器单下一条要取指令所在存贮器单元的偏移地址元的偏移地址( (段地址由段地址由CSCS提供提供) )。 用户不能更改用户不能更改IPIP的值的值, ,只有只有CPUCPU执行转移指令执行转移指令, ,子程序调用指令和子程序返回指令以及中断处理子程序调用指令和子程序返回指令以及中断处理时时,IP,IP才作相应的改变。才作相应的改变。四四

7、. .控制寄存器(控制寄存器(2 2个)个)1.1.指令指针寄存器指令指针寄存器(IP:(IP:Instruction Pointer )(16)(16位位) )2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 9 标志寄存器相当于一般微处理器中的程序状态标志寄存器相当于一般微处理器中的程序状态字寄存器字寄存器(PSW)(PSW)。1616位位, ,但有用的只有但有用的只有9 9位位, ,其中其中: :2.2.标志寄存器标志寄存器(FLAG)(FLAG)状态标志状态标志:CF,PF,AF,ZF,SF,OF,:CF,PF,AF,ZF,SF,OF,共共6 6位位控制标志控制标志:TF,IF

8、,DF,:TF,IF,DF,共共3 3位位如下图所示如下图所示: OF DF IF TF SF ZF AF PF OF DF IF TF SF ZF AF PF CFCF1515 1414 1313 1212 1111 1010 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 02.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 10 CF(Carry Flag)CF(Carry Flag)进位标志。进位标志。如果加法时最高如果加法时最高位位( (对字节操作是对字节操作是D7D7位,对字操作是位,对字操作是D15D15位位) )产生进产生进位或减法时最高位产生

9、错位,则位或减法时最高位产生错位,则CF=1CF=1,否则,否则CF=0CF=0。 状状 态态 标标 志志 反映的是反映的是ALUALU运算后结果的状态运算后结果的状态 AF(Auxiliary Carry Flag) AF(Auxiliary Carry Flag)辅助进位标志。辅助进位标志。如果在加法时如果在加法时D3D3位有进位或减法时位有进位或减法时D3D3位有借位位有借位, ,则则AF=1AF=1,否则,否则AF=0AF=0。这个标志位用于实现。这个标志位用于实现BCDBCD码算术码算术运算结果的调整。运算结果的调整。2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 11 Z

10、F(Zero Flag) ZF(Zero Flag)零标志位。零标志位。 如果运算结果各位都为零,则如果运算结果各位都为零,则ZF=1ZF=1,否则,否则ZF=0ZF=0。 SF(Sign Flag)SF(Sign Flag)符号标志。符号标志。 它总是和结果的最高位它总是和结果的最高位( (字节操作时是字节操作时是D7D7,字操作时是字操作时是D15)D15)相同,因为在补码运算时最高位相同,因为在补码运算时最高位是符号位,所以运算结果为负时,是符号位,所以运算结果为负时,SF=1SF=1,否则,否则SF=0.SF=0.2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 12 OF(O

11、verflow Flag)OF(Overflow Flag)溢出标志。溢出标志。 在加或减运算中结果超出在加或减运算中结果超出8 8位或者位或者1616位有符号位有符号数所能表示的数值范围数所能表示的数值范围(-128 +127(-128 +127或或-32768 -32768 +32767)+32767)时,产生溢出,时,产生溢出,OF=1OF=1,否则,否则OF=0OF=0。 PF(Parity Flag)PF(Parity Flag)奇偶标志奇偶标志。如果操作结果的。如果操作结果的低低8 8位中含有偶数个位中含有偶数个1 1,PF=1PF=1,否则,否则PF=0PF=0。2.4 2.4

12、微处理器的寄存器组织微处理器的寄存器组织 13例例1:1:若若CPUCPU执行执行5439H+476AH5439H+476AH加法运算指令加法运算指令: :那么那么, ,指令执行后有指令执行后有: :SF=1SF=1,ZF=0ZF=0,PF=1PF=1,AF=1AF=1,CF=0CF=0,OF=1OF=10101 0100 0011 1001B0101 0100 0011 1001B0100 0111 0110 1010B0100 0111 0110 1010B1001 1011 1010 0011B1001 1011 1010 0011B+ +2.4 2.4 微处理器的寄存器组织微处理器的寄

13、存器组织 14例例2:2:若若CPUCPU执行执行543AH-FE00H543AH-FE00H减法运算指令减法运算指令; ;那么那么, ,指令执行后有指令执行后有: :SF=0SF=0,ZF=0ZF=0,PF=1PF=1,AF=0AF=0,CF=1CF=1,OF=0OF=00101 0100 0011 1010B0101 0100 0011 1010B1111 1110 0000 0000B1111 1110 0000 0000B0101 0110 0011 1010B0101 0110 0011 1010B- -2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 152.4 2.4 微

14、处理器的寄存器组织微处理器的寄存器组织 溢出溢出= =进位?进位?0110 0100B0110 0100B0110 0100B0110 0100B1100 1000B1100 1000B+ +1010 1011B1010 1011B1111 1111B1111 1111B1010 1010B1010 1010B+ +那么那么, ,指令执行后有指令执行后有: :CF=0CF=0,OF=1OF=1100 + 100 -56100 + 100 -56-85 + -85 + (-1-1) = -86= -86那么那么, ,指令执行后有指令执行后有: :CF=1CF=1,OF=0OF=0溢出溢出进位进位

15、16控控 制制 标标 志志 用来控制用来控制CPUCPU的操作特征(运行状态)的操作特征(运行状态) DF(Direction Flag)DF(Direction Flag) 方向控制标志。方向控制标志。 可由指令置可由指令置1/1/清清0 0CLDCLD;DF=0DF=0 在进行字符串操作时在进行字符串操作时,CPU,CPU每执行一条串操每执行一条串操作指令作指令, ,对源或对源或( (与与) )目的操作数的地址会自动进目的操作数的地址会自动进行一次调整行一次调整, ,其调整准则为其调整准则为0 0,自动递增。,自动递增。STDSTD;DF=1DF=1DF=DF=1 1,自动递减。,自动递减

16、。2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 17IF(Interrupt Enable Flag)IF(Interrupt Enable Flag)CLICLI;IF=0IF=0,CPUCPU处于关中断状态。处于关中断状态。1 1时时,CPU,CPU能响应外部可屏蔽中断请求能响应外部可屏蔽中断请求; ;当当IF=IF= IFIF对外部非可屏蔽中断请求以及对外部非可屏蔽中断请求以及CPUCPU内部内部的中断不起作用的中断不起作用. .可由指令置可由指令置1/1/清清0:0:外部可屏蔽中断允许标志。外部可屏蔽中断允许标志。STISTI;IF=1IF=1,CPUCPU处于开中断状态。

17、处于开中断状态。0 0时时,CPU,CPU不能响应外部可屏蔽中断请求。不能响应外部可屏蔽中断请求。2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 18TF(Trap Flag)TF(Trap Flag)陷井标志。陷井标志。 没有专门的置没有专门的置1/1/清清0 0指令。指令。 当当TFTF=1 1时,时,CPUCPU每执行完一条指令便自动产每执行完一条指令便自动产生一个内部中断生一个内部中断( (类型为类型为1)1),转去执行一个中断,转去执行一个中断服务程序,用户可以借助中断服务程序来检查每服务程序,用户可以借助中断服务程序来检查每条指令执行的情况,称为单步工作方式,常用于条指令

18、执行的情况,称为单步工作方式,常用于程序的调试。程序的调试。2.4 2.4 微处理器的寄存器组织微处理器的寄存器组织 19一一. .存储器地址空间和数据存储格式存储器地址空间和数据存储格式w8086/80888086/8088的存储器都是以字节的存储器都是以字节( (8 8位)为单位位)为单位 组织的。组织的。w有有2020条地址总线,条地址总线, 字节(字节(1 1B B) 。w每个字节对应一个唯一的地址,每个字节对应一个唯一的地址,w地址范围为地址范围为 -1-1(用(用1616进制表示为进制表示为00000 00000 FFFFFHFFFFFH),如图所),如图所 示。示。2022022

19、.5 2.5 微处理器的存储器和微处理器的存储器和I/OI/O组织组织20存储器存储器二二 进进 制制 地地 址址十六进制地址十六进制地址00000000000000 0000 0000 0000 00000000 0000 0000 0000 00000000100001000020000200003000030000 0000 0000 00000000 0000 0000 0000 0001 00010000 0000 0000 00000000 0000 0000 0000 0011 00110000 0000 0000 00000000 0000 0000 0000 0010 001

20、0FFFFEFFFFEFFFFFFFFFF1111 1111 1111 1111 11111111 1111 1111 1111 11111111 1111 1111 11111111 1111 1111 1111 1110 11102.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 21 存储器内两个连续的字节,定义为一个存储器内两个连续的字节,定义为一个字字,低字节(低低字节(低8 8位)存放在低地址中,高字节(高位)存放在低地址中,高字节(高8 8位)位)存放在高地址中。存放在高地址中。各位的编号方法是最低位(各位的编号方法是最低位(LSBLSB)为位)为位0 0,

21、一个字节,一个字节中,最高位(中,最高位(MASMAS)编号为位)编号为位7 7;一个字中最高位的;一个字中最高位的编号为位编号为位1515。这些约定如图所示这些约定如图所示2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 221515 1414 1313 1212 1111 1010 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 01 0 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 7 7 6 6 5 5 4 4 3 3 2 2 1 01 0(高字节)(高字节)(低字节)(低字节)地址地址=N+1=N+1字地址字地址地址地址=

22、N=N2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 23字数据在存储器中存放的格式如图所示字数据在存储器中存放的格式如图所示字单元的地址字单元的地址一个字单元一个字单元一个字节单元一个字节单元 高字节高字节 低字节低字节D15 D15 D8D8D7 D7 D0D0字数据在存储器中存放格式示意图字数据在存储器中存放格式示意图2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 24 8086/80888086/8088允许字从任何地址开始。字的地址允许字从任何地址开始。字的地址是偶地址时,称是偶地址时,称字的存储是对准的字的存储是对准的,若字的地址

23、,若字的地址是奇地址时,则称是奇地址时,则称字的存储是未对准的字的存储是未对准的。 8086 CPU8086 CPU数据总线数据总线1616位,对于访问(读或写)位,对于访问(读或写)字节的指令,需要一个总线周期。字节的指令,需要一个总线周期。对于访问一个偶地址的字的指令,也只需要一个对于访问一个偶地址的字的指令,也只需要一个总线周期。总线周期。而对于访问一个奇地址的字的指令,则需要两个而对于访问一个奇地址的字的指令,则需要两个总线周期(总线周期(CPUCPU自动完成)。自动完成)。2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 25 8088 CPU8088 CPU

24、数据总线数据总线8 8位,位,无论是字,还是字节无论是字,还是字节数据存取操作,也无论是偶地址的字,还是奇地数据存取操作,也无论是偶地址的字,还是奇地址的字,每一个总线周期只能完成一个字节的数址的字,每一个总线周期只能完成一个字节的数据存取操作。对字数据所组成的连续两个总线周据存取操作。对字数据所组成的连续两个总线周期是由期是由CPU CPU 自动完成的。自动完成的。2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 26 从前面的介绍可知,从前面的介绍可知,二二. .存储器的分段和物理地址的形式存储器的分段和物理地址的形式1 1为什么要分段为什么要分段 8086/808

25、8CPU8086/8088CPU有有2020条地址线(条地址线(A19A0A19A0),能),能寻址外部存贮空间为寻址外部存贮空间为 =1MB=1MB,而在,而在8088/8086CPU8088/8086CPU内部能向存贮器提供地址码的地址寄存器有六个,内部能向存贮器提供地址码的地址寄存器有六个,均为均为1616位,所以用这六个位,所以用这六个1616位地址寄存器任意一位地址寄存器任意一个给外部存贮器提供地址,只能提供个给外部存贮器提供地址,只能提供 =64K=64K个地个地址,所以,对址,所以,对1MB1MB地址寻址不完。这六个地址寻址不完。这六个1616位地址位地址寄存器分别为:寄存器分别

26、为:2021622.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 27 为了使为了使8088/8086CPU8088/8086CPU能寻址到外部存贮器能寻址到外部存贮器1MB1MB空空间中任何一个单元,间中任何一个单元,8088/80868088/8086巧妙地采用了地址巧妙地采用了地址分段方法(将分段方法(将1MB1MB空间分成若干个逻辑段),从而空间分成若干个逻辑段),从而将寻址范围扩大到了将寻址范围扩大到了1MB1MB。基址寄存器基址寄存器DIDISISIBPBPBXBX基址指针寄存器基址指针寄存器源变址寄存器源变址寄存器堆栈指针寄存器堆栈指针寄存器目的变址寄存器

27、目的变址寄存器指令指针寄存器指令指针寄存器SPSPIPIP2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 281MB1MB的存贮空间中的存贮空间中, ,每个存贮单元的实际地址编每个存贮单元的实际地址编码称为该单元的物理地址码称为该单元的物理地址( (用用PAPA表示表示) )。 2 2怎么分段怎么分段各逻辑段的起始地址必须能被各逻辑段的起始地址必须能被1616整除整除, ,即一个即一个段的起始地址段的起始地址(20(20位物理地址位物理地址) )的低的低4 4位二进制位二进制码必须是码必须是0 0。 把把1MB1MB的存贮空间划分成若干个逻辑段的存贮空间划分成若干个逻

28、辑段, ,每段最每段最多多64KB64KB。2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 29一个段的起始地址的高一个段的起始地址的高1616位自然数为该段的段位自然数为该段的段地址地址. .显然显然, ,在在1MB1MB的存贮空间中的存贮空间中, ,可以有可以有 个个段地址段地址. .每个相邻的两个段地址之间相隔每个相邻的两个段地址之间相隔1616个存个存贮单元。贮单元。 在一个段内的每个存贮单元在一个段内的每个存贮单元, ,可以用相对于本可以用相对于本段的起始地址的偏移量来表示段的起始地址的偏移量来表示,这个偏移量称这个偏移量称为段内偏移地址为段内偏移地址, ,

29、也称为有效地址也称为有效地址(EA)(EA)。 段内偏移地址也用段内偏移地址也用1616位二进制编码表示位二进制编码表示. .所以所以, ,在一个段内有在一个段内有 =64K=64K个偏移地址个偏移地址( (即一个段最即一个段最大为大为64KB)64KB)。1621622.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 30在一个在一个64KB64KB的段内,每个偏移地址单元的段地址的段内,每个偏移地址单元的段地址是相同的是相同的. .所以段地址也称为段基址。所以段地址也称为段基址。 由于相邻两个段地址只相隔由于相邻两个段地址只相隔1616个单元,所以段与个单元,所以段与

30、段之间大部分空间互相覆盖段之间大部分空间互相覆盖( (重叠重叠) )。 存贮器段的划分与段的覆盖示意图如下图所示。存贮器段的划分与段的覆盖示意图如下图所示。2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 31存贮器段的划分与段的覆盖示意图存贮器段的划分与段的覆盖示意图段段0 0段段1 1段段2 2100201002010010100101000010000000200002000010000100000000000段地址段地址2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 32段地址和段内偏移地址都是无符号的段地址和段内偏移地址都是无符号的1

31、616位二进制位二进制数,常用数,常用4 4位十六进制数表示位十六进制数表示。这种方法表示的存这种方法表示的存贮器单元的地址称为逻辑地址。如下图所示。贮器单元的地址称为逻辑地址。如下图所示。 2 2物理地址物理地址(PA)(PA)的形成的形成逻辑地址的表示格式为逻辑地址的表示格式为: :段地址段地址: :偏移地址偏移地址2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 33XXXXXXXXXXH HXXXXXXXXH : H : XXXXXXXXH H段地址:段内偏移地址段地址:段内偏移地址逻辑地址逻辑地址2020位位物物理理地地址址2.5 2.5 微处理器的存储器与微

32、处理器的存储器与I/OI/O组织组织 34其中段地址有段寄存器提供:其中段地址有段寄存器提供: 一个存储单元用逻辑地址表示后,一个存储单元用逻辑地址表示后,CPU CPU 对该对该单元的寻址就应提供两部分地址单元的寻址就应提供两部分地址段地址段地址段内有效地址段内有效地址CS CS 提供当前代码(程序)段的段地址提供当前代码(程序)段的段地址DS DS 提供当前数据(程序)段的段地址提供当前数据(程序)段的段地址ES ES 提供当前附加数据段的段地址提供当前附加数据段的段地址SS SS 提供当前堆栈段的段地址提供当前堆栈段的段地址2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O

33、组织组织 35段内偏移地址由下列地址寄存器提供:段内偏移地址由下列地址寄存器提供:BXBXBPBPSISIDIDICPU CPU 对存储器进行数据读对存储器进行数据读/ /写操作时,写操作时,由这些寄存器以某种寻址方式向存储由这些寄存器以某种寻址方式向存储器提供段内偏移地址。器提供段内偏移地址。CPU CPU 取指令时,由取指令时,由IPIP提供所取指令代码所提供所取指令代码所在单元的偏移地址。在单元的偏移地址。 IPIP SPSP 堆栈操作时,提供堆栈段的段内偏移地址堆栈操作时,提供堆栈段的段内偏移地址2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 36 已知某已知

34、某存储单元的逻辑地址存储单元的逻辑地址, ,怎样求该单元的怎样求该单元的物理地址物理地址PA:PA: 物理地址物理地址= =段地址段地址 10H10H+ +段内偏移地址段内偏移地址 8086/8088 CPU 8086/8088 CPU中的中的BIUBIU单元用来完成物理地单元用来完成物理地址的计算,其计算方法如图所示。址的计算,其计算方法如图所示。2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 37物理地址的形成物理地址的形成19 0 19 0 1616位段基址位段基址1616位段内偏移地址位段内偏移地址1616位段基址位段基址 0 0 0 00 0 0 02020

35、位物理地址位物理地址19 0 19 0 15 15 段寄存器段寄存器 0 0 15 15 EAEA 0 0 2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 38例例1 1:某单元的逻辑地址为某单元的逻辑地址为4B09H:5678H4B09H:5678H,则该,则该存存储单元的物理地址为:储单元的物理地址为: 物理地址物理地址(PAPA)= =段地址段地址 10H10H + + EAEA =4B09H=4B09H 10H10H + + 5678H5678H =4B090H =4B090H + + 5678H5678H =50708H =50708H2.5 2.5 微处理

36、器的存储器与微处理器的存储器与I/OI/O组织组织 39例例2 2:图中物理地址为图中物理地址为00020H00020H单元,其逻辑单元,其逻辑地址地址可以有:可以有: 0000H:0020H0000H:0020H + +0 0 0 0 0 H0 0 0 0 0 H0 0 2 0 H0 0 2 0 H0 0 0 2 0 H0 0 0 2 0 H (PAPA)(EAEA)(段地址(段地址 1616) 0001H:0010H0001H:0010H + +0 0 0 1 0 H0 0 0 1 0 H0 0 1 0 H0 0 1 0 H0 0 0 2 0 H0 0 0 2 0 H (PAPA)(EAE

37、A)(段地址(段地址 1616)2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 40 0002H:0000H0002H:0000H + +0 0 0 2 0 H0 0 0 2 0 H0 0 0 0 H0 0 0 0 H0 0 0 2 0 H0 0 0 2 0 H (PAPA)(EAEA)(段地址(段地址 1616) 由此可见,一个存储单元,若用不同的由此可见,一个存储单元,若用不同的逻辑地址表示,逻辑地址表示,其其PAPA是唯一的是唯一的。2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 41 在访问存储器时,段地址总是由段寄存器提在访问存储器

38、时,段地址总是由段寄存器提供的。供的。8086/80888086/8088微处理器中有微处理器中有4 4个段寄存器(个段寄存器(CSCS、DSDS、SSSS、ESES),所以),所以CPUCPU可以通过这可以通过这4 4个段寄存器个段寄存器来访问来访问4 4个不同的段。用程序对段寄存器的内容个不同的段。用程序对段寄存器的内容进行修改,可实现访问所有的段。进行修改,可实现访问所有的段。 一般地,把段地址装入段寄存器的那些段一般地,把段地址装入段寄存器的那些段(不超过(不超过4 4个)称为个)称为当前段当前段。2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 42三三. .

39、信息的分段存储与段寄存器的关系信息的分段存储与段寄存器的关系 特别要指出的是,用户用特别要指出的是,用户用8086/80888086/8088汇编语汇编语言编写程序时,要把程序中的不同信息安排在不言编写程序时,要把程序中的不同信息安排在不同的段,也就是说,用户源程序汇编后在存储器同的段,也就是说,用户源程序汇编后在存储器中存放是按照不同的信息放在不同的逻辑段。而中存放是按照不同的信息放在不同的逻辑段。而程序中的信息包括:程序中的信息包括:数据信息数据信息程序(代码)信息程序(代码)信息堆栈信息堆栈信息2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 43 其中,其中,代

40、码信息代码信息存放在代码段,其地址由存放在代码段,其地址由CS:IPCS:IP提供。提供。 堆栈信息堆栈信息存放在堆栈段,其地址由存放在堆栈段,其地址由SS:SPSS:SP提供。提供。 数据信息数据信息通常情况下,存放在数据通常情况下,存放在数据段(段地址由段(段地址由DSDS提供),提供),当然也可以存放在附加数当然也可以存放在附加数据段(段地址由据段(段地址由ESES提供),提供),其段内偏移地址依据寻址其段内偏移地址依据寻址方式的不同来求得。方式的不同来求得。2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 44 8086/8088CPU 8086/8088CPU各种类型访问存储器时,其地各种类型访问存储器时,其地址成分的来源见下表所示。址成分的来源见下表所示。2.5 2.5 微处理器的存储器与微处理器的存储器与I/OI/O组织组织 45 一个段最大空间为一个段最大空间为64KB64KB,实际使用时,不一定,实际使用时,不一定能用到能用到64KB64KB。理论上分段时,相邻段之间大部分空。理论

温馨提示

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

评论

0/150

提交评论