欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    8086的指令系统.ppt

    • 资源ID:80451042       资源大小:340KB        全文页数:67页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    8086的指令系统.ppt

    第三章8086的指令系统uu80868086指令特点指令特点uu80868086的寻址方式的寻址方式uu80868086的指令格式及数据类型的指令格式及数据类型uu80868086的指令集的指令集3.1 8086指令特点uu18086具有灵活的指令格式具有灵活的指令格式uu28086有较强的运算指令有较强的运算指令uu38086指令有极强的寻址能力指令有极强的寻址能力uu48086指令有处理多种数据能力指令有处理多种数据能力n n328086的寻址方式的寻址方式 寻寻寻寻址址址址方方方方式式式式就就就就是是是是指指指指令令令令中中中中用用用用于于于于说说说说明明明明操操操操作作作作数数数数所所所所在在在在地地地地址的方法址的方法址的方法址的方法MOVAX,1234HMOVAX,1234H;B83412;B83412MOVAX,1234HMOVAX,1234H;A13412;A13412一、8086的寻址方式说明1有效地址有效地址EA(EffectiveAddressEffectiveAddress)当当操操作作数数在在内内存存中中时时,指指令令的的地地址址码码(操操作作码码)给给出出所所访访问问的的内内存存单单元元的的逻逻辑辑地地址址。在在寻寻址址方方式式中中,逻逻辑辑地地址址的的形形成成是是由由多多个个分分量量组组合合而而成,该组合地址又叫有效地址。成,该组合地址又叫有效地址。2、MOV数据传送指令数据传送指令其格式为:其格式为:MOV目的操作数,源操作数目的操作数,源操作数t t目目的的操操作作数数和和源源操操作作数数均均可可采采用用不不同的寻址方式,同的寻址方式,t t两个操作数的类型必需一致。两个操作数的类型必需一致。二、寻址方式介绍二、寻址方式介绍1立即寻址(立即寻址(Immediateaddressing)操作数就在指令中,紧跟在操作码后操作数就在指令中,紧跟在操作码后面,作为指令一部分存放在内存的代面,作为指令一部分存放在内存的代码段中,这种操作数称为立即数。码段中,这种操作数称为立即数。例:例:MOVAX,34EAHB8EA34MOVBL,20HB3202、寄存器寻址、寄存器寻址(Registeraddressing)操操作作数数在在寄寄存存器器中中,指指令令中中源源操操作作数和目的操作数都可用这种寻址方式。数和目的操作数都可用这种寻址方式。例:例:MOVAL,BL88D8MOVAX,1234HB83412MOVAL,AH88E03、直接寻址(、直接寻址(Directaddressing)当当指指令令中中的的源源操操作作数数或或目目的的操操作作数数,采采用用直直接接给给出出被被访访问问内内存存单单元元的的逻逻辑辑地地址址时时,这这种种寻寻址址方方式式称称直接寻址。直接寻址。例例:MOVAX,3E4CHA14C3EMOV1234H,ALA234124 4、寄存器间接寻址(、寄存器间接寻址(Registerindirectaddressing)内内存存单单元元的的逻逻辑辑偏偏移移地地址址通通过过寄寄存存器间接给出。器间接给出。例例:MOVSI,61A8HMOVDX,SI5 5、基址、基址/变址寻址(变址寻址(Based/Indexedaddressing)这这这这种种种种寻寻寻寻址址址址方方方方式式式式中中中中提提提提出出出出位位位位移移移移量量量量的的的的概概概概念念念念,即即即即在在在在寄寄寄寄存存存存器器器器间间间间接接接接寻寻寻寻址址址址给给给给出出出出的的的的偏偏偏偏移移移移地地地地址址址址上上上上,加加加加一一一一相相相相对对对对位位位位移移移移量量量量。位位位位移移移移量量量量是是是是一一一一带带带带符符符符号号号号的的的的1616位位位位1616进进进进制制制制数数数数。当当当当使使使使用用用用BXBX或或或或BPBP寄寄寄寄存存存存器器器器时时时时,称称称称基基基基址址址址寻寻寻寻址址址址;使用使用使用使用SISI或或或或DIDI寄存器时,称变址寻址。寄存器时,称变址寻址。寄存器时,称变址寻址。寄存器时,称变址寻址。例例例例:MOVCX,36HBXMOVCX,36HBX MOVMOV20BP,AL20BP,AL6 6、基址加变址寻址(、基址加变址寻址(BasedIndexedaddressing)它的它的它的它的EAEA是由三部分组成的,基址寄存器是由三部分组成的,基址寄存器是由三部分组成的,基址寄存器是由三部分组成的,基址寄存器BXBX或或或或BPBP的内容加上变址寄存器的内容再加的内容加上变址寄存器的内容再加的内容加上变址寄存器的内容再加的内容加上变址寄存器的内容再加位移量。物理地址由基址寄存器按规则选位移量。物理地址由基址寄存器按规则选位移量。物理地址由基址寄存器按规则选位移量。物理地址由基址寄存器按规则选择段寄存器,也可以使用段超越。择段寄存器,也可以使用段超越。择段寄存器,也可以使用段超越。择段寄存器,也可以使用段超越。例例例例:MOVAX,8AHBXSIMOVAX,8AHBXSI该例中该例中该例中该例中EAEA8AH8AHBXBXSISI物理地址物理地址物理地址物理地址DS10HDS10H8AH8AHBXBXSISI7、其他、其他A、隐含寻址、隐含寻址在指令中没有明显的标出,而指定寄存器在指令中没有明显的标出,而指定寄存器在指令中没有明显的标出,而指定寄存器在指令中没有明显的标出,而指定寄存器参加操作,称之为参加操作,称之为参加操作,称之为参加操作,称之为“隐含寻址隐含寻址隐含寻址隐含寻址”。DAADAAMULBLMULBLB B、串寻址(、串寻址(Stringaddressing)串寻址方式仅在串寻址方式仅在8086的串指令中的串指令中使用。规定源操作数的逻辑地址为使用。规定源操作数的逻辑地址为DS:SI;目的操作数的逻辑地址为;目的操作数的逻辑地址为ES:DI。当执行串指令的重复操作时,。当执行串指令的重复操作时,根据设定的方向标志根据设定的方向标志DF,SI和和DI会会自动调整。自动调整。总结段约定总结内存地址形成c c、I/OI/O(输入(输入(输入(输入/输出)端口寻址输出)端口寻址输出)端口寻址输出)端口寻址(I/OportaddressingI/Oportaddressing)当当当当操操操操作作作作数数数数在在在在外外外外部部部部设设设设备备备备时时时时,使使使使用用用用I/OI/O指指指指令令令令。此时有两种不同的寻址方式访问此时有两种不同的寻址方式访问此时有两种不同的寻址方式访问此时有两种不同的寻址方式访问I/OI/O端口。端口。端口。端口。(1)(1)直接端口寻址方式。直接端口寻址方式。直接端口寻址方式。直接端口寻址方式。(2)(2)采用采用采用采用DXDX寄存器间接寻址方式寄存器间接寻址方式寄存器间接寻址方式寄存器间接寻址方式(3)(3)输入指令中目的操作数可为输入指令中目的操作数可为输入指令中目的操作数可为输入指令中目的操作数可为ALAL或或或或AXAX;输出指令中源操作数可为;输出指令中源操作数可为;输出指令中源操作数可为;输出指令中源操作数可为ALAL或或或或AXAX。例例例例:INAL,25HINAL,25HE525HE525HMOVDX,3E4HMOVDX,3E4HOUTDX,ALOUTDX,ALEEEE ALAXnDXINAL/AX,DX/nOUTDX/n,AL/AX338086的指令格式及数据类型的指令格式及数据类型 指令由操作码和操作数(地址码)指令由操作码和操作数(地址码)组成。组成。8086的指令长度是可变的,一的指令长度是可变的,一条指令一般由条指令一般由16个字节组成。个字节组成。一、指令中的操作数一、指令中的操作数1 1、单操作数指令、单操作数指令指令助记符指令助记符指令的指令的16进制代码进制代码INCAX40HINCBX43H2 2、双操作数指令、双操作数指令指令助记符指令助记符指令的指令的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数(压缩数(压缩BCD和非压缩和非压缩BCD)348086的指令集的指令集80868086指令系统按功能可分为指令系统按功能可分为指令系统按功能可分为指令系统按功能可分为6 6大类型:大类型:大类型:大类型:1 1、数据传输类数据传输类数据传输类数据传输类2 2、算术运算类算术运算类算术运算类算术运算类3 3、逻辑运算类逻辑运算类逻辑运算类逻辑运算类4 4、串操作类串操作类串操作类串操作类5 5、程序控制类程序控制类程序控制类程序控制类6 6、处理机控制类处理机控制类处理机控制类处理机控制类一、数据传送指令一、数据传送指令n n数据传送指令又可以分成数据传送指令又可以分成4种:种:l通用数据传送通用数据传送l输入输入/输出数据传送输出数据传送l目的地址传送目的地址传送l标志寄存器转送标志寄存器转送指令的共同特点是:指令的共同特点是:1、除除POP和和SAHF指指令令外外,这这类类指指令令的的操操作作结结果果不不会会影影响响FR寄寄存存器器中中的的标标志。志。2、指指令令中中有有两两个个操操作作数数,目目的的操操作作数数和源操作数,其执行过程为:和源操作数,其执行过程为:目的操作数目的操作数源操作数,源操作数,当当指指令令中中仅仅列列出出一一个个操操作作数数时时,另另一一操作数为隐含。操作数为隐含。常用的符号n n累加器累加器累加器累加器aauuax,alax,aln n寄存器寄存器寄存器寄存器r: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+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,memOped: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所所指指示示的的栈栈顶顶处处的的两两个个字字节的数据,弹到目的操作数中;节的数据,弹到目的操作数中;b、SP2,指指示示当当前前栈栈顶顶位位置置,完完成成出栈操作出栈操作。4)XCHG交换指令交换指令 指令格式为:指令格式为:指令格式为:指令格式为:XCHGXCHG目的操作数目的操作数目的操作数目的操作数,源操作数,源操作数,源操作数,源操作数XCHGR,OPRDXCHGR,OPRDOPRD:R,MEMOPRD:R,MEM 操作数不能为立即数;操作数不能为立即数;操作数不能为立即数;操作数不能为立即数;源和目的不能同时为存储单元;源和目的不能同时为存储单元;源和目的不能同时为存储单元;源和目的不能同时为存储单元;段寄存器不能作为操作数。段寄存器不能作为操作数。段寄存器不能作为操作数。段寄存器不能作为操作数。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,AX3 3)XLATXLAT换码指令换码指令换码指令换码指令指令格式为:指令格式为:指令格式为:指令格式为:XLATXLAT功能功能功能功能bxbxalalalal例:查表求例:查表求例:查表求例:查表求n n的平方。的平方。的平方。的平方。n:0-9n:0-91 1、将将将将0 09 9的的的的平平平平方方方方表表表表建建建建立立立立在在在在偏偏偏偏移移移移地地地地址址址址为为为为2000H2000H的内存中,如图。的内存中,如图。的内存中,如图。的内存中,如图。2 2、查表查表查表查表 完成求完成求5的平方指令序列为:的平方指令序列为:MOVBX,2000H;MOVBX,2000H;指向平方表的首地址指向平方表的首地址指向平方表的首地址指向平方表的首地址MOVAL,5MOVAL,5;将;将;将;将5 5换码成换码成换码成换码成5 5的平方值的平方值的平方值的平方值XLATXLAT;查表,平方值在;查表,平方值在;查表,平方值在;查表,平方值在ALAL中中中中3、目标地址传送指令、目标地址传送指令这类指令有:这类指令有:1)LEA有效地址传送到寄存器有效地址传送到寄存器2)LDS装入一个新的物理地址装入一个新的物理地址3)LES装入一个新的物理地址装入一个新的物理地址4、标志寄存器传送指令、标志寄存器传送指令1 1)LAHFFRLAHFFR寄存器的低寄存器的低寄存器的低寄存器的低8 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算术加法算术加法算术加法算术加法指令功能:目的地指令功能:目的地指令功能:目的地指令功能:目的地目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数 格式格式格式格式 ADDR,OPRDADDR,OPRDOPRD:R,MEM,IMOPRD:R,MEM,IM ADDMEM,OPRDADDMEM,OPRDOPRD:R,imOPRD:R,im算术指令影响标志位算术指令影响标志位算术指令影响标志位算术指令影响标志位二、算术运算指令二、算术运算指令1 1 1 1、算术加法指令、算术加法指令、算术加法指令、算术加法指令 2 2)ADCADC带进位算术加法带进位算术加法带进位算术加法带进位算术加法指令功能:目的地指令功能:目的地指令功能:目的地指令功能:目的地目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数CFCF 3 3)INCINC加加加加1 1指令指令指令指令指令功能:目的地指令功能:目的地指令功能:目的地指令功能:目的地目的操作数目的操作数目的操作数目的操作数1 14)DAA4)DAA对压缩对压缩对压缩对压缩BCDBCD数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整 5)5)AAAAAA对非压缩对非压缩对非压缩对非压缩BCDBCD数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正数加法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整t t举例:多位的加法举例:多位的加法举例:多位的加法举例:多位的加法t t2 2 2 2、算术减法指令、算术减法指令、算术减法指令、算术减法指令 1)1)SUBSUB算术减法算术减法算术减法算术减法指令功能:目的地指令功能:目的地指令功能:目的地指令功能:目的地目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数2)2)SBBSBB带进位算术减法带进位算术减法带进位算术减法带进位算术减法指令功能:目的地指令功能:目的地指令功能:目的地指令功能:目的地目的操作数源操作数目的操作数源操作数目的操作数源操作数目的操作数源操作数CFCF3)DEC3)DEC减减减减1 1指令指令指令指令指令功能:目的地指令功能:目的地指令功能:目的地指令功能:目的地目的操作数目的操作数目的操作数目的操作数1 14)DAS4)DAS对压缩对压缩对压缩对压缩BCDBCD数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整5)AAS5)AAS对非压缩对非压缩对非压缩对非压缩BCDBCD数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正数减法操作的结果进行校正指令功能:对指令功能:对指令功能:对指令功能:对ALAL寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整寄存器的内容进行十进制调整6)CMP6)CMP比较指令比较指令比较指令比较指令指指指指令令令令功功功功能能能能:两两两两个个个个操操操操作作作作数数数数相相相相减减减减,不不不不产产产产生生生生运运运运算算算算结结结结果果果果仅仅仅仅影影影影响响响响标志标志标志标志7)NEG7)NEG取补指令取补指令取补指令取补指令指令功能:指令功能:指令功能:指令功能:0 0目的操作数目的操作数目的操作数目的操作数3 3、算术乘法指令、算术乘法指令 1)1)MULMUL无符号数乘法无符号数乘法无符号数乘法无符号数乘法指令功能:完成两个操作数相乘指令功能:完成两个操作数相乘指令功能:完成两个操作数相乘指令功能:完成两个操作数相乘MULOPRD;MULOPRD;AL*OPRD-AXAL*OPRD-AXAX*OPRD-DXAXAX*OPRD-DXAXOPRD:R,MEMOPRD:R,MEM2)2)IMULIMUL带符号数乘法带符号数乘法带符号数乘法带符号数乘法指令功能:完成两个操作数相乘指令功能:完成两个操作数相乘指令功能:完成两个操作数相乘指令功能:完成两个操作数相乘3 3)AAMAAM非压缩非压缩非压缩非压缩BCDBCD数乘法操作结果校正数乘法操作结果校正数乘法操作结果校正数乘法操作结果校正指指指指令令令令功功功功能能能能:完完完完成成成成两两两两个个个个非非非非压压压压缩缩缩缩BCDBCD数数数数乘乘乘乘法结果的十进制数调整法结果的十进制数调整法结果的十进制数调整法结果的十进制数调整举例:把扩展举例:把扩展举例:把扩展举例:把扩展BCDBCD转二进制数转二进制数转二进制数转二进制数4、算术除法指令、算术除法指令DIVDIV无符号数除法无符号数除法无符号数除法无符号数除法 指令功能:完成两个操作数相除指令功能:完成两个操作数相除指令功能:完成两个操作数相除指令功能:完成两个操作数相除 DIVOPRDDIVOPRDAX/OPRDAX/OPRDAL:AL:商,商,AH:AH:余数余数DXAX/OPRDDXAX/OPRDAX:AX:商,商,DX:DX:余数余数IDIVIDIV带符号数除法带符号数除法带符号数除法带符号数除法 指令功能:完成两个操作数相除指令功能:完成两个操作数相除指令功能:完成两个操作数相除指令功能:完成两个操作数相除 另外还有:另外还有:另外还有:另外还有:CBWCBW带符号数字节扩展、带符号数字节扩展、带符号数字节扩展、带符号数字节扩展、CWDCWD带符号数字扩展、带符号数字扩展、带符号数字扩展、带符号数字扩展、AADAAD非压缩非压缩非压缩非压缩BCDBCD数除法校正数除法校正数除法校正数除法校正 举例:把举例:把举例:把举例:把ALAL二进制数转为扩展二进制数转为扩展二进制数转为扩展二进制数转为扩展BCDBCD数数数数三、位操作指令三、位操作指令指令的共同点是:指令的共同点是:指令的共同点是:指令的共同点是:(1 1)可以按二进制位进行操作;可以按二进制位进行操作;可以按二进制位进行操作;可以按二进制位进行操作;(2 2)逻辑运算指令按逻辑门电路的运算规则,)逻辑运算指令按逻辑门电路的运算规则,)逻辑运算指令按逻辑门电路的运算规则,)逻辑运算指令按逻辑门电路的运算规则,(3 3)逻辑移位指令有左移和右移,移出的位都逻辑移位指令有左移和右移,移出的位都逻辑移位指令有左移和右移,移出的位都逻辑移位指令有左移和右移,移出的位都 进入进入进入进入CFCF标志标志标志标志(4 4)因移空位的补充方式不同有多种指令形)因移空位的补充方式不同有多种指令形)因移空位的补充方式不同有多种指令形)因移空位的补充方式不同有多种指令形 式式式式(5 5)逻逻逻逻辑辑辑辑移移移移位位位位指指指指令令令令中中中中,移移移移动动动动超超超超过过过过1 1次次次次则则则则用用用用CLCL寄寄寄寄 存器做计数器存器做计数器存器做计数器存器做计数器(6 6)执行逻辑操作指令,执行逻辑操作指令,执行逻辑操作指令,执行逻辑操作指令,CFCF均被清均被清均被清均被清0 0 1、逻辑运算指令逻辑运算指令 1 1)NOTNOT逻辑求反逻辑求反逻辑求反逻辑求反 指令功能:将指令功能:将指令功能:将指令功能:将8 8位、位、位、位、1616位寄存器或存储器内容求反位寄存器或存储器内容求反位寄存器或存储器内容求反位寄存器或存储器内容求反 2 2)ANDAND逻辑与操作逻辑与操作逻辑与操作逻辑与操作 指指指指令令令令功功功功能能能能:将将将将8 8位位位位、1616位位位位寄寄寄寄存存存存器器器器或或或或存存存存储储储储器器器器内内内内容容容容和和和和源源源源操操操操作作作作数数数数“与与与与”3 3)OROR逻辑或操作逻辑或操作逻辑或操作逻辑或操作指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储器内容和源操作位寄存器或存储器内容和源操作位寄存器或存储器内容和源操作位寄存器或存储器内容和源操作数数数数“或或或或”4 4)XORXOR逻辑异或操作逻辑异或操作逻辑异或操作逻辑异或操作 指令功能:将指令功能:将指令功能:将指令功能:将8 8位、位、位、位、1616位寄存器或存储器内容和源操作位寄存器或存储器内容和源操作位寄存器或存储器内容和源操作位寄存器或存储器内容和源操作数数数数“异或异或异或异或”5 5)TESTTEST测试指令测试指令测试指令测试指令 指指指指令令令令功功功功能能能能:将将将将8 8 8 8位位位位、16161616位位位位寄寄寄寄存存存存器器器器或或或或存存存存储储储储器器器器内内内内容容容容和和和和源源源源操操操操作数作数作数作数“与与与与”,不产生运算结果,仅影响状态标志,不产生运算结果,仅影响状态标志,不产生运算结果,仅影响状态标志,不产生运算结果,仅影响状态标志 n nAND可以使指定位为0n nOR可以使指定位为1n nXOR可以使指定位为非2 2、逻辑移位指令、逻辑移位指令11)SHLSHL逻辑左移逻辑左移逻辑左移逻辑左移指令功能:将指令功能:将指令功能:将指令功能:将8 8位、位、位、位、1616位寄存器或存储位寄存器或存储位寄存器或存储位寄存器或存储器内容左移,移空的位补器内容左移,移空的位补器内容左移,移空的位补器内容左移,移空的位补0 0SHLOPRD,1SHLOPRD,1ORORSHLOPRD,CLSHLOPRD,CL 2 2)SALSAL算术左移算术左移算术左移算术左移 指令功能:将指令功能:将指令功能:将指令功能:将8 8位、位、位、位、1616位寄存器或存储位寄存器或存储位寄存器或存储位寄存器或存储器内容左移,移空的位补器内容左移,移空的位补器内容左移,移空的位补器内容左移,移空的位补0 0 举例:扩展举例:扩展BCDBCD码码BCDBCD码码2 2、逻辑移位指令、逻辑移位指令3 3)SHRSHR逻辑右移逻辑右移逻辑右移逻辑右移 指令功能:将指令功能:将指令功能:将指令功能:将8 8位、位、位、位、1616位寄存器或存储位寄存器或存储位寄存器或存储位寄存器或存储器内容右移,移空的位补器内容右移,移空的位补器内容右移,移空的位补器内容右移,移空的位补0 0 4 4)SARSAR算术右移算术右移算术右移算术右移指令功能:将指令功能:将指令功能:将指令功能:将8 8位、位、位、位、1616位寄存器或存储位寄存器或存储位寄存器或存储位寄存器或存储器内容右移,移空的位由最高位补充。器内容右移,移空的位由最高位补充。器内容右移,移空的位由最高位补充。器内容右移,移空的位由最高位补充。举例:举例:BCDBCD码码扩展扩展BCDBCD码码5 5)ROLROL不带进位循环左移不带进位循环左移不带进位循环左移不带进位循环左移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储位寄存器或存储位寄存器或存储位寄存器或存储器内容左移,移空的位由移出位补充。器内容左移,移空的位由移出位补充。器内容左移,移空的位由移出位补充。器内容左移,移空的位由移出位补充。6 6)RORROR不带进位循环右移不带进位循环右移不带进位循环右移不带进位循环右移指令功能:将指令功能:将指令功能:将指令功能:将8 8 8 8位、位、位、位、16161616位寄存器或存储位寄存器或存储位寄存器或存储位寄存器或存储器内容右移,移空的位由移出位补充。器内容右移,移空的位由移出位补充。器内容右移,移空的位由移出位补充。器内容右移,移空的位由移出位补充。7)RCL带进位循环左移带进位循环左移指令功能:将指令功能:将8位、位、16位寄存器或位寄存器或存储器内容左移,移空的位由存储器内容左移,移空的位由CF位补充。位补充。8)RCR带进位循环右移带进位循环右移 指令功能:将指令功能:将8位、位、16位寄存器或位寄存器或存储器内容右移,移空的位由存储器内容右移,移空的位由CF位补充。位补充。举例:倒序程序四、串处理指令四、串处理指令n n源操作数指针DS:SI,目的操作数指针ES:DIn n每操作一次SI,DI修改一次,方向由DF控制n n重复操作的退出uucx控制uu条件控制(ZF标志)四、串处理指令四、串处理指令1 1、串传送指令、串传送指令MOVSB/MOVSW2 2、串比较指令、串比较指令 CMPSB/COMPSW CMPSB/COMPSW3 3、串搜索指令、串搜索指令SCASB/SCASW4 4、串装入指令、串装入指令 LODSB/LODSW LODSB/LODSW5 5、串存、串存储储指令指令 STOSB/STOSB STOSB/STOSB6 6、指令前、指令前缀缀 REPREP、REPZ/REPEREPZ/REPE、REPNZ/REPNEREPNZ/REPNE 五、程序控制转移指令五、程序控制转移指令1 1、无条件转移指令、无条件转移指令JMP JMP JMP JMP 目标地址目标地址目标地址目标地址 1 1 1 1)、段内直接转移)、段内直接转移)、段内直接转移)、段内直接转移JMPLABELJMPLABELIP+IP+位移量位移量IPIP位移量位移量LABELLABEL指令地址指令地址JMPJMP地址地址3 32 2)、短转移指令)、短转移指令JMPLABELJMPLABELIP+CBW(IP+CBW(位移量位移量)IPIP位移量(位移量(位移量(位移量(8bit8bit)LABELLABEL指令地址指令地址指令地址指令地址JMPJMP地址地址地址地址2 2 3 3)、段)、段)、段)、段内内内内间接转移间接转移间接转移间接转移 JMPOPRD;OPRDIPOPRD:r,MEMOPRD:r,MEM JMP AX JMP AX JMP AX JMP AX 3)、段间直接转移)、段间直接转移JMPfarLABELJMPfarLABELoffestLABELoffestLABELIPIPsegLABELsegLABELcscs4)、段间间接转移)、段间间接转移 JMPOPRD;JMPOPRD;OPRD:MEMOPRD:MEMoffestOPRDoffestOPRDIPIPsegOPRDsegOPRDcscs JMP DWORD PTR SI JMP DWORD PTR SI JMP DWORD PTR SI JMP DWORD PTR SI 2 2、条件转移指令、条件转移指令1)单条件转移指令单条件转移指令JCJC;CF;CF标志为标志为标志为标志为1 1,则转移,则转移,则转移,则转移JNCJNC;CF;CF标志为标志为标志为标志为0 0,则转移,则转移,则转移,则转移JE/JZJE/JZ;ZF;ZF标志为标志为标志为标志为1 1,则转移,则转移,则转移,则转移JNE/JNZ;ZFJNE/JNZ;ZF标志为标志为标志为标志为0 0,则转移,则转移,则转移,则转移JSJS;SF;SF标志为标志为标志为标志为1 1,则转移,则转移,则转移,则转移JNSJNS;SF;SF标志为标志为标志为标志为0 0,则转移,则转移,则转移,则转移 JOJO;OF;OF标志为标志为标志为标志为1 1,则转移,则转移,则转移,则转移JNOJNO;OF;OF标志为标志为标志为标志为0 0,则转移,则转移,则转移,则转移JP/JPE;PFJP/JPE;PF标志为标志为标志为标志为1 1,则转移,则转移,则转移,则转移JNP/JPO;PFJNP/JPO;PF标志为标志为标志为标志为0 0,则转移,则转移,则转移,则转移 条件A处理条件A判断条件B处理条件B判断NYYN2)用于无符号数的条件转移指令)用于无符号数的条件转移指令JA/JNBE;高高于于/不不低低于于等等于转移,于转移,CFZF0JNA/JBE;不不高高于于/低低于于等等于转移,于转移,CFZF1JB/JNAE;低低于于/不不高高于于等等于转移,于转移,CF1JNB/JAE;不不低低于于/高高于于等等于转移,于转移,CF03)用于带符号数的条件转移指令)用于带符号数的条件转移指令 JG/JNLEJG/JNLE;大于大于大于大于/不小于等于转移,(不小于等于转移,(不小于等于转移,(不小于等于转移,(SFSFOFOF)ZFZF0 0 JGE/JNLJGE/JNL;大于等于大于等于大于等于大于等于/不小于转移,(不小于转移,(不小于转移,(不小于转移,(SFSFOFOF)0 0 JL/JNGEJL/JNGE;小于小于小于小于/不大于等于转移,(不大于等于转移,(不大于等于转移,(不大于等于转移,(SFSFOFOF)1 1JLE/JNGJLE/JNG;小于等于小于等于小于等于小于等于/不大于转移,(不大于转移,(不大于转移,(不大于转移,(SFSFOFOF)ZFZF1 1 3 3、循环控制指令、循环控制指令1 1)LOOPLOOP指令指令指令指令 指令格式:指令格式:指令格式:指令格式:LOOPLOOP目标地址目标地址目标地址目标地址执执执执行行行行该该该该指指指指令令令令,CXCX1 1,若若若若CX0CX0,转转转转移移移移到到到到目目目目标标标标地址,即:地址,即:地址,即:地址,即:IPIPIPIP8 8位位移量(带符号扩展到位位移量(带符号扩展到位位移量(带符号扩展到位位移量(带符号扩展到1616位)。位)。位)。位)。由于指令自动对由于指令自动对由于指令自动对由于指令自动对CXCX寄存器做减寄存器做减寄存器做减寄存器做减1 1操作,故使操作,故使操作,故使操作,故使用用用用LOOPLOOP指令前,需将循环操作次数值赋给指令前,需将循环操作次数值赋给指令前,需将循环操作次数值赋给指令前,需将循环操作次数值赋给CXCX寄存器。寄存器。寄存器。寄存器。2 2 2 2)另外还有:)另外还有:)另外还有:)另外还有:LOOPZ/LOOPELOOPZ/LOOPELOOPZ/LOOPELOOPZ/LOOPE指令、指令、指令、指令、LOOPNZ/LOOPNELOOPNZ/LOOPNELOOPNZ/LOOPNELOOPNZ/LOOPNE指令、指令、指令、指令、JCXZJCXZJCXZJCXZ指令。指令。指令。指令。4、子程序调用和返回指令、子程序调用和返回指令1 1)CALLCALL指令指令指令指令段内直接调用段内直接调用段内直接调用段内直接调用例:例:例:例:CALLCALLLABLELABLELABLELABLEa a a a、IPIPIPIP 栈栈栈栈 b b b b、IP+IP+位移量位移量IPIP段内间接调用段内间接调用段内间接调用段内间接调用例:例:例:例:CALL WORD PTR SI CALL WORD PTR SI CALL WORD PTR SI CALL WORD PTR SI 段间直接调用段间直接调用段间直接调用段间直接调用 例:例:例:例:CALL FAR CALL FAR CALL FAR CALL FAR 目标地址目标地址目标地址目标地址 段间间接调用段间间接调用段间间接调用段间间接调用 例:例:例:例:CALL DWORD PTR SICALL DWORD PTR SICALL DWORD PTR SICALL DWORD PTR SI2)、)、RET子程序返回指令子程序返回指令和和调调用用指指令令CALL相相对对应应的的是是返返回回指指令令RET。返返回回指指令令通通常常作作为为一一个个子子程程序序或或过过程程的的最最后后一一条条指指令令,它它用用以以返返回回到到调调用用这这个个子子程程序的断点处。序的断点处。关于关于RETn指令,这条指令称为指令,这条指令称为带参数返回指令。带参数返回指令。5、中断指令和中断返回指令、中断指令和中断返回指令1)INTn中断指令中断指令2)INTO溢出中断指令溢出中断指令3)IRET中断返回指令中断返

    注意事项

    本文(8086的指令系统.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开