




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章8086的指令系统,8086指令特点8086的寻址方式8086的指令格式及数据类型8086的指令集,3.18086指令特点,18086具有灵活的指令格式28086有较强的运算指令38086指令有极强的寻址能力48086指令有处理多种数据能力,328086的寻址方式寻址方式就是指令中用于说明操作数所在地址的方法MOVAX,1234H;B83412MOVAX,1234H;A13412,一、8086的寻址方式说明,1有效地址EA(EffectiveAddress)当操作数在内存中时,指令的地址码(操作码)给出所访问的内存单元的逻辑地址。在寻址方式中,逻辑地址的形成是由多个分量组合而成,该组合地址又叫有效地址。,2、MOV数据传送指令其格式为:MOV目的操作数,源操作数目的操作数和源操作数均可采用不同的寻址方式,两个操作数的类型必需一致。,二、寻址方式介绍,1立即寻址(Immediateaddressing)操作数就在指令中,紧跟在操作码后面,作为指令一部分存放在内存的代码段中,这种操作数称为立即数。例:MOVAX,34EAHB8EA34MOVBL,20HB320,2、寄存器寻址(Registeraddressing)操作数在寄存器中,指令中源操作数和目的操作数都可用这种寻址方式。例:MOVAL,BL88D8MOVAX,1234HB83412MOVAL,AH88E0,3、直接寻址(Directaddressing)当指令中的源操作数或目的操作数,采用直接给出被访问内存单元的逻辑地址时,这种寻址方式称直接寻址。例:MOVAX,3E4CHA14C3EMOV1234H,ALA23412,4、寄存器间接寻址(Registerindirectaddressing)内存单元的逻辑偏移地址通过寄存器间接给出。例:MOVSI,61A8HMOVDX,SI,5、基址/变址寻址(Based/Indexedaddressing)这种寻址方式中提出位移量的概念,即在寄存器间接寻址给出的偏移地址上,加一相对位移量。位移量是一带符号的16位16进制数。当使用BX或BP寄存器时,称基址寻址;使用SI或DI寄存器时,称变址寻址。例:MOVCX,36HBXMOV20BP,AL,6、基址加变址寻址(BasedIndexedaddressing)它的EA是由三部分组成的,基址寄存器BX或BP的内容加上变址寄存器的内容再加位移量。物理地址由基址寄存器按规则选择段寄存器,也可以使用段超越。例:MOVAX,8AHBXSI该例中EA8AHBXSI物理地址DS10H8AHBXSI,7、其他A、隐含寻址在指令中没有明显的标出,而指定寄存器参加操作,称之为“隐含寻址”。DAAMULBL,B、串寻址(Stringaddressing)串寻址方式仅在8086的串指令中使用。规定源操作数的逻辑地址为DS:SI;目的操作数的逻辑地址为ES:DI。当执行串指令的重复操作时,根据设定的方向标志DF,SI和DI会自动调整。,总结段约定,总结内存地址形成,c、I/O(输入/输出)端口寻址(I/Oportaddressing)当操作数在外部设备时,使用I/O指令。此时有两种不同的寻址方式访问I/O端口。(1)直接端口寻址方式。(2)采用DX寄存器间接寻址方式(3)输入指令中目的操作数可为AL或AX;输出指令中源操作数可为AL或AX。例:INAL,25HE525HMOVDX,3E4HOUTDX,ALEE,ALAX,nDX,INAL/AX,DX/n,OUTDX/n,AL/AX,338086的指令格式及数据类型,指令由操作码和操作数(地址码)组成。8086的指令长度是可变的,一条指令一般由16个字节组成。,一、指令中的操作数,1、单操作数指令指令助记符指令的16进制代码INCAX40HINCBX43H,2、双操作数指令指令助记符指令的16进制代码MOVAL,04B004HMOVAX,04B80400,3、三个操作数指令8086指令系统中,大多数指令中只有12个操作数,但也有少数指令中有3个操作数,不过有一操作数隐含在操作码中。例:ADCAX,BX该指令完成操作数AX、BX和CF位相加。,二、指令中的数据类型,无符号数带符号数ASCII码BCD数(压缩BCD和非压缩BCD),348086的指令集,8086指令系统按功能可分为6大类型:1、数据传输类2、算术运算类3、逻辑运算类4、串操作类5、程序控制类6、处理机控制类,一、数据传送指令,数据传送指令又可以分成4种:l通用数据传送l输入/输出数据传送l目的地址传送l标志寄存器转送,指令的共同特点是:,1、除POP和SAHF指令外,这类指令的操作结果不会影响FR寄存器中的标志。2、指令中有两个操作数,目的操作数和源操作数,其执行过程为:目的操作数源操作数,当指令中仅列出一个操作数时,另一操作数为隐含。,常用的符号,累加器aax,al寄存器r:ax,bx,cx,dx,si,di,sp,bp,al,ah,cl,ch,bl,bhdl,dh段寄存器seg:ds,es,ss,cs内存mem:nn,bx,si,di,bpbx/bp+count,si/di+countbx+si/di+count,bp+si/di+count立即数im,1、通用数据传送指令,1)、MOV传送指令指令格式为:MOV目的,源功能:目的源,movr,oprdOprd:r,mem,seg,immovmem,oprdOprd:r,seg,immovseg,oprdOped:r,mem注意:1、mem不能到mem2、seg做目的操作数时,不包括cs。3、类型匹配,2)PUSH进栈指令指令格式为:PUSHoprdOprd:r,mem,seg其操作过程是:a、SP2,指示堆栈中可以存放数据的位置b、存源操作数,完成进栈操作。,3)POP出栈指令指令格式为:POPopedOped:r,mem,seg(不包括CS!)其操作过程是:a、将SS:SP所指示的栈顶处的两个字节的数据,弹到目的操作数中;b、SP2,指示当前栈顶位置,完成出栈操作。,4)XCHG交换指令指令格式为:XCHG目的操作数,源操作数XCHGR,OPRDOPRD:R,MEM操作数不能为立即数;源和目的不能同时为存储单元;段寄存器不能作为操作数。,举例:把2000H单元的字和3000H单元互换,2、累加器专用传送指令,1)IN输入指令指令格式为:INAL,nINAX,nINAL,DXINAX,DX2)OUT输出指令指令格式为:OUTn,ALOUTn,AXOUTDX,ALOUTDX,AX,3)XLAT换码指令指令格式为:XLAT功能bxalal例:查表求n的平方。n:0-91、将09的平方表建立在偏移地址为2000H的内存中,如图。2、查表,完成求5的平方指令序列为:MOVBX,2000H;指向平方表的首地址MOVAL,5;将5换码成5的平方值XLAT;查表,平方值在AL中,3、目标地址传送指令这类指令有:1)LEA有效地址传送到寄存器2)LDS装入一个新的物理地址3)LES装入一个新的物理地址,4、标志寄存器传送指令1)LAHFFR寄存器的低8位送AH2)SAHFAH送FR寄存器的低8位3)PUSHFFR寄存器推入堆栈4)POPF从栈顶中弹出存入FR寄存器,举例:1、把FR各位清零2、把TF置1,其他位不变,二、算术运算指令,1、算术加法指令1)ADD算术加法指令功能:目的地目的操作数源操作数格式ADDR,OPRDOPRD:R,MEM,IMADDMEM,OPRDOPRD:R,im算术指令影响标志位,二、算术运算指令,1、算术加法指令2)ADC带进位算术加法指令功能:目的地目的操作数源操作数CF3)INC加1指令指令功能:目的地目的操作数14)DAA对压缩BCD数加法操作的结果进行校正指令功能:对AL寄存器的内容进行十进制调整5)AAA对非压缩BCD数加法操作的结果进行校正指令功能:对AL寄存器的内容进行十进制调整举例:多位的加法,2、算术减法指令1)SUB算术减法指令功能:目的地目的操作数源操作数2)SBB带进位算术减法指令功能:目的地目的操作数源操作数CF3)DEC减1指令指令功能:目的地目的操作数14)DAS对压缩BCD数减法操作的结果进行校正指令功能:对AL寄存器的内容进行十进制调整5)AAS对非压缩BCD数减法操作的结果进行校正指令功能:对AL寄存器的内容进行十进制调整6)CMP比较指令指令功能:两个操作数相减,不产生运算结果仅影响标志7)NEG取补指令指令功能:0目的操作数,3、算术乘法指令1)MUL无符号数乘法指令功能:完成两个操作数相乘MULOPRD;AL*OPRD-AXAX*OPRD-DXAXOPRD:R,MEM2)IMUL带符号数乘法指令功能:完成两个操作数相乘3)AAM非压缩BCD数乘法操作结果校正指令功能:完成两个非压缩BCD数乘法结果的十进制数调整举例:把扩展BCD转二进制数,4、算术除法指令DIV无符号数除法指令功能:完成两个操作数相除DIVOPRDAX/OPRDAL:商,AH:余数DXAX/OPRDAX:商,DX:余数IDIV带符号数除法指令功能:完成两个操作数相除另外还有:CBW带符号数字节扩展、CWD带符号数字扩展、AAD非压缩BCD数除法校正举例:把AL二进制数转为扩展BCD数,三、位操作指令指令的共同点是:(1)可以按二进制位进行操作;(2)逻辑运算指令按逻辑门电路的运算规则,(3)逻辑移位指令有左移和右移,移出的位都进入CF标志(4)因移空位的补充方式不同有多种指令形式(5)逻辑移位指令中,移动超过1次则用CL寄存器做计数器(6)执行逻辑操作指令,CF均被清0,1、逻辑运算指令,1)NOT逻辑求反指令功能:将8位、16位寄存器或存储器内容求反2)AND逻辑与操作指令功能:将8位、16位寄存器或存储器内容和源操作数“与”3)OR逻辑或操作指令功能:将8位、16位寄存器或存储器内容和源操作数“或”4)XOR逻辑异或操作指令功能:将8位、16位寄存器或存储器内容和源操作数“异或”5)TEST测试指令指令功能:将8位、16位寄存器或存储器内容和源操作数“与”,不产生运算结果,仅影响状态标志,AND可以使指定位为0OR可以使指定位为1XOR可以使指定位为非,2、逻辑移位指令,1)SHL逻辑左移指令功能:将8位、16位寄存器或存储器内容左移,移空的位补0SHLOPRD,1ORSHLOPRD,CL2)SAL算术左移指令功能:将8位、16位寄存器或存储器内容左移,移空的位补0举例:扩展BCD码BCD码,2、逻辑移位指令,3)SHR逻辑右移指令功能:将8位、16位寄存器或存储器内容右移,移空的位补04)SAR算术右移指令功能:将8位、16位寄存器或存储器内容右移,移空的位由最高位补充。举例:BCD码扩展BCD码,5)ROL不带进位循环左移指令功能:将8位、16位寄存器或存储器内容左移,移空的位由移出位补充。6)ROR不带进位循环右移指令功能:将8位、16位寄存器或存储器内容右移,移空的位由移出位补充。,7)RCL带进位循环左移指令功能:将8位、16位寄存器或存储器内容左移,移空的位由CF位补充。8)RCR带进位循环右移指令功能:将8位、16位寄存器或存储器内容右移,移空的位由CF位补充。举例:倒序程序,四、串处理指令,源操作数指针DS:SI,目的操作数指针ES:DI每操作一次SI,DI修改一次,方向由DF控制重复操作的退出cx控制条件控制(ZF标志),四、串处理指令,1、串传送指令MOVSB/MOVSW2、串比较指令CMPSB/COMPSW3、串搜索指令SCASB/SCASW4、串装入指令LODSB/LODSW5、串存储指令STOSB/STOSB6、指令前缀REP、REPZ/REPE、REPNZ/REPNE,五、程序控制转移指令,1、无条件转移指令JMP目标地址1)、段内直接转移JMPLABELIP+位移量IP位移量LABEL指令地址JMP地址32)、短转移指令JMPLABELIP+CBW(位移量)IP位移量(8bit)LABEL指令地址JMP地址2,3)、段内间接转移JMPOPRD;OPRDIPOPRD:r,MEMJMPAX,3)、段间直接转移JMPfarLABELoffestLABELIPsegLABELcs4)、段间间接转移JMPOPRD;OPRD:MEMoffestOPRDIPsegOPRDcsJMPDWORDPTRSI,2、条件转移指令,1)单条件转移指令JC;CF标志为1,则转移JNC;CF标志为0,则转移JE/JZ;ZF标志为1,则转移JNE/JNZ;ZF标志为0,则转移JS;SF标志为1,则转移JNS;SF标志为0,则转移JO;OF标志为1,则转移JNO;OF标志为0,则转移JP/JPE;PF标志为1,则转移JNP/JPO;PF标志为0,则转移,条件A处理,条件A判断,条件B处理,条件B判断,N,Y,Y,N,2)用于无符号数的条件转移指令JA/JNBE;高于/不低于等于转移,CFZF0JNA/JBE;不高于/低于等于转移,CFZF1JB/JNAE;低于/不高于等于转移,CF1JNB/JAE;不低于/高于等于转移,CF0,3)用于带符号数的条件转移指令JG/JNLE;大于/不小于等于转移,(SFOF)ZF0JGE/JNL;大于等于/不小于转移,(SFOF)0JL/JNGE;小于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上班包车服务合同范本
- 合作种植协议书合同模板
- 合同签订后三方调解协议
- 化妆培训合作合同协议书
- 租赁合同续签协议书范本
- 大叉车租赁服务合同范本
- 种子轮投资协议合同范本
- 补充协议的主体与主合同
- 钢结构车间加工合同范本
- 房屋铺面出租装修协议书
- 电脑节能环保证书
- 美国共同基金SmartBeta布局及借鉴
- 企业劳动用工法律风险与防范
- 露天矿山危险源辨识汇总
- 2022年08月安徽省芜湖市招考大学生科技特派员岗位冲刺题(带答案)
- 国家城镇救援队伍能力建设与分级测评指南
- 部编版五年级语文上册(精美)课件 2 落花生
- 口腔修复学-纤维桩-PPT课件
- 变压器套管课件
- CAESARII 应用实例
- 《中式面点制作(第二版)》全套教案(高教版)
评论
0/150
提交评论