微处理器原理及应用寻址方式与指令系统.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《微处理器原理及应用寻址方式与指令系统.pptx》由会员分享,可在线阅读,更多相关《微处理器原理及应用寻址方式与指令系统.pptx(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高 低高字 低字高双字低双字字节字双字四字高四字低四字双四字70701581503116310633263012764NNN+1NN+2NN+4NN+8图3.1基本数据类型的结构形式第1页/共91页9CH48H2BH6AH7AH1AHC3H23H72H92H8BH3AHABHA2H12H45HNN1N2N3N4N5N6N7N8N9N10N11N12N13N14N+15N+15单元地址单元地址图3.2基本数据类型存储规律第2页/共91页3.1.2 3.1.2 数字数据类型数字数据类型数据类型包含:无符号整数、带符号整数和浮点数。数据类型包含:无符号整数、带符号整数和浮点数。1 1无符号整数(范围
2、:无符号整数(范围:0 02 2n n-1-1)2 2带符号整数(范围:带符号整数(范围:2 2n-1 n-1 +2+2n-1n-1-1-1)带带符符号号整整数数是是用用2 2的的补补码码表表示示的的二二进进制制值值。规规定定操操作作数数的最高位为符号位。的最高位为符号位。3 3浮点数浮点数 浮浮点点数数据据类类型型可可分分为为三三种种:单单精精度度浮浮点点、双双精精度度浮浮点点和双和双扩展的精度浮点。扩展的精度浮点。第3页/共91页指针数据类型指针数据类型在在实实方方式式下下有有两两种种类类型型的的指指针针:近近指指针针(1616位位)和和远远指指针针(3232位)位)偏移Near指针310
3、偏移段选择子Far指针或逻辑地址3104732(a)(b)图3.3指针数据类型(虚拟方式)第4页/共91页字符串、位及位串数据类型字符串、位及位串数据类型字符串包括字节串、字串和双字串。字符串包括字节串、字串和双字串。它们分别是字节、字和双字的相邻序列。它们分别是字节、字和双字的相邻序列。707070150150150310310310字节串字串双字串NN+1N+MNN+2N+2MNN+4N+4M图3.4字节、字、双字字符串数据类型第5页/共91页3.2 3.2 计算机指令格式计算机指令格式指令包括两部分:指令操作码部分和地址码部分。指令操作码部分是给出该指令应完成何种操作。地址码部分是用来描
4、述该指令的操作对象。指令格式可分为:零地址指令、一地址指令、二地址指令和三地址指令。零地址指令:只有操作码部分,而没有操作数的指令;一地址指令:只有目的操作数的单操作数指令;二地址指令:有两个地址指出两个操作数的地址;三地址指令优点:操作结束后,原两个操作数的内容均未被破坏;缺点:增加一个地址后,使得指令码加长,增加了存储空间,取指时间变长。第6页/共91页3.2.1 3.2.1 指令的助记符格式指令的助记符格式助记符格式可用以下通式表示:助记符格式可用以下通式表示:L L:op D1,D2,D3op D1,D2,D3其中:其中:L L是标号,在标识符后面跟有冒号(:)是标号,在标识符后面跟有
5、冒号(:)opop是助记符,具有相同功能的指令操作码的保留名是助记符,具有相同功能的指令操作码的保留名例如:例如:MOV AX,BX操作码的助记符目的操作数源操作数第7页/共91页3.2.2 80 x863.2.2 80 x86指令编码格式指令编码格式指令编码格式包含操作码和操作数两部分。指令编码格式包含操作码和操作数两部分。操作码表示计算机执行什么操作。操作码表示计算机执行什么操作。操作数指明参与操作的数的本身,或规定了操作数的地址。操作数指明参与操作的数的本身,或规定了操作数的地址。图图 3.5 8086 CPU3.5 8086 CPU指令编码的一般形式指令编码的一般形式1)1)操操作作码
6、码字字节节 它它是是指指令令的的第第一一字字节节,规规定定指指令令的的操操作作类类型型,是指令的必选字节,字节内容如下:是指令的必选字节,字节内容如下:D D7 7 D D6 6 D D5 5 D D4 4 D D3 3 D D2 2 D D1 1 D D0 0 操作码字节寻址方式字节偏移量字节(1/2)立即数字节(1/2)OPDW第8页/共91页OPOP:表示指令操作码,:表示指令操作码,D D:表示指令中数据传送的方向。:表示指令中数据传送的方向。W W:表示操作数类型。:表示操作数类型。2)2)寻寻址址方方式式字字节节。它它是是指指令令的的第第二二字字节节,规规定定操操作作数数的的寻寻址
7、址方式。是指令的可选字节,字节内容如下:方式。是指令的可选字节,字节内容如下:D D7 7 D D6 6 D D5 5 D D4 4 D D3 3 D D2 2 D D1 1 D D0 0 MODMOD:表示方式域,:表示方式域,D D7 7、D D6 6位能表示位能表示4 4种不同的方式。种不同的方式。REGREG:表表示示寄寄存存器器域域,D D5 5、D D4 4、D D3 3位位能能表表示示8 8种种不不同同的的寄寄存存器。器。R/MR/M:表表示示寄寄存存器器存存储储器器域域,D D2 2、D D1 1、D D0 0位位能能表表示示8 8种种不同的寄存器存储器。不同的寄存器存储器。M
8、ODREGR/M第9页/共91页表表3-1 mod3-1 mod与与r rm m域所组合的寻址方式域所组合的寻址方式 MOD MODR/MR/M存储器寻址存储器寻址寄存器寻址寄存器寻址逻辑地址的计算公式逻辑地址的计算公式W W0 0W W1 1MODMOD00B00BMODMOD01B01BMODMOD10B10BMODMOD11B11B000000001001010010011011100100101101110110111111DS:BX+SIDS:BX+SIDS:BX+DIDS:BX+DISS:BP+SISS:BP+SISS:BP+DISS:BP+DIDS:SIDS:SIDS:DIDS:
9、DIDS:disp16DS:disp16 Ds:BXDs:BXDS:BX+SI+disp8DS:BX+SI+disp8DS:BX+DI+disp8DS:BX+DI+disp8SS:BP+SI+disp8SS:BP+SI+disp8SS:BP+DI+disp8SS:BP+DI+disp8DS:SI+disp8DS:SI+disp8DS:DI+disp8DS:DI+disp8DS:disp16 DS:disp16+disp8+disp8Ds:BX+disp8Ds:BX+disp8DS:BX+SI+disp16DS:BX+SI+disp16DS:BX+DI+disp16DS:BX+DI+disp16
10、SS:BP+SI+disp16SS:BP+SI+disp16SS:BP+DI+disp16SS:BP+DI+disp16DS:SI+disp16DS:SI+disp16DS:DI+disp16DS:DI+disp16DS:disp16 DS:disp16+disp16+disp16Ds:BX+disp16Ds:BX+disp16ALALCLCLDLDLBLBLAHAHCHCHDHDHBHBHAXAXCXCXDXDXBXBXSPSPBPBPSISIDIDI第10页/共91页3 3)偏偏移移量量字字节节 是是指指令令的的第第三三、四四字字节节,是是指指令令的的可可选选字字节,节,给出了存储器操作数
11、的偏移量。给出了存储器操作数的偏移量。4 4)立即数字节立即数字节 是指令的可选字节,给出了指令的立即数。是指令的可选字节,给出了指令的立即数。3.3 8086CPU3.3 8086CPU的寻址方式的寻址方式寻址方式寻址方式寻找指令或操作数存放地址的方法。寻找指令或操作数存放地址的方法。两两种种寻寻址址方方式式:一一种种是是用用来来对对操操作作数数进进行行寻寻址址;另另一一种是种是 用用来来对对转转移移地地址址或或调调用用地地址址进进行行寻寻址址,即即 对指令地址进行寻址。对指令地址进行寻址。第11页/共91页3.3.1 3.3.1 操作数的寻址方式操作数的寻址方式1 1、立即寻址立即寻址立即
12、数寻址特点:指令执行速度快。立即数寻址特点:指令执行速度快。立即数只能是整数,且只能作为源操作数。立即数只能是整数,且只能作为源操作数。图3-6立即数寻址过程代码段1234MOVAX,3412H的指令代码34AXAHAL操作码12第12页/共91页2 2、寄存器寻址方式寄存器寻址方式寄寄存存器器寻寻址址方方式式的的优优点点:不不但但可可以以减减少少指指令令码码的的长长度度,而而且且由由 于于操操作作数数已存于寄存器中,执行速度已存于寄存器中,执行速度 较快。较快。寄存器既能作为源操作数,又能作为目的操作数。寄存器既能作为源操作数,又能作为目的操作数。例如:例如:MOV AXMOV AX,CXC
13、X 该该指指令令将将CXCX(源源操操作作数数)的的内内容容传传送送到到AXAX寄寄存存器器(目目的的操操作作数数)中中,其其中中源源操操作作数数CXCX,目目的的操操作作数数AXAX都都是是寄寄存存器器寻址方式。寻址方式。3 3、存储器寻址存储器寻址指令给出了操作数在数据区中的地址信息。指令给出了操作数在数据区中的地址信息。五种不同的存储器寻址方式:五种不同的存储器寻址方式:第13页/共91页(1 1)直接寻址方式)直接寻址方式例如:例如:MOV AXMOV AX,7834H7834H 该该指指令令将将有有效效地地址址EA=8064HEA=8064H单单元元中中的的内内容容传传送送到到AXA
14、X寄寄存存器器中中。若若(DSDS)=2000H=2000H,则则该该指指令令源源操操作作数数的的存存储储单单元元的物理地址为的物理地址为20000H20000H7834H=27834H7834H=27834H。代码段操作码34数据段2000DS20000+7834278343412AXMOVAX,7834H指令代码781234图3-7直接寻址方式寻址过程第14页/共91页(2 2)寄存器间接寻址)寄存器间接寻址操作数存放在存储单元中。操作数存放在存储单元中。注注意意两两点点:一一是是寄寄存存器器中中的的内内容容是是操操作作数数的的有有效效地地址址,而而不不是是 操作数本身;操作数本身;二二是
15、是只只能能用用CPUCPU中中的的基基址址寄寄存存器器BXBX、BPBP或或变变址址寄寄存器存器 DIDI、SISI来间接寻址。来间接寻址。如如果果指指令令前前面面没没有有用用前前缀缀指指令令指指明明操操作作数数在在哪哪一一段段,则则通常默认段寄存器为通常默认段寄存器为DSDS。即:。即:物理地址物理地址=DS10H+EA=DS10H+=DS10H+EA=DS10H+或或 物理地址物理地址=SS10H+BP=SS10H+BP第15页/共91页例如:例如:MOV AXMOV AX,DI DI 代码段操作码数据段12341234DS2468BX12340+2468147A83412AXMOVAX,
16、BX指令代码图3-8寄存器间接寻址示意图第16页/共91页(3(3)寄存器相对寻址)寄存器相对寻址操作数存放在存储单元中操作数存放在存储单元中物理地址物理地址=DS10H+EA=DS10H+=DS10H+EA=DS10H+或或 物理地址物理地址=SS10H+BP=SS10H+BP例如:例如:MOV BXMOV BX,DI+10H DI+10H 第17页/共91页基址寻址基址寻址用用BXBX、BPBP为基址寄存器进行寻址为基址寄存器进行寻址变址寻址变址寻址用用SISI、DIDI为变址寄存器进行寻址为变址寄存器进行寻址 代码段操作码24数据段2678681234DS2732BX1234027321
17、B2967826AXMOVAX,BX6824H指令代码+6824图3-9寄存器相对寻址操作过程第18页/共91页(4(4)基址加变址寻址方式)基址加变址寻址方式操作数存放在存储单元中操作数存放在存储单元中 物理地址物理地址=DS10H+EA=DS10H+=DS10H+EA=DS10H+或或 物理地址物理地址=SS10H+=SS10H+例如:例如:ADD AXADD AX,BX+SI BX+SI+1026003412340代码段操作码数据段78561234DS1026SI1339A5678AXMOVAX,BXSI指令代码0034BX图3-10基址加变址寻址方式操作过程第19页/共91页(5(5)
18、相对的基址和变址寻址方式)相对的基址和变址寻址方式操作数存放在存储单元中操作数存放在存储单元中物理地址物理地址=DS10H+EA=DS10H+=DS10H+EA=DS10H+或或 物理地址物理地址=SS10H+=SS10H+第20页/共91页例如:例如:MOV AHMOV AH,BXBXSISI2468H2468HMOVAH,BXSI2468H指令代码0110010020000代码段操作码68数据段26232000DS0110SI2267826AH0100BX+246824图3-11相对的基址和变址寻址方式操作过程过程第21页/共91页4 4、I IO O端口寻址端口寻址操作数在操作数在I I
19、O O端口中。端口中。两种编址方式:与存储器统一编址方式两种编址方式:与存储器统一编址方式独立的独立的I IO O空间编址方式空间编址方式与存储器统一编址方式,上述五种存储器寻址方式均可采用。与存储器统一编址方式,上述五种存储器寻址方式均可采用。独立的独立的I IO O空间编址方式则对空间编址方式则对I IO O端口有两种寻址方式:端口有两种寻址方式:(l(l)直接端口寻址方式)直接端口寻址方式端端口口地地址址的的寻寻址址范范围围是是 0 0 0FFH0FFH,端端口口地地址址直直接接由由指指令给出。令给出。(2(2)间接端口寻址方式间接端口寻址方式端端口口地地址址的的寻寻址址范范围围是是 0
20、 0 0FFFFH0FFFFH,端端口口地地址址由由DXDX寄寄存器给出。存器给出。第22页/共91页3.3.2 3.3.2 指令地址的寻址方式指令地址的寻址方式指令地址的寻址方式以下指令地址的寻址方式以下4 4种:种:(1)(1)段内直接寻址方式段内直接寻址方式转移的指令地址是由当前的转移的指令地址是由当前的IPIP内容和指令中规定的内容和指令中规定的8 8位或位或1616位偏移量之和给出。位偏移量之和给出。+2101012112340代码段操作码操作码01211234CS14562段内直接转移指令代码0121IP目标指令代码图3-12段内直接寻址方式过程第23页/共91页(2)(2)(2)
21、(2)段内间接寻址方式段内间接寻址方式段内间接寻址方式段内间接寻址方式转移的指令地址是由用寄存器或一个字存储单元的内容给转移的指令地址是由用寄存器或一个字存储单元的内容给转移的指令地址是由用寄存器或一个字存储单元的内容给转移的指令地址是由用寄存器或一个字存储单元的内容给出。出。出。出。代码段操作码操作码数据寻址方式CS段内间接转移指令代码根据数据寻址方式计算EAIP目标指令代码图3-13段内间接寻址方式过程第24页/共91页(3)(3)段间直接寻址方式段间直接寻址方式 转移的指令地址是由指令码字节直接给出。转移的指令地址是由指令码字节直接给出。3412+78560代码段操作码操作码123478
22、56CS7B972段间直接转移代码3412IP目标指令代码5678图3-14段间直接寻址过程第25页/共91页(4)(4)段间间接寻址方式段间间接寻址方式 转移的指令地址由一个双字存储单元的内容给出转移的指令地址由一个双字存储单元的内容给出。图3-15段间间接寻址方式过程代码段操作码操作码数据寻址方式段间间接转移指令代码目标指令代码DSCSIP数据段12345678根据数据寻址方式计算EA第26页/共91页3.4 80863.4 8086指令系统指令系统指令系统按功能可分为指令系统按功能可分为6 6类:类:数据传送类指令;数据传送类指令;算术运算类指令;算术运算类指令;逻辑运算与移位类指令;逻
23、辑运算与移位类指令;字符串指令;字符串指令;控制转移类指令;控制转移类指令;处理器控制类指令。处理器控制类指令。第27页/共91页3.4.1 3.4.1 数据传送类指令数据传送类指令分为分为4 4种:种:通用数据传送指令通用数据传送指令 累加器专用传送指令累加器专用传送指令 地址传送指令地址传送指令 标志传送指令。标志传送指令。1 1通用数据传送指令通用数据传送指令(1(1)最基本的传送指令)最基本的传送指令格式:格式:MOV 目的操作数,源操作数目的操作数,源操作数第28页/共91页举例:举例:MOVBL,ALMOVDS,AXMOVDL,DIMOVBX,AXMOVDX,1000MOVBH,1
24、20MOVDX,1234H第29页/共91页(2(2)堆栈操作指令)堆栈操作指令 堆堆栈栈是是一一种种数数据据结结构构,是是在在内内存存中中开开辟辟了了一一个个比比较较特特殊殊的的存存储储区区,这这个个区区域域中中数数据据的的存存取取采采用用“后后进进先先出出”的的原则。原则。1000SS0018SP605040302010100181001A栈顶栈底1000SS0016SP605040302010ABCD100181001A栈顶栈底1000SS001ASP403020101001A栈顶栈底10016图68086系统椎栈及其操作(a)堆栈原始状态(b)执行pushAX(c)执行POPAX(AX
25、)=CDABHPOPBX后的状态(a)(b)(c)第30页/共91页堆栈段堆栈段8086CPU在存储器分段管理时,划分了一个专在存储器分段管理时,划分了一个专门的门的堆栈区。堆栈区。格式:格式:PUSH源操作数源操作数POP目的操作数目的操作数举例:举例:PUSHBXPUSHESPUSHDSPUSHSIPOPAXPOPBX1.POSHDI第31页/共91页(3)交换指令)交换指令实现两个操作数之间进行直接交换,方便程序的编写。实现两个操作数之间进行直接交换,方便程序的编写。格式:格式:XCHG目的操作数,源操作数目的操作数,源操作数举例:举例:XCHGAH,BLXCHGDX,BXXCHG505
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微处理器 原理 应用 寻址 方式 指令系统
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内