8086的指令系统.ppt
《8086的指令系统.ppt》由会员分享,可在线阅读,更多相关《8086的指令系统.ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章8086的指令系统uu80868086指令特点指令特点uu80868086的寻址方式的寻址方式uu80868086的指令格式及数据类型的指令格式及数据类型uu80868086的指令集的指令集3.1 8086指令特点uu18086具有灵活的指令格式具有灵活的指令格式uu28086有较强的运算指令有较强的运算指令uu38086指令有极强的寻址能力指令有极强的寻址能力uu48086指令有处理多种数据能力指令有处理多种数据能力n n328086的寻址方式的寻址方式 寻寻寻寻址址址址方方方方式式式式就就就就是是是是指指指指令令令令中中中中用用用用于于于于说说说说明明明明操操操操作作作作数数数数所所
2、所所在在在在地地地地址的方法址的方法址的方法址的方法MOVAX,1234HMOVAX,1234H;B83412;B83412MOVAX,1234HMOVAX,1234H;A13412;A13412一、8086的寻址方式说明1有效地址有效地址EA(EffectiveAddressEffectiveAddress)当当操操作作数数在在内内存存中中时时,指指令令的的地地址址码码(操操作作码码)给给出出所所访访问问的的内内存存单单元元的的逻逻辑辑地地址址。在在寻寻址址方方式式中中,逻逻辑辑地地址址的的形形成成是是由由多多个个分分量量组组合合而而成,该组合地址又叫有效地址。成,该组合地址又叫有效地址。2
3、、MOV数据传送指令数据传送指令其格式为:其格式为:MOV目的操作数,源操作数目的操作数,源操作数t t目目的的操操作作数数和和源源操操作作数数均均可可采采用用不不同的寻址方式,同的寻址方式,t t两个操作数的类型必需一致。两个操作数的类型必需一致。二、寻址方式介绍二、寻址方式介绍1立即寻址(立即寻址(Immediateaddressing)操作数就在指令中,紧跟在操作码后操作数就在指令中,紧跟在操作码后面,作为指令一部分存放在内存的代面,作为指令一部分存放在内存的代码段中,这种操作数称为立即数。码段中,这种操作数称为立即数。例:例:MOVAX,34EAHB8EA34MOVBL,20HB320
4、2、寄存器寻址、寄存器寻址(Registeraddressing)操操作作数数在在寄寄存存器器中中,指指令令中中源源操操作作数和目的操作数都可用这种寻址方式。数和目的操作数都可用这种寻址方式。例:例:MOVAL,BL88D8MOVAX,1234HB83412MOVAL,AH88E03、直接寻址(、直接寻址(Directaddressing)当当指指令令中中的的源源操操作作数数或或目目的的操操作作数数,采采用用直直接接给给出出被被访访问问内内存存单单元元的的逻逻辑辑地地址址时时,这这种种寻寻址址方方式式称称直接寻址。直接寻址。例例:MOVAX,3E4CHA14C3EMOV1234H,ALA234
5、124 4、寄存器间接寻址(、寄存器间接寻址(Registerindirectaddressing)内内存存单单元元的的逻逻辑辑偏偏移移地地址址通通过过寄寄存存器间接给出。器间接给出。例例:MOVSI,61A8HMOVDX,SI5 5、基址、基址/变址寻址(变址寻址(Based/Indexedaddressing)这这这这种种种种寻寻寻寻址址址址方方方方式式式式中中中中提提提提出出出出位位位位移移移移量量量量的的的的概概概概念念念念,即即即即在在在在寄寄寄寄存存存存器器器器间间间间接接接接寻寻寻寻址址址址给给给给出出出出的的的的偏偏偏偏移移移移地地地地址址址址上上上上,加加加加一一一一相相相相
6、对对对对位位位位移移移移量量量量。位位位位移移移移量量量量是是是是一一一一带带带带符符符符号号号号的的的的1616位位位位1616进进进进制制制制数数数数。当当当当使使使使用用用用BXBX或或或或BPBP寄寄寄寄存存存存器器器器时时时时,称称称称基基基基址址址址寻寻寻寻址址址址;使用使用使用使用SISI或或或或DIDI寄存器时,称变址寻址。寄存器时,称变址寻址。寄存器时,称变址寻址。寄存器时,称变址寻址。例例例例:MOVCX,36HBXMOVCX,36HBX MOVMOV20BP,AL20BP,AL6 6、基址加变址寻址(、基址加变址寻址(BasedIndexedaddressing)它的它的
7、它的它的EAEA是由三部分组成的,基址寄存器是由三部分组成的,基址寄存器是由三部分组成的,基址寄存器是由三部分组成的,基址寄存器BXBX或或或或BPBP的内容加上变址寄存器的内容再加的内容加上变址寄存器的内容再加的内容加上变址寄存器的内容再加的内容加上变址寄存器的内容再加位移量。物理地址由基址寄存器按规则选位移量。物理地址由基址寄存器按规则选位移量。物理地址由基址寄存器按规则选位移量。物理地址由基址寄存器按规则选择段寄存器,也可以使用段超越。择段寄存器,也可以使用段超越。择段寄存器,也可以使用段超越。择段寄存器,也可以使用段超越。例例例例:MOVAX,8AHBXSIMOVAX,8AHBXSI该
8、例中该例中该例中该例中EAEA8AH8AHBXBXSISI物理地址物理地址物理地址物理地址DS10HDS10H8AH8AHBXBXSISI7、其他、其他A、隐含寻址、隐含寻址在指令中没有明显的标出,而指定寄存器在指令中没有明显的标出,而指定寄存器在指令中没有明显的标出,而指定寄存器在指令中没有明显的标出,而指定寄存器参加操作,称之为参加操作,称之为参加操作,称之为参加操作,称之为“隐含寻址隐含寻址隐含寻址隐含寻址”。DAADAAMULBLMULBLB B、串寻址(、串寻址(Stringaddressing)串寻址方式仅在串寻址方式仅在8086的串指令中的串指令中使用。规定源操作数的逻辑地址为使
9、用。规定源操作数的逻辑地址为DS:SI;目的操作数的逻辑地址为;目的操作数的逻辑地址为ES:DI。当执行串指令的重复操作时,。当执行串指令的重复操作时,根据设定的方向标志根据设定的方向标志DF,SI和和DI会会自动调整。自动调整。总结段约定总结内存地址形成c c、I/OI/O(输入(输入(输入(输入/输出)端口寻址输出)端口寻址输出)端口寻址输出)端口寻址(I/OportaddressingI/Oportaddressing)当当当当操操操操作作作作数数数数在在在在外外外外部部部部设设设设备备备备时时时时,使使使使用用用用I/OI/O指指指指令令令令。此时有两种不同的寻址方式访问此时有两种不同
10、的寻址方式访问此时有两种不同的寻址方式访问此时有两种不同的寻址方式访问I/OI/O端口。端口。端口。端口。(1)(1)直接端口寻址方式。直接端口寻址方式。直接端口寻址方式。直接端口寻址方式。(2)(2)采用采用采用采用DXDX寄存器间接寻址方式寄存器间接寻址方式寄存器间接寻址方式寄存器间接寻址方式(3)(3)输入指令中目的操作数可为输入指令中目的操作数可为输入指令中目的操作数可为输入指令中目的操作数可为ALAL或或或或AXAX;输出指令中源操作数可为;输出指令中源操作数可为;输出指令中源操作数可为;输出指令中源操作数可为ALAL或或或或AXAX。例例例例:INAL,25HINAL,25HE52
11、5HE525HMOVDX,3E4HMOVDX,3E4HOUTDX,ALOUTDX,ALEEEE ALAXnDXINAL/AX,DX/nOUTDX/n,AL/AX338086的指令格式及数据类型的指令格式及数据类型 指令由操作码和操作数(地址码)指令由操作码和操作数(地址码)组成。组成。8086的指令长度是可变的,一的指令长度是可变的,一条指令一般由条指令一般由16个字节组成。个字节组成。一、指令中的操作数一、指令中的操作数1 1、单操作数指令、单操作数指令指令助记符指令助记符指令的指令的16进制代码进制代码INCAX40HINCBX43H2 2、双操作数指令、双操作数指令指令助记符指令助记符指
12、令的指令的16进制代码进制代码MOVAL,04B004HMOVAX,04B804003 3、三个操作数指令、三个操作数指令 80868086指指令令系系统统中中,大大多多数数指指令令中中只只有有1 12 2个个操操作作数数,但但也也有有少少数数指指令令中中有有3 3个个操操作作数数,不不过过有有一一操操作作数数隐含在操作码中。隐含在操作码中。例:例:ADC AX,BX ADC AX,BX 该该指指令令完完成成操操作作数数AXAX、BXBX和和CFCF位位相相加。加。二、指令中的数据类型二、指令中的数据类型t t无符号数无符号数t t带符号数带符号数t tASCII码码t tBCD数(压缩数(压
13、缩BCD和非压缩和非压缩BCD)348086的指令集的指令集80868086指令系统按功能可分为指令系统按功能可分为指令系统按功能可分为指令系统按功能可分为6 6大类型:大类型:大类型:大类型:1 1、数据传输类数据传输类数据传输类数据传输类2 2、算术运算类算术运算类算术运算类算术运算类3 3、逻辑运算类逻辑运算类逻辑运算类逻辑运算类4 4、串操作类串操作类串操作类串操作类5 5、程序控制类程序控制类程序控制类程序控制类6 6、处理机控制类处理机控制类处理机控制类处理机控制类一、数据传送指令一、数据传送指令n n数据传送指令又可以分成数据传送指令又可以分成4种:种:l通用数据传送通用数据传送
14、l输入输入/输出数据传送输出数据传送l目的地址传送目的地址传送l标志寄存器转送标志寄存器转送指令的共同特点是:指令的共同特点是:1、除除POP和和SAHF指指令令外外,这这类类指指令令的的操操作作结结果果不不会会影影响响FR寄寄存存器器中中的的标标志。志。2、指指令令中中有有两两个个操操作作数数,目目的的操操作作数数和源操作数,其执行过程为:和源操作数,其执行过程为:目的操作数目的操作数源操作数,源操作数,当当指指令令中中仅仅列列出出一一个个操操作作数数时时,另另一一操作数为隐含。操作数为隐含。常用的符号n n累加器累加器累加器累加器aauuax,alax,aln n寄存器寄存器寄存器寄存器r
15、:r:uuax,bx,cx,dx,si,di,sp,bp,ax,bx,cx,dx,si,di,sp,bp,uual,ah,cl,ch,bl,bhdl,dhal,ah,cl,ch,bl,bhdl,dhn n段寄存器段寄存器段寄存器段寄存器segseg:uuds,es,ss,csds,es,ss,csn n内存内存内存内存memmem:uunn,bx,si,di,bpnn,bx,si,di,bpuubx/bp+count,si/di+countbx/bp+count,si/di+countuubx+si/di+count,bp+si/di+countbx+si/di+count,bp+si/di+
16、countn n立即数立即数立即数立即数imim1 1、通用数据传送指令、通用数据传送指令1 1)、)、)、)、MOVMOV传送指令传送指令传送指令传送指令 指令格式为:指令格式为:指令格式为:指令格式为:MOVMOV目的目的目的目的,源,源,源,源 功能:目的功能:目的功能:目的功能:目的源源源源n nmovr,oprdmovr,oprduuOprd:r,mem,seg,imOprd:r,mem,seg,imn nmovmem,oprdmovmem,oprduuOprd:r,seg,imOprd:r,seg,imn nmovseg,oprdmovseg,oprduuOped:r,memOpe
17、d:r,mem注意:注意:1 1、memmem不能到不能到memmem22、segseg做目的操作数时,做目的操作数时,不包括不包括cscs。33、类型匹配、类型匹配2)PUSH进栈指令进栈指令指令格式为:指令格式为:PUSHoprdOprd:r,mem,seg其操作过程是:其操作过程是:a、SP2,指指示示堆堆栈栈中中可可以以存存放放数数据的位置据的位置b、存源操作数,完成进栈操作。存源操作数,完成进栈操作。3)POP出栈指令出栈指令指令格式为:指令格式为:POPopedOped:r,mem,seg(不包括不包括CS!)其操作过程是:其操作过程是:a、将将SS:SP所所指指示示的的栈栈顶顶处
18、处的的两两个个字字节的数据,弹到目的操作数中;节的数据,弹到目的操作数中;b、SP2,指指示示当当前前栈栈顶顶位位置置,完完成成出栈操作出栈操作。4)XCHG交换指令交换指令 指令格式为:指令格式为:指令格式为:指令格式为:XCHGXCHG目的操作数目的操作数目的操作数目的操作数,源操作数,源操作数,源操作数,源操作数XCHGR,OPRDXCHGR,OPRDOPRD:R,MEMOPRD:R,MEM 操作数不能为立即数;操作数不能为立即数;操作数不能为立即数;操作数不能为立即数;源和目的不能同时为存储单元;源和目的不能同时为存储单元;源和目的不能同时为存储单元;源和目的不能同时为存储单元;段寄存
19、器不能作为操作数。段寄存器不能作为操作数。段寄存器不能作为操作数。段寄存器不能作为操作数。n n举例:把2000H单元的字和3000H单元互换2、累加器专用传送指令、累加器专用传送指令1 1)ININ输入指令输入指令输入指令输入指令指令格式为指令格式为指令格式为指令格式为:INAL,nINAL,nINAX,nINAX,nINAL,DXINAL,DXINAX,DXINAX,DX2 2)OUTOUT输出指令输出指令输出指令输出指令 指令格式为:指令格式为:指令格式为:指令格式为:OUTn,ALOUTn,ALOUTn,AXOUTn,AXOUTDX,ALOUTDX,ALOUTDX,AXOUTDX,AX
20、3 3)XLATXLAT换码指令换码指令换码指令换码指令指令格式为:指令格式为:指令格式为:指令格式为:XLATXLAT功能功能功能功能bxbxalalalal例:查表求例:查表求例:查表求例:查表求n n的平方。的平方。的平方。的平方。n:0-9n:0-91 1、将将将将0 09 9的的的的平平平平方方方方表表表表建建建建立立立立在在在在偏偏偏偏移移移移地地地地址址址址为为为为2000H2000H的内存中,如图。的内存中,如图。的内存中,如图。的内存中,如图。2 2、查表查表查表查表 完成求完成求5的平方指令序列为:的平方指令序列为:MOVBX,2000H;MOVBX,2000H;指向平方表
21、的首地址指向平方表的首地址指向平方表的首地址指向平方表的首地址MOVAL,5MOVAL,5;将;将;将;将5 5换码成换码成换码成换码成5 5的平方值的平方值的平方值的平方值XLATXLAT;查表,平方值在;查表,平方值在;查表,平方值在;查表,平方值在ALAL中中中中3、目标地址传送指令、目标地址传送指令这类指令有:这类指令有:1)LEA有效地址传送到寄存器有效地址传送到寄存器2)LDS装入一个新的物理地址装入一个新的物理地址3)LES装入一个新的物理地址装入一个新的物理地址4、标志寄存器传送指令、标志寄存器传送指令1 1)LAHFFRLAHFFR寄存器的低寄存器的低寄存器的低寄存器的低8
22、8位送位送位送位送AHAH2 2)SAHFAHSAHFAH送送送送FRFR寄存器的低寄存器的低寄存器的低寄存器的低8 8位位位位3 3)PUSHFFRPUSHFFR寄存器推入堆栈寄存器推入堆栈寄存器推入堆栈寄存器推入堆栈4 4)POPFPOPF从栈顶中弹出存入从栈顶中弹出存入从栈顶中弹出存入从栈顶中弹出存入FRFR寄存器寄存器寄存器寄存器举例:1、把FR各位清零2、把TF置1,其他位不变二、算术运算指令二、算术运算指令1 1 1 1、算术加法指令、算术加法指令、算术加法指令、算术加法指令 1)1)ADDADD算术加法算术加法算术加法算术加法指令功能:目的地指令功能:目的地指令功能:目的地指令功
23、能:目的地目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数 格式格式格式格式 ADDR,OPRDADDR,OPRDOPRD:R,MEM,IMOPRD:R,MEM,IM ADDMEM,OPRDADDMEM,OPRDOPRD:R,imOPRD:R,im算术指令影响标志位算术指令影响标志位算术指令影响标志位算术指令影响标志位二、算术运算指令二、算术运算指令1 1 1 1、算术加法指令、算术加法指令、算术加法指令、算术加法指令 2 2)ADCADC带进位算术加法带进位算术加法带进位算术加法带进位算术加法指令功能:目的地指令功能:目的地指令功能:目的地指令功能:目的地目的操作数源
24、操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数CFCF 3 3)INCINC加加加加1 1指令指令指令指令指令功能:目的地指令功能:目的地指令功能:目的地指令功能:目的地目的操作数目的操作数目的操作数目的操作数1 14)DAA4)DAA对压缩对压缩对压缩对压缩BCDBCD数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整 5)5)AAAAAA对非压缩对非压缩对非压缩对非压缩BC
25、DBCD数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整t t举例:多位的加法举例:多位的加法举例:多位的加法举例:多位的加法t t2 2 2 2、算术减法指令、算术减法指令、算术减法指令、算术减法指令 1)1)SUBSUB算术减法算术减法算术减法算术减法指令功能:目的地指令功能:目的地指令功能:目的地指令功能:目的地目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 指令系统
限制150内