ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:20.66KB ,
资源ID:19742772      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19742772.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(8086指令集Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

8086指令集Word格式.docx

1、 AL-(DX)(字节) AX-(DX)+1,DX)(字).OUT 输出指令 OUT PORT,AL(字节) OUT PORT,AX(字) (PORT)-(AL)(字节) (PORT+1,PORT)-(AX)(字) OUT DX,AL(字节) OUT DX,AX(字) (DX) (DX)+1,(DX)=256时,只能使用短格式,此时,必须先把端口号放到DX寄存器中(端口号可以从0000到0FFFFH),然后再用IN或OUT指令来传送信息.XLAT 换码指令 XLAT OPR或: XLAT(AL)-(BX)+(AL)3.有效地址送寄存器指令LEA(Load effective address)有

2、效地址送寄存器LDS(Load DS with Pointer)指针送寄存器和DSLES(Load ES with Pointer)指针送寄存器和ES.LEA 有效地址送寄存器 LEA REG,SRC(REG)-SRC 指令把源操作数的有效地址送到指定的寄存器中.LDS 指针送寄存器和DS指令 LDS REG,SRC (DS)-(SRC+2) 把源操作数指定的4个相继字节送到由指令指定的寄存器及DS寄存器中.该指令常指定SI寄存器.LES 指针送寄存器和ES指令 LES REG,SRC (REG) (ES) 把源操作数指定的4个相继字节送到由指令指定的寄存器及ES寄存器中.该指令常指定DI寄存

3、器.4.标志寄存器传送指令LAHF(Load AH with flags)标志送AHSAHF(store AH into flags)AH送标志寄存器PUSHF(push the flags) 标志进栈POPF(pop the flags) 标志出栈.LAHF 标志送AH LAHF(AH)-(PWS的低字节).SAHF AH送标志寄存器 SAHF(PWS的低字节)-(AH).PUSHF 标志进栈 PUSHF-(PSW).POPF 标志出栈 POPF(PWS)-(SP)+1,(SP)-(SP+2)二、算术指令1.加法指令ADD(add)加法ADC(add with carry)带进位加法INC(

4、increment)加1.ADD 加法指令格式: ADD DST,SRC-(SRC)+(DST).ADC 带进位加法指令 ADC DST,SRC-(SRC)+(DST)+CF.ADD 加1指令 INC OPR(OPR)-(OPR)+12.减法指令SUB(subtract)减法SBB(subtract with borrow)带借位减法DEC(Decrement)减1NEG(Negate)求补CMP(Compare)比较.SUB 减法指令 SUB DST,SRC-(DST)-(SRC).SBB 带借位减法指令 SBB DST,SRC-(DST)-(SRC)-CF.DEC 减1指令 DEC OPR

5、-(OPR)-1.NEG 求补指令 NEG OPR- -(OPR).CMP 比较指令 CMP OPR1,OPR2(OPR1)-(OPR2) 该指令与SUB指令一样执行减法操作,但不保存结果,只是根据结果设置条件标志西半球.3.乘法指令MUL(Unsigned Multiple)无符号数乘法IMUL(Signed Multiple)带符号数乘法.MUL 无符号数乘法指令 MUL SRC 字节操作数:(AX)-(AL)*(SRC) 字操作数:(DX,AX)-(AX)*(SRC).IMUL 带符号数乘法指令 IMUL SRC与MUL相同,但必须是带符号数,而MUL是无符号数.4.除法指令DIV(Un

6、signed divide)无符号数除法IDIV(Signed divide)带符号数除法CBW(Convert byte to word)字节转换为字CWD(Contert word to double word)字转换为双字.DIV 无符号数除法指令 DIV SRC 字节操作:-(AX)/(SRC)的商 (AH)-(AX)/(SRC)的余数 字操作:-(DX,AX)/(SRC)的商-(DX,AX)/(SRC)的余数.IDIV 带符号数除法指令与DIV相同,但操作数必须是带符号数,商和余数也均为带符号数,且余数的符号与被除数的符号相同.CBW 字节转换为字指令 CBWAL的内容符号扩展到AH

7、.即如果(AL)的最高有效位为0,则(AH)=00;如(AL)的最高有效位为1,则(AH)=0FFH.CWD 字转换为双字指令 CWDAX的内容符号扩展到DX.即如(AX)的最高有效位为0,则(DX)=0;否则(DX)=0FFFFH. 这两条指令都不影响条件码.三、逻辑指令1.逻辑运算指令AND(and) 逻辑与OR(or) 逻辑或NOT(not) 逻辑非XOR(exclusive or)异或TEST(test) 测试.AND 逻辑与指令 AND DST,SRC-(DST)(SRC).OR 逻辑或指令 OR DST,SRC-(DST)V(SRC).NOT 逻辑非指令 NOT OPR-(OPR)

