《微机系统中的微处理器.ppt》由会员分享,可在线阅读,更多相关《微机系统中的微处理器.ppt(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、关于微机系统中的微处理器现在学习的是第1页,共73页2 2常用术语(常用术语(1 1)n位(位(bitbit):计算机处理的最小数据单位,只能为):计算机处理的最小数据单位,只能为“0 0”或或“1 1”,缩写为,缩写为b bn千位(千位(KilobitKilobit):代表):代表2 21010位,即位,即10241024位,缩写位,缩写KbKbn兆位(兆位(MegabitMegabit):代表):代表2 22020位,即位,即1024102410241024位,缩写位,缩写MbMbn千兆位(千兆位(GigabitGigabit):代表):代表2 23030位,即位,即1024Mb1024M
2、b位,缩写位,缩写GbGbn兆兆位(兆兆位(TerabitTerabit):代表):代表2 24040位,即位,即1024Gb1024Gb位,缩写位,缩写TbTb现在学习的是第2页,共73页3 3常用术语(常用术语(2 2)n字节(字节(ByteByte):计算机中存储器容量的基本单位,一个字节):计算机中存储器容量的基本单位,一个字节由由8 8位二进制数据组成,位二进制数据组成,ByteByte通常缩写为通常缩写为B B,同样有,同样有KBKB、MBMB、GBGB、TBTBn字(字(WordWord):不同的场合有不同的含义,软件上通常指):不同的场合有不同的含义,软件上通常指2 2个字节,
3、硬件上一般指处理器外部数据总线的宽度个字节,硬件上一般指处理器外部数据总线的宽度n字长:计算机运算部件直接能处理的二进制数据的位数。字字长:计算机运算部件直接能处理的二进制数据的位数。字长越长,计算机的处理能力越强,运算精度越高,指令功能长越长,计算机的处理能力越强,运算精度越高,指令功能越强,可寻址的存储空间也越大越强,可寻址的存储空间也越大现在学习的是第3页,共73页4 4常用术语(常用术语(3 3)nCPUCPU主频主频:主振频率,主振频率,CPUCPU内部的时钟频率,是内部的时钟频率,是CPUCPU进行运算时进行运算时的工作频率。一般来说,主频越高,一个时钟周期里完成的工作频率。一般来
4、说,主频越高,一个时钟周期里完成的指令数也越多,的指令数也越多,CPUCPU的运算速度也就越快。但由于内部的运算速度也就越快。但由于内部结构不同,并非所有时钟频率相同的结构不同,并非所有时钟频率相同的CPUCPU性能也一样。性能也一样。现在学习的是第4页,共73页5 52.1 8086的内部结构的内部结构n8086CPU从功能上来说分成两大部分:从功能上来说分成两大部分:总线接口单元总线接口单元BIU(Bus Interface Unit)执行单元执行单元EU(Execution Unit)nBIU的作用:负责对存储器的访问以及与的作用:负责对存储器的访问以及与I/O设备之间的信设备之间的信息
5、传送。息传送。nEU 的作用:负责指令的执行。的作用:负责指令的执行。现在学习的是第5页,共73页6 6 通 用 寄 存 器8086CPU功能框图功能框图 执行单元执行单元 AH ALBH BL CLCH DH DL SP BP DI SI CSDS SS ES I P 内部寄存器 总线 控制 逻辑 AX BX CX DX暂存器 A L U 标志寄存器 外部总线8086总线(16位)指令队列 8086为 6 字节ALU数据总线(16位)EU控制器总线接口单元(总线接口单元(BIU)地址加法器(20 位)数据总线(16 位)段寄存器指令指针(EU)1 2 3 4 5 6队列总线(8位)地址总线现
6、在学习的是第6页,共73页7 780868086的功能结构的功能结构n总线接口单元总线接口单元(BIU)qBIU包括个段寄存器、指令指针包括个段寄存器、指令指针IP(PC)、指令队列寄存器、指令队列寄存器(IR)、完成与、完成与EU通讯的内部寄存器、地址加法器和总线控制通讯的内部寄存器、地址加法器和总线控制逻辑。逻辑。q它的任务是执行总线周期,完成它的任务是执行总线周期,完成CPU与存储器和与存储器和I/O设备之间设备之间信息的传送。具体地讲,就是取指令时,从存储器指定地址取信息的传送。具体地讲,就是取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据出指令送入指令队列排队;执
7、行指令时,根据EU命令对指定命令对指定存储单元或存储单元或I/O端口存取数据。端口存取数据。现在学习的是第7页,共73页8 88086CPU与存储器、与存储器、I/O设备的连接设备的连接高位决定接口,高位决定接口,2或或3个低位选择端口个低位选择端口CPU数数据据线线控控制制线线地地址址线线接接 口口地址地址存储器中的字节存储器中的字节0101I/O接口接口I/O端口端口I/O设备设备高位决定模块高位决定模块存储器模块存储器模块现在学习的是第8页,共73页9 98086的功能结构的功能结构n执行单元执行单元(EU)qEU由算术逻辑单元由算术逻辑单元ALU、暂存器、标志寄存器、暂存器、标志寄存器
8、(FLAGS)、通用、通用寄存器组和寄存器组和EU控制器构成。控制器构成。q它的任务执行指令,进行全部的算术逻辑运算,完成偏移地址的它的任务执行指令,进行全部的算术逻辑运算,完成偏移地址的计算,向计算,向BIU提供指令执行结果的数据和访问存储器需要的提供指令执行结果的数据和访问存储器需要的偏移地址,并对通用寄存器和标志寄存器进行管理。偏移地址,并对通用寄存器和标志寄存器进行管理。n16位的位的ALU总线和总线和8位队列总线用于位队列总线用于EU内部和内部和EU与与BIU之间的通信。之间的通信。现在学习的是第9页,共73页10108086的指令流水线(的指令流水线(1)n一条指令的执行过程:一条
9、指令的执行过程:取指令取指令 取操作数(如果需要)取操作数(如果需要)执行指令执行指令 写入存储器写入存储器n80868086出现以前,以上指令串行执行出现以前,以上指令串行执行取指取指1执行执行1存结果存结果1取指取指2执行执行2取指取指3执行执行3取操作数取操作数3CPUBUS忙忙忙忙忙忙忙忙忙忙闲闲闲闲闲闲8086以前的处理器以前的处理器现在学习的是第10页,共73页11118086的指令流水线(的指令流水线(2)n80868086内部有内部有BIUBIU、EUEU两个独立单元,可独立完成总线操作两个独立单元,可独立完成总线操作和执行指令的任务,即两个单元可重叠操作和执行指令的任务,即两
10、个单元可重叠操作n流水线就是两次重叠或多次重叠操作流水线就是两次重叠或多次重叠操作忙忙8086处理器处理器执行执行1执行执行2执行执行3执行执行3执行执行4取指取指1取指取指2存结果存结果1取指取指3取操作数取操作数3取指取指4存结果存结果3取指取指5忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙EUBUSBIU现在学习的是第11页,共73页1212思考n以8086为例,说明微处理器的基本功能。n书上P12 图2.2中画出的地址总线为什么是单向的?数据总线为什么是双向的?现在学习的是第12页,共73页13132.28086的寄存器结构的寄存器结构n8086CPU内部具有内部具有14个个16位寄存器,用于提供
11、参与运算位寄存器,用于提供参与运算的数据、控制指令执行和对指令及操作数寻址。基本分的数据、控制指令执行和对指令及操作数寻址。基本分为通用寄存器组、控制寄存器组和段寄存器组。为通用寄存器组、控制寄存器组和段寄存器组。n通用寄存器组通用寄存器组8个个16位通用寄存器组成,这些寄存器分为两组:数据寄位通用寄存器组成,这些寄存器分为两组:数据寄存器及地址指针和变址寄存器。存器及地址指针和变址寄存器。现在学习的是第13页,共73页14148086的寄存器结构(的寄存器结构(1)BHBLAHALCHCLDHDL堆栈指针寄存器堆栈指针寄存器基址指针寄存器基址指针寄存器源变址寄存器源变址寄存器目的变址寄存器目
12、的变址寄存器通通用用寄寄存存器器控制寄存器控制寄存器指令指针寄存器指令指针寄存器状态标志寄存器状态标志寄存器代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器段段寄寄存存器器AXBXCXDXSPBPDISICSDSSSESIPFLAGS现在学习的是第14页,共73页15158086的寄存器结构(的寄存器结构(2)1 1、数据寄存器、数据寄存器n4 4个数据寄存器:累加器个数据寄存器:累加器AXAX,基址寄存器,基址寄存器BXBX,计数寄存器,计数寄存器CXCX,数,数据寄存器据寄存器DXDXn特点:可分为高特点:可分为高8 8位(位(AHAH、BH
13、BH、CHCH、DHDH)和低)和低8 8位(位(ALAL、BLBL、CLCL、DLDL)。这两组)。这两组8 8位寄存器能分别寻址。这样,可以将数据寄存器位寄存器能分别寻址。这样,可以将数据寄存器当作一个当作一个1616位寄存器,也可用作两个位寄存器,也可用作两个8 8位寄存器位寄存器n可用来存放可用来存放8 8位或位或1616位二进制操作数,这些操作数可以是参加运算的位二进制操作数,这些操作数可以是参加运算的操作数、中间结果或操作数地址操作数、中间结果或操作数地址n大多数算数和逻辑运算指令可以使用这些寄存器大多数算数和逻辑运算指令可以使用这些寄存器现在学习的是第15页,共73页161680
14、86的寄存器结构(的寄存器结构(3)2 2、地址指针和变址寄存器、地址指针和变址寄存器n4 4个:堆栈指针个:堆栈指针SPSP,基址指针,基址指针BPBP,源变址寄存器,源变址寄存器SISI,目的变址寄存,目的变址寄存器器DIDIn特点:这特点:这4 4个个1616位寄存器只能按位寄存器只能按1616位进行存取操作,主要用来形位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数和有成操作数的地址,用于堆栈操作和变址运算中计算操作数和有效地址效地址nSPSP,BPBP用于堆栈操作,用于堆栈操作,SPSP用来确定堆栈在内存中的地址,用来确定堆栈在内存中的地址,BPBP用来存
15、用来存放在现行堆栈段的一个数据区的放在现行堆栈段的一个数据区的“基址基址”nSISI,DIDI用于变址操作,存放变址地址用于变址操作,存放变址地址n这这4 4个寄存器也可用作数据寄存器个寄存器也可用作数据寄存器现在学习的是第16页,共73页1717通用寄存器的特定用法通用寄存器的特定用法现在学习的是第17页,共73页18188086的寄存器结构(的寄存器结构(4)3 3、指令指针、指令指针IPIPn1616位专用寄存器,保存下一条要执行的指令的偏移地址位专用寄存器,保存下一条要执行的指令的偏移地址n当当BIUBIU从内存中取出一个指令字节后,从内存中取出一个指令字节后,IPIP自动加自动加1
16、1,指向下一,指向下一个字节个字节nIPIP指向的是指令地址的段内地址偏移量,又称偏移地址或有效地指向的是指令地址的段内地址偏移量,又称偏移地址或有效地址址n程序员不能对程序员不能对IPIP进行存取操作,程序中的转移指令、返回指令进行存取操作,程序中的转移指令、返回指令以及中断处理能对以及中断处理能对IPIP进行操作进行操作现在学习的是第18页,共73页19198086的寄存器结构(的寄存器结构(5)4 4、标志寄存器、标志寄存器FLAGSFLAGS15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CFPFAFZFSFTFIFDFOFn 16 16位,其中有位,其中有
17、6 6个状态位,个状态位,3 3个控制位个控制位n 6 6个状态位有:个状态位有:CFCF、PFPF、AFAF、ZFZF、SFSF、OFOFn 3 3个控制位有:个控制位有:IFIF、DFDF、TFTF现在学习的是第19页,共73页20208086的寄存器结构(的寄存器结构(6)标志寄存器标志寄存器FLAGSFLAGS(状态位)(状态位)n进位标志进位标志CFCF,反映算术运算后,最高位(字节操作为,反映算术运算后,最高位(字节操作为D D7 7,字操,字操作为作为D D1515)出现进位或借位的情况,有则为)出现进位或借位的情况,有则为“1 1”n奇偶标志奇偶标志PFPF,反映操作结果的低八
18、位中,反映操作结果的低八位中“1 1”的个数的情况,的个数的情况,若为偶数,则若为偶数,则PF=1PF=1n辅助进位标志辅助进位标志AFAF,反映一个,反映一个8 8位量的低位量的低4 4位向高位向高4 4位有无进位位有无进位或借位的情况,有则置或借位的情况,有则置“1 1”n零标志零标志ZFZF,反映运算结果是否为,反映运算结果是否为0 0的情况,结果为的情况,结果为0 0,ZFZF置为置为“1 1”,否则为,否则为“0 0”现在学习的是第20页,共73页21218086的寄存器结构(的寄存器结构(7)n符号标志符号标志SFSF,反映运算结果的符号情况,若结果为负数,反映运算结果的符号情况,
19、若结果为负数,SFSF为为“1 1”,否则为,否则为“0 0”。SFSF的取值与运算结果最高位(字节操的取值与运算结果最高位(字节操作为作为D D7 7,字操作为,字操作为D D1515)一致。)一致。n溢出标志溢出标志OFOF,反映带符号数运算结果是否超过机器所能表示,反映带符号数运算结果是否超过机器所能表示的数值范围的情况,对字节运算为的数值范围的情况,对字节运算为-128 +127-128 +127,对字运算为,对字运算为-32768 +3276732768 +32767。若超过上述范围则称为。若超过上述范围则称为“溢出溢出”,OF=1OF=1,否则为否则为“0 0”。现在学习的是第21
20、页,共73页22228086的寄存器结构(的寄存器结构(8)标志寄存器标志寄存器FLAGSFLAGS(控制位)(控制位)n方向标志方向标志DFDF,在进行字符串操作时,每执行一条串操作指令,在进行字符串操作时,每执行一条串操作指令,对地址要进行一次调整,由对地址要进行一次调整,由DFDF决定地址是增还是减。若决定地址是增还是减。若DF=1DF=1,则为减量;,则为减量;DF=0DF=0,则为增量。,则为增量。n中断允许标志中断允许标志IFIF,表示系统是否允许外部可屏蔽中断。若,表示系统是否允许外部可屏蔽中断。若IF=1IF=1,表示允许中断,表示允许中断,IF=0IF=0,表示不允许中断。,
21、表示不允许中断。IFIF对不可对不可屏蔽中断及内部中断请求不起作用。屏蔽中断及内部中断请求不起作用。n跟踪标志跟踪标志TFTF,当,当TF=1TF=1时,时,CPUCPU每执行完一条指令,便自动产生一每执行完一条指令,便自动产生一个内部中断,对程序进行逐条检查,常用于程序的调试。个内部中断,对程序进行逐条检查,常用于程序的调试。现在学习的是第22页,共73页23238086的寄存器结构(的寄存器结构(9)5 5、段寄存器、段寄存器n内存中通常存放三种信息:内存中通常存放三种信息:代码(指令):计算机执行何种操作代码(指令):计算机执行何种操作 数据(字符、数值):程序处理的对象数据(字符、数值
22、):程序处理的对象 堆栈信息:保存返回地址和中间结果堆栈信息:保存返回地址和中间结果n为清晰起见,这三类信息分别存放在各自的存储区域内为清晰起见,这三类信息分别存放在各自的存储区域内(存储系统中的不同存储段)(存储系统中的不同存储段)n80868086系统中把可直接寻址的系统中把可直接寻址的1M1M字节内存空间分为称作段的逻字节内存空间分为称作段的逻辑区域,每个段的物理长度为辑区域,每个段的物理长度为64K64K字节。每个段的起始地址字节。每个段的起始地址的有关值存放在称为段寄存器的的有关值存放在称为段寄存器的4 4个个1616位寄存器中位寄存器中现在学习的是第23页,共73页24248086
23、的寄存器结构(的寄存器结构(10)4 4个段寄存器为个段寄存器为n代码段寄存器代码段寄存器CSCS:指向当前的代码段,指令由此段取出:指向当前的代码段,指令由此段取出n数据段寄存器数据段寄存器DSDS:指向当前数据段,通常用来存放程序变量:指向当前数据段,通常用来存放程序变量n堆栈段寄存器堆栈段寄存器SSSS:指向当前的堆栈段,堆栈操作所需的就:指向当前的堆栈段,堆栈操作所需的就是该段存储单元的内容是该段存储单元的内容n附加段寄存器附加段寄存器ESES:指向当前附加段,通常也用来存储数据:指向当前附加段,通常也用来存储数据现在学习的是第24页,共73页2525思考n8086内部有哪些程序可见的
24、寄存器?其主要作用是什么?现在学习的是第25页,共73页26262.38086的存储器组织(的存储器组织(1)n存储器组织存储器组织q8086CPU有有20条地址线,可条地址线,可配置配置1MB的存储器,地址编号的存储器,地址编号为为00000H-FFFFFHq存储空间按字节存储空间按字节(8位位)进行组织,进行组织,每个存储单元存储一个字节的每个存储单元存储一个字节的数据,若存放数据,若存放“字字”数据数据(16位),则存放在相邻两位),则存放在相邻两个存储单元之中,高字节存个存储单元之中,高字节存放在高地址单元,低字节存放在高地址单元,低字节存放在低地址单元放在低地址单元00000HFFF
25、FFH00001H00002H00003HFFFFEH存储器存储器现在学习的是第26页,共73页27278086的存储器组织(的存储器组织(2)q8086允许字从任何地址开始。允许字从任何地址开始。字的地址为偶地址时,称字的字的地址为偶地址时,称字的存储是对准的存储是对准的,CPU访问时需要一个总线周期访问时需要一个总线周期;若字的地址若字的地址为奇地址时,称字的存储是未对准的,为奇地址时,称字的存储是未对准的,CPU访问需要两个总访问需要两个总线周期。线周期。高字节高字节 低字节低字节 15 8 7 060280H60281H60282H现在学习的是第27页,共73页28288086的存储器
26、组织(的存储器组织(3)n存储器分段存储器分段q8086CPU寄存器皆为寄存器皆为16位,内部位,内部ALU只能进行只能进行16位运算,因此,位运算,因此,8086CPU对地址只能进行对地址只能进行16位运算,寻址范围位运算,寻址范围216=65536(64K)字节。所以引入分段概念,以获得)字节。所以引入分段概念,以获得20位地址位地址q一个段是存储器的一个逻辑单位,其长度可达一个段是存储器的一个逻辑单位,其长度可达64KB,每个段,每个段都由连续的存储单元构成,是存储器中独立的可分别寻址的单都由连续的存储单元构成,是存储器中独立的可分别寻址的单位位q每段第一个字节的位置称为每段第一个字节的
27、位置称为“段起始地址段起始地址”,可由软件指定,可由软件指定q段起始地址:必须能被段起始地址:必须能被16整除(即整除(即XXXX0H)q几个段可以相互重叠,也可指向同一空间几个段可以相互重叠,也可指向同一空间现在学习的是第28页,共73页29298086的存储器组织(的存储器组织(4)n段基址与段内偏移量段基址与段内偏移量q8086与存储器之间所有信息的交换都要使用与存储器之间所有信息的交换都要使用20位的物理地址,位的物理地址,而程序中所涉及到的地址都是而程序中所涉及到的地址都是16位的逻辑地址,对所给定的任位的逻辑地址,对所给定的任一存储单元而言,有两部分逻辑地址:一存储单元而言,有两部
28、分逻辑地址:“段地址段地址”:一个段的起始地址的高一个段的起始地址的高16位,也称位,也称“段基址段基址”。“段内偏移量段内偏移量”:段内一个存储单元的地址相对于段起始地址段内一个存储单元的地址相对于段起始地址的距离,也称的距离,也称“有效地址有效地址EA”,“偏移地址偏移地址”。q段地址存放在段寄存器段地址存放在段寄存器CS、DS、SS、ES中中q段内偏移量由段内偏移量由IP、SP、SI、DI、BX、BP以及相应寄存器的组合以及相应寄存器的组合而组成而组成现在学习的是第29页,共73页30308086的存储器组织(的存储器组织(5)n逻辑地址与物理地址逻辑地址与物理地址q在具有地址变换机构的
29、计算机中,有两种存储器地址:在具有地址变换机构的计算机中,有两种存储器地址:逻辑地址:允许在程序中编排的地址逻辑地址:允许在程序中编排的地址 物理地址:信息在存储器中实际存放地址物理地址:信息在存储器中实际存放地址q在在8086系统中,每个存储单元也都认为有这两类地址系统中,每个存储单元也都认为有这两类地址现在学习的是第30页,共73页31318086的存储器组织(的存储器组织(6)n物理地址的形成物理地址的形成q存储单元的存储单元的20位物理地址是通过将位物理地址是通过将16位的段基址左移位的段基址左移4位,位,再加上再加上16位的偏移地址而形成的,即位的偏移地址而形成的,即 物理地址物理地
30、址=段基址段基址*10H+段内偏移量段内偏移量q例如:例如:6000:0280的物理地址为的物理地址为60280Hq8086CPU中中BIU单元的地址加法器可用来完成物理地址的计单元的地址加法器可用来完成物理地址的计算算现在学习的是第31页,共73页32328086的存储器组织(的存储器组织(7)n信息的分段存储与段寄存器的关系信息的分段存储与段寄存器的关系表表 各种类型访问存储器时的地址成分各种类型访问存储器时的地址成分内存访问类型内存访问类型默认段寄存器默认段寄存器可指定段寄存器可指定段寄存器段内偏移地址来源段内偏移地址来源123456取指令取指令堆栈操作堆栈操作源串源串目的串目的串BP用
31、作基址寻址用作基址寻址一般数据存取一般数据存取CSSSDSESSSDS无无无无CS、ES、SS无无CS、ES、DSCS、ES、SSIPSPSIDI按寻址方式计算得到的有效地址按寻址方式计算得到的有效地址按寻址方式计算得到的有效地址按寻址方式计算得到的有效地址现在学习的是第32页,共73页33338086的存储器组织(的存储器组织(8)n段寄存器的使用约定段寄存器的使用约定q任何类型访问存储器时,其段地址要么由默认段寄存器提供,要么任何类型访问存储器时,其段地址要么由默认段寄存器提供,要么由由“指定指定”的段寄存器提供。的段寄存器提供。q段寄存器段寄存器DS、ES和和SS的内容是用传送指令置入的
32、,但任何的内容是用传送指令置入的,但任何传送型指令不能向段寄存器传送型指令不能向段寄存器CS置入数,但一些指令可以设置和置入数,但一些指令可以设置和影响影响CS的内容,如:的内容,如:ASSUME伪指令、伪指令、JMP、CALL、RET、INT和和IRET。q表中前四项指明了一个表中前四项指明了一个16位的指针寄存器或变址寄存器作为位的指针寄存器或变址寄存器作为段内偏移地址的来源,其它都要按指令码规定的寻址方式求段内偏移地址的来源,其它都要按指令码规定的寻址方式求得。得。现在学习的是第33页,共73页3434思考n什么是逻辑地址?什么是物理地址?如何由逻辑地址求物理地址?现在学习的是第34页,
33、共73页35352.4 8086的的I/O组织组织nI/O接口是保证信息和数据在接口是保证信息和数据在CPU和和I/O设备之间正常传送的电路。设备之间正常传送的电路。nI/O端口是端口是I/O接口内的寄存器,跟存储单元相同,也是以字节为单接口内的寄存器,跟存储单元相同,也是以字节为单位编址,一个位编址,一个I/O端口有唯一的端口有唯一的I/O地址相对应。地址相对应。n8086地址总线的低地址总线的低16位用来对位用来对8位位I/O端口寻址,所以端口寻址,所以8086的的I/O地址空间为地址空间为64K,可以访问,可以访问64K个个I/O端口端口n与存储器类似,任何两个地址连续的与存储器类似,任
34、何两个地址连续的8位位I/O端口,都可以当作端口,都可以当作一个一个16位位I/O端口,类似于存储器的字。端口,类似于存储器的字。n对对8086CPU来说,也象存储器的字那样,要实现奇地址的来说,也象存储器的字那样,要实现奇地址的16位位I/O端口输入输出,都必须访问两次。端口输入输出,都必须访问两次。现在学习的是第35页,共73页36368086CPU与存储器、与存储器、I/O设备的连接设备的连接高位决定接口,高位决定接口,2或或3个低位选择端口个低位选择端口CPU数数据据线线控控制制线线地地址址线线接接 口口地址地址存储器中的字节存储器中的字节0101I/O接口接口I/O端口端口I/O设备
35、设备高位决定模块高位决定模块存储器模块存储器模块现在学习的是第36页,共73页40402.58086的寻址方式的寻址方式n寻址方式:指令中用于说明操作数地址的方法寻址方式:指令中用于说明操作数地址的方法n寻址方式分为数据寻址方式和转移地址寻址方式寻址方式分为数据寻址方式和转移地址寻址方式n数据寻址方式通常有数据寻址方式通常有8 8种:种:1 1、立即寻址、立即寻址2 2、寄存器寻址、寄存器寻址3 3、直接寻址、直接寻址4 4、寄存器间接寻址、寄存器间接寻址5 5、寄存器相对寻址、寄存器相对寻址6 6、基址变址寻址、基址变址寻址7 7、基址变址且相对寻址、基址变址且相对寻址8 8、隐含寻址、隐含
36、寻址现在学习的是第40页,共73页4141立即寻址立即寻址存储器存储器 9ABC 1234 F5 1000 代代码码段段数数据据段段MOV AX,1000HAXAHAL100030000H31000H31001H32000H32001Hn 操作数为立即数,直接存放在代码段中操作数为立即数,直接存放在代码段中现在学习的是第41页,共73页4242寄存器寻址寄存器寻址寄存器寻址寄存器寻址AX12A6HBX12A6Hn 操作数在寄存器中。对于操作数在寄存器中。对于16位数据,寄存器可以是位数据,寄存器可以是8个通个通用寄存器中的任意一个(用寄存器中的任意一个(AX、BX、CX、DX、SI、DI、SP
37、、BP)。对于)。对于8位数据,寄存器可以是位数据,寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。n 例如:例如:MOV AX,BX现在学习的是第42页,共73页4343直接寻址直接寻址存储器存储器 9ABC 1234 F5 1000 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,1000HAXAHAL1234DS30000100031000物理地址物理地址n 操作数在内存单元中操作数在内存单元中n 指令码中直接给出数据的偏移地址指令码中直接给出数据的偏移地址现在学习的是第43页,共73页4444寄存器间接寻址(寄存器间接寻址(
38、1)n 操作数在内存单元中操作数在内存单元中n 数据的偏移地址由指定的寄存器给出:数据的偏移地址由指定的寄存器给出:BX,SI或或DIEA=(BX)(SI)(DI)现在学习的是第44页,共73页4545寄存器间接寻址(寄存器间接寻址(2)存储器存储器 9ABC 1234 F5 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,BXAXAHAL1234DS30000100031000物理地址物理地址BX操作数操作数现在学习的是第45页,共73页4646寄存器相对寻址(寄存器相对寻址(1)n 操作数在内存单元中操作数在内存单元中n 数据的偏移地址是位
39、移量和一个基址寄存器(数据的偏移地址是位移量和一个基址寄存器(BX、BP)或变址寄存器(或变址寄存器(SI、DI)的内容之和)的内容之和EA=(BX)(BP)(SI)(DI)+8位位disp16位位disp现在学习的是第46页,共73页4747寄存器相对寻址(寄存器相对寻址(2)存储器存储器 9ABC 1234 F5 0500 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,dispSIAXAHAL1234DS3000 00B0031000物理地址物理地址SI操作数操作数0500disp现在学习的是第47页,共73页4848基址变址寻址(基址变
40、址寻址(1)n 操作数在内存单元中操作数在内存单元中n 数据的偏移地址是一个基址寄存器数据的偏移地址是一个基址寄存器(BX、BP)和一个变和一个变址寄存器址寄存器(SI、DI)的内容之和的内容之和EA=(BX)(BP)+(SI)(DI)现在学习的是第48页,共73页4949基址变址寻址(基址变址寻址(2)存储器存储器 9ABC 1234 F5 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,BXSIDS30000100032000物理地址物理地址BX操作数操作数1000SIAXAHAL9ABC现在学习的是第49页,共73页5050基址变址且相对
41、寻址(基址变址且相对寻址(1)n 操作数在内存单元中。操作数在内存单元中。n 数据的偏移地址是位移量,一个基址寄存器数据的偏移地址是位移量,一个基址寄存器(BX、BP)和一个变址寄存器和一个变址寄存器(SI、DI)的内容三部分之和。的内容三部分之和。+EA=(BX)(BP)+(SI)(DI)8位位disp16位位disp现在学习的是第50页,共73页5151基址变址且相对寻址(基址变址且相对寻址(2)存储器存储器 9ABC 1234 F5 0500 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,dispBXSIDS3000 010003200
42、0物理地址物理地址BX操作数操作数0B00SIAXAHAL9ABC0500disp现在学习的是第51页,共73页5252隐含寻址隐含寻址有些指令码中不包含指明操作数地址的部分,而其操作码本有些指令码中不包含指明操作数地址的部分,而其操作码本身隐含地说明了操作数地址。身隐含地说明了操作数地址。例如:例如:MULCL;其操作为;其操作为(AX)(AL)(CL)在这里,在这里,AL操作数并没有在指令中指明,是由操作操作数并没有在指令中指明,是由操作码本身隐含地说明了码本身隐含地说明了现在学习的是第52页,共73页5353若若(BX)0158H,(DI)10A5H,位移量,位移量1B57H,(DS)2
43、100H,(SS)1100H,(BP)0100H,段寄存器按默认段寄,段寄存器按默认段寄存器,则相对于各种寻址方式的有效地址和物理地址是:存器,则相对于各种寻址方式的有效地址和物理地址是:直接寻址:直接寻址:EA1B57H物理地址物理地址(DS)10HEA21000H1B57H22B57H 寄存器间接寻址寄存器间接寻址(假设寄存器为假设寄存器为BX):EA0158H物理地址物理地址(DS)10HEA21000H0158H21158H例题例题现在学习的是第53页,共73页5454 寄存器相对寻址寄存器相对寻址(假设寄存器为假设寄存器为BP)EA0100H1B57H1C57H物理地址物理地址(SS
44、)10HEA11000H1C57H12C57H 基址变址寻址基址变址寻址(假设寄存器为假设寄存器为BX和和DI)EA0158H10A5H11FDH物理地址物理地址(DS)10HEA21000H11FDH221FDH 基址变址且相对寻址基址变址且相对寻址(假设寄存器为假设寄存器为BP和和DI)EA0100H10A5H1B57H2CFCH物理地址物理地址(SS)10HEA11000H2CFCH13CFCH现在学习的是第54页,共73页5555转移地址的寻址方式转移地址的寻址方式n指令是按顺序存放在存储器中的,其执行顺序是由代码段寄存器指令是按顺序存放在存储器中的,其执行顺序是由代码段寄存器CS和指
45、令指针和指令指针IP的内容决定的。在正常的情况下,的内容决定的。在正常的情况下,BIU自动修改自动修改IP的内容,使它指向下一条指令。的内容,使它指向下一条指令。n程序转移指令通过改变程序转移指令通过改变IP和和CS的内容,就可以改变程序的正常执的内容,就可以改变程序的正常执行顺序。行顺序。n转移地址的寻址方式有转移地址的寻址方式有4种:种:段内直接寻址段内直接寻址2.段内间接寻址段内间接寻址3.段间直接寻址段间直接寻址4.段间间接寻址段间间接寻址现在学习的是第55页,共73页5656段内直接寻址段内直接寻址pJMP指令的操作数部分直接给出目标单元指令的操作数部分直接给出目标单元p指令所在存储
46、单元的地址的形成:指令所在存储单元的地址的形成:CS*10H+(IP)(IP)=(IP)disp(8位或者位或者16位位)例如:例如:.JMP ABC1.ABC1:.现在学习的是第56页,共73页5757段内间接寻址段内间接寻址pJMP指令转移的目标地址在某一个通用寄存器中或者在某一指令转移的目标地址在某一个通用寄存器中或者在某一个字存储单元中个字存储单元中p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成:CS*10H+(IP)(IP)EA(存在寄存器或存储器单元中存在寄存器或存储器单元中)例如:例如:JMP CX或者或者JMP WORD PTR BX现在学习的是第57页,共73页
47、5858段间直接寻址段间直接寻址p指令码中直接给出指令码中直接给出16位的段地址和位的段地址和16位的有效地址。位的有效地址。p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成:(IP)EA(指令指令)(CS)段地址段地址(指令指令)例如:例如:COSEG1 SEGMENT.JMP FAR PTR TRAGET.COSEG1 ENDSCOSEG2 SEGMENT.TRAGET:-.COSEG2 ENDS现在学习的是第58页,共73页5959段间间接寻址段间间接寻址p段间间接寻址和段内间接寻址相似,要得到的转移地址包括段间间接寻址和段内间接寻址相似,要得到的转移地址包括16位段地址和位
48、段地址和16位有效地址,使用地址连续的位有效地址,使用地址连续的4个存储单元个存储单元存储存储p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成:(IP)EA(存储单元的前两个字节存储单元的前两个字节)(CS)段地址段地址(存储单元的后两存储单元的后两个个字节字节)例如:例如:JMP DWORD PTR ADDRBX或者或者 JMP DWORD PTR BXSI现在学习的是第59页,共73页6969第3章 结 束现在学习的是第69页,共73页7070习题(习题(1)1、8086CPU标志寄存器中的进位标志位是标志寄存器中的进位标志位是_。A CF B SF C PF D AF2、在、
49、在80868088的基址加变址的寻址方式中,基址寄存器是指的基址加变址的寻址方式中,基址寄存器是指_。A AX,BX,CX,DX B BX,BP C SI,DI D CS,DS,ES,SS3、8086的堆栈栈顶由的堆栈栈顶由_来指示。来指示。A CS IPB SS IPC SS SP D CS SP4、8086CPU的数据总线有的数据总线有 根。根。5、8086CPU能寻址能寻址 K个存储单元。个存储单元。6、8086CPU的代码段地址寄存器的代号是的代码段地址寄存器的代号是 。现在学习的是第70页,共73页7171习题(习题(2)7、8086CPU有有 个个16位的寄存器可以分成位的寄存器可
50、以分成8位的寄存器使用。位的寄存器使用。8、8086CPU的指令队列缓冲器有的指令队列缓冲器有 个字节。个字节。9、标志寄存器中的奇偶标志位是、标志寄存器中的奇偶标志位是 。10、8086CPU共有共有 个个16位的寄存器。位的寄存器。11、8086CPU的数据段地址寄存器是的数据段地址寄存器是 。12、8086CPU的地址总线有的地址总线有 根。根。13、有两个有两个有两个有两个1616位字位字位字位字1EE5H1EE5H和和和和2A3CH2A3CH分别存放在分别存放在分别存放在分别存放在80868086微机的存储器的微机的存储器的微机的存储器的微机的存储器的000B0H000B0H和和和和