8、.XOR 异或指令 XOR DST,SRC.TEST 测试指令 TEST OPR1,OPR2(DST)(SRC)两个操作数相与的结果不保存,只根据其特征置条件码2.移位指令SHL(shift logical left) 逻辑左移SAL(shift arithmetic left) 算术左移SHR(shift logical right) 逻辑右移SAR(shift arithmetic right) 算术右移ROL(Rotate left) 循环左移ROR(Rotate right) 循环右移RCL(Rotate left through carry) 带进位循环左移RCR(Rotate ri

9、ght through carry) 带进位循环右移 SHL OPR,CNT(其余的类似)其中OPR可以是除立即数以外的任何寻址方式.移位次数由CNT决定,CNT可以是1或CL. 循环移位指令可以改变操作数中所有位的位置;移位指令则常常用来做乘以2除以2操作.其中算术移位指令适用于带符号数运算,SAL用来乘2,SAR用来除以2;而逻辑移位指令则用来无符号数运算,SHL用来乘2,SHR用来除以2.四、串处理指令1.与REP相配合工作的MOVS,STOS和LODS指令.REP重复串操作直到(CX)=0为上 REP string primitive其中String Primitive可为MOVS,L

10、ODS或STOS指令1)如(CX)=0则退出REP,否则往下执行.2)(CX)-(CX)-13)执行其中的串操作4)重复1)3).MOVS 串传送指令可有三种 MOVS DST,SRC MOVSB(字节) MOVSW(字)其中第二、三种格式明确地注明是传送字节或字,第一种格式则应在操作数中表明是字还是字节操作,例如: MOVS ES:BYTE PTRDI,DS:SI1)(DI)-(SI)2)字节操作: (SI)-(SI)+(或-)1,(DI)-(DI)+(或-)1 当方向标志DF=0时用+,当方向标志DF=1时用-3)字操作:-(SI)+(或-)2,(DI)-(DI)+(或-)2该指令不影响条

11、件码.CLD(Clear direction flag)该指令使DF=0,在执行串操作指令时可使地址自动增量;.STD(Set direction flag)该指令使DF=1,在执行串操作指令时可使地址自动减量.STOS 存入串指令 STOS DST STOSB(字节) STOSW(字)(DI)-(AL),(DI)-(DI)+-1 (DI)-(AX),(DI)-(DI)+-2该指令把AL或AX的内容存入由(DI)指定的附加段的某单元中,并根据DF的值及数据类型修改DI的内容,当它与REP联用时,可把AL或AX的内容存入一个长度为(CX)的缓冲区中.LODS 从串取指令 LODS SRC LOD

12、SB LODSW-(SI),(SI)-(SI)+-1-(SI)+-2该指令把由(SI)指定的数据段中某单元的内容送到AL或AX中,并根据方向标志及数据类型修改SI的内容.指令允许使用段跨越前缀来指定非数据段的存储区.该指令也不影响条件码. 一般说来,该指令不和REP联用.有时缓冲区中的一串字符需要逐次取出来测试时,可使用本指令. 2.与REPE/REPZ和REPNZ/REPNE联合工作的CMPS和SCAS指令.REPE/REPZ 当相等/为零时重复串操作 REPE(或REPZ) String Primitive其中String Primitive可为CMPS或SCAS指令.1)如(CX)=0或

13、ZF=0(即某次比较的结果两个操作数不等)时退出,否则往下执行3)执行其后的串指令.REPNE/REPNZ 当不相等/不为零时重复串操作 REPNE(或REPNZ) String Primitive其中String Primitive可为CMPS或SCAS指令 除退出条件(CX=0)或ZF=1外,其他操作与REPE完全相同.CMPS 串比较指令 CMP SRC,DST CMPSB CMPSW1)(SI)-(DI)(SI)-(SI)+-1,(DI)-(SI)+-2,(DI)-(DI)+-2 指令把由(SI)指向的数据段中的一个字(或字节)与由(DI)指向的附加段中的一个字(或字节)相减,但不保存

14、结果,只根据结果设置条件码,指令的其它特性和MOVS指令的规定相同.SCAS 串扫描指令 SCAS DST SCASB SCASW(AL)-(DI),(DI) (AL)-(DI),(DI)该指令把AL(或AX)的内容与由(DI)指定的在附加段中的一个字节(或字)进行比较,并不保存结果,只根据结果置条件码.指令的其他特性和MOVS的规定相同.五、控制转移指令 1.无条件转移指令.JMP(jmp) 跳转指令1)段内直接短转移JMP SHORT OPR(IP)-(IP)+8位位移量2)段内直接近转移JMP NEAR PTR OPR-(IP)+16位位移量3)段内间接转移JMP WORD PTR OP

15、R-(EA)4)段间直接(远)转移JMP FAR PTR OPR-OPR的段内偏移地址 (CS)-OPR所在段的段地址5)段间间接转移JMP DWORD PTR OPR-(EA+2)2.条件转移指令1)根据单个条件标志的设置情况转移.JZ(或JE)(Jump if zero,or equal) 结果为零(或相等)则转移JE(或JZ) OPR测试条件:ZF=1.JNZ(或JNE)(Jump if not zero,or not equal) 结果不为零(或不相等)则转移JNZ(或JNE) OPRZF=0.JS(Jump if sign) 结果为负则转移 JS OPRSF=1.JNS(Jump i

16、f not sign) 结果为正则转移JNS OPRSF=0.JO(Jump if overflow) 溢出则转移 JO OPROF=1.JNO(Jump if not overflow) 不溢出则转移 JNO OPROF=0.JP(或JPE)(Jump if parity,or parity even) 奇偶位为1则转移 JP OPRPF=1.JNP(或JPO)(Jump if not parity,or parity odd) 奇偶位为0则转移 JNP(或JPO) OPRPF=0.JB(或JNAE,JC)(Jump if below,or not above or equal,or car

17、ry) 低于,或者不高于或等于,或进位位为1则转移JB(或JNAE,JC) OPRCF=1.JNB(或JAE,JNC)(Jump if not below,or above or equal,or not carry) 不低于,或者高于或者等于,或进位位为0则转移JNB(或JAE,JNC) OPRCF=02)比较两个无符号数,并根据比较的结果转移.JB(或JNAE,JC)同上.JNB(或JAE,JNC).JBE(或JNA)(Jump if below or equal,or not above) 低于或等于,或不高于则转移JBE(或JNA) OPRCFVZF=1.JNBE(或JA)(Jump

18、if not below or equal,or above) 不低于或等于,或者高于则转移JNBE(或JA) OPRCFVZF=03)比较两个带符号数,并根据比较的结果转移.JL(或LNGE)(Jump if less,or not greater or equal) 小于,或者不大于或者等于则转移JL(或JNGE) OPRSFVOF=1.JNL(或JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于则转移JNL(或JGE) OPRSFVOF=0.JLE(或JNG)(Jump if less or equal,or not greate

19、r) 小于或等于,或者不大于则转移JLE(或JNG) OPR(SFVOF)VZF=1.JNLE(或JG)(Jump if not less or equal,or greater) 不小于或等于,或者大于则转移JNLE(或JG) OPR(SFVOF)VZF=04)测试CX的值为0则转移指令.JCXZ(Jump if CX register is zero) CX寄存器的内容为零则转移JCXZ OPR(CX)=0注:条件转移全为8位短跳!3.循环指令.LOOP 循环指令 LOOP OPR(CX).LOOPZ/LOOPE 当为零或相等时循环指令 LOOPZ(或LOOPE) OPR0且ZF=1.LO

20、OPNZ/LOOPNE 当不为零或不相等时循环指令 LOOPNZ(或LOOPNE) OPR0且ZF=0这三条指令的步骤是:1)(CX)2)检查是否满足测试条件,如满足则(IP)-(IP)+D8的符号扩充.4.子程序.CALL调用指令.RET返回指令5.中断.INT指令 INT TYPE或 INT-(CS)-(IP) (IP)-(TYPE*4)-(TYPE*4+2).INTO 若溢出则中断若OF=1则:-(10H)-(12H).IRET 从中断返回指令 IRET (PSW)六、处理机控制指令1.标志处理指令.CLC进位位置0指令(Clear carry)CF-0.CMC进位位求反指令(Compl

21、ement carry)CF-CF.STC进位位置1指令(Set carry)CF-1.CLD方向标志置0指令(Clear direction)DF.STD方向标志置1指令(Set direction)DF.CLI中断标志置0指令(Clear interrupt)IF.STI中断标志置1指令(Set interrupt)IF2.其他处理机控制指令NOP(No Opreation) 无操作HLT(Halt) 停机WAIT(Wait) 等待ESC(Escape) 换码LOCK(Lock) 封锁这些指令可以控制处理机状态.这们都不影响条件码.NOP 无操作指令 该指令不执行任何操作,其机器码占有一个

22、字节,在调试程序时往往用这条指令占有一定的存储单元,以便在正式运行时用其他指令取代.HLT停机指令 该指令可使机器暂停工作,使处理机处于停机状态以便等待一次外部中断到来,中断结束后可继续执行下面的程序.WAIT等待指令 该指令使处理机处于空转状态,它也可以用来等待外部中断的发生,但中断结束后仍返回WAIT指令继续德行.ESC换码指令 格式ESC mem其中mem指出一个存储单元,ESC指令把该存储单元的内容送到数据总线去.当然ESC指令不允许使用立即数和寄存器寻址方式.这条指令在使用协处理机(Coprocessor)执行某些操作时,可从存储器指得指令或操作数.协处理机(如8087)则是为了提高速度而可以选配的硬件.LOCK封锁指令 该指令是一种前缀,它可与其他指令联合,用来维持总线的锁存信号直到与其联合的指令执行完为止.当CPU与其他处理机协同工作时,该指令可避免破坏有用信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1