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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(汇编指令大全.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

汇编指令大全.doc

1、汇编指令大全 (DST:destination目的操作数/地址;SRC:source源操作数/地址;port:端口;ac: Accumulator累加器;reg:register寄存器;cnt:counter计数器;opr:除了立即数之外的所有寻址方式(寄存器);立即数:直接包含在代码中,作为代码的一部分,不需要保存在寄存器中的操作数,相当于高级语言中的常量;r8/r16:8位通用寄存器/16位通用寄存器;SR:segment register段寄存器,包括DS、SS、ES、CS;mem:memory,表示存储器操作数;addr:address,表示内存单元地址;) [数据传送指令]

2、 一、通用数据传送指令 1、传送指令 MOV (move) 指令的汇编格式:MOV DST,SRC 指令的基本功能:(DST)←(SRC) 将原操作数(字节或字)传送到目的地址。 指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式,这个限制适用于所有指令。 指令的执行对标志位的影响:不影响标志位。 指令的特殊要求:目的操作数DST和源操作数SRC不允许同时为段寄存器; 目的操作数DST不能是CS,也不能用立即数方式。 2、进栈指令 PUSH (push onto the stack) 出栈指令 POP (pop from the stack)

3、 指令的汇编格式:PUSH SRC ;POP DST 指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而POP指令又可将这些数据恢复。 PUSH SRC (SP)←(SP)-2 ;(SP)←(SRC) POP DST (DST)←((SP));(SP)←(SP) 指令支持的寻址方式:push 和 pop指令不能不能使用立即数寻址方式。 指令对标志位的影响:PUSH 和 POP指令都不影响标志位。 指令的特殊要求:PUSH 和 POP指令只能是字操作,因此,存取字数据后,SP的修改必须是+2 或者 -2; POP指令的DST不允许是CS寄存器; 3、交换指令 XC

4、HG (exchange) 指令的汇编格式:XCHG OPR1,OPR2 指令的基本功能:(OPR1)←>(OPR2) 指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。 指令对标志位的影戏:不影响标志位。 指令的特殊要求:不允许使用段寄存器。 二、累加器专用传送指令 4、输入指令 IN (input) 输出指令 OUT(output) 指令的汇编格式:IN ac,port port<=0FFH IN ac,DX port>0FFH OUT port,ac port<=0FFH OUT DX,ac port>0FFH 指

5、令的基本功能:对8086及其后继机型的微处理机,所有I/O端口与CPU之间的通信都由输入输出指令IN和OUT来完成。IN指令将信息从I/O输入到CPU,OUT指令将信息从CPU输出到I/O端口,因此,IN和OUT指令都要指出I/O端口地址。 IN ac,port port<=0FFH (AL)←(port)传送字节 或 (AX)←(port+1,port)传送字 IN ac,DX port>0FFH (AL)←((DX))传送字节 或 (AX)←((DX)+1,(DX))传送字 OUT port,ac port<=0FFH (port)←(AL)传送字节 或 (port+1,port)←

6、AX)传送字 OUT DX,ac port>0FFH (DX)←(AL)传送字节 或 ((DX)+1,(DX))←(AX)传送字 指令对标志位的影响:不影响标志位。 指令的特殊要求:只限于在AL或AX与I/O端口之间传送信息。 传送16位信息用AX,传送8位信息用AL,这取决于外设端口的宽度。 5、换码指令 XLAT (translate) 指令的汇编格式:XLAT opr 或 XLAT 指令的基本功能:这条指令根据AL寄存器提供的位移量,将BX指使的字节表格中的代码换存在AL中。 (AL)←((DS)*16+(BX)+(AL)) 指令对标志位的影响:不影响标志

7、位。 指令的特殊要求:所建字节表格的长度不能超过256字节,因为存放位移量的是8位寄存器AL。 opr为表格的首地址,因为opr所表示的偏移地址已存入BX寄存器,所以opr在换码指令中可有可无,有则提高程序的可读性。 三、地址传送指令 6、有效地址传送器 LEA (load effective address) 指令的汇编格式:LEA reg,src 指令的基本功能:LEA指令把源操作数的有效地址送到指定的寄存器,这个有效地址是由src选定的一种存储器寻址方式确定的。 指令支持的寻址方式:各种存储器寻址方式。 指令对标志位的影响:不影响标志位。 指令的特出要求:指

8、令中reg不能是段寄存器; 7、指针送寄存器和DS LDS (load DS with point) 指针送寄存器和ES LES (load ES with point) 指令的汇编格式:LDS reg,src LES reg,src 指令的基本功能:LDS和LES指令把确定内存单元位置的偏移地址送寄存器,段地址DS或ES。这个偏移地址和段地址(也称地址指针)是由src指定的两个相继字单元提供的。 LDS reg,src (reg)←(src) (DS)←(src+2) LES reg,src (reg)←(src) (ES)←(src+2) 指令支持的寻址方式:src必须

9、为存储器寻址方式 指令对标志位的影响:不影响标志位。 指令的特殊要求:指令中REG不能是段寄存器; 四、标志寄存器传送指令 8、标志寄存器的低字节送AH LAHF (load AH with FLAGS) 指令的汇编格式:LAHF 指令的基本功能:(AH)←(FLAGS)0-7 指令对标志位的影响:不影响标志位 9、AH送标志寄存器低字节 SAHF(store AH into FLAGS) 指令的汇编格式:SAHF 指令的基本功能:(FLAGS)0-7←(AH) 指令对标志位的影响:由装入值来确定标志位的值。 10、标志进栈 PUSHF (pus

10、h the flags) 指令的汇编格式:PUSHF 指令的基本功能:(SP)←(SP)-2 ((SP)+1,(SP))←(FLAGS)0-15 指令对标志位的影响:不影响标志位。 11、标志出栈 POPF (pop the FLAGES) 指令的汇编格式:POPF 指令的基本功能:(FLAGS)0-15←((SP)+1,(SP)) (SP)←(SP)+2 指令对标志位的影响:由装入值来确定标志位的值。 [算术指令] 一、加法指令 12、加法指令 ADD (addition) 指令的汇编格式:add dst,src 指令的基本功能:(dst)

11、←(src)+(dst) 指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。 指令对标志位的影响:SF=1 加法结果为负数(符号位为1) SF=0 加法结果为正数(符号位为0) ZF=1 加法结果为零 ZF=0 加法结果不为零 CF=1 最高有效位向高位有进位 CF=0 最高有效位向高位无进位 OF=1 两个同符号数相加(正数+正数 或 负数+负数),结果符号与其相反。 OF=0 两个不同符号数相加,或同符号数相加,结果符号与其相同。 13、带进为加法指令 ADC (add with

12、carry) 指令的汇编格式:ADD dst,src 指令的基本功能:(dst)←(src)+(dst)+CF 指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。 指令对标志位的影响:SF=1 加法结果为负数 SF=0 加法结果为正数 ZF=1 加法结果为零 ZF=0 加法结果不为零 CF=1 最高有效位向高位有进位 CF=0 最低有效位相高位无进位 OF=1 两个同符号数相加,结果符号与其相反, OF=0 两个同符号数相加,或同符号相加,结果符号与其相同 14、加1指令 INC

13、 (increament) 指令的汇编格式:INC opr 指令的基本功能:(opr)←(opr) 指令支持的寻址方式 可以使用除立即数方式外的任何寻址方式 指令对标志位的影响:SF=1 加法结果为负数 SF=0 加法结果为正数 ZF=1 加法结果为零 ZF=0 加法结果不为零 OF=1 两个同符号数相加,结果符号与其相反, OF=0 两个同符号数相加,或同符号相加,结果符号与其相同。 二、减法指令 15、减法指令 SUB (subtract) 指令的汇编格式:SUB dst,src 指令的基本功能:(dst)←(dst)-(src) 指令支持的寻址方式

14、他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。 指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0) ZF=1 减法结果为零 ZF=0 减法结果不为零 CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数>=减数,够减的情况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。 OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。 1

15、6、带借位减法指令 SBB (subtract with borrow) 指令的汇编格式:SBB dst,src 指令的基本功能:(dst)←(dst)-(src)-CF 指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。 指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0) ZF=1 减法结果为零 ZF=0 减法结果不为零 CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为

16、向高位无借位(被减数>=减数,够减的情况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。 OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。 17、减1指令 DEC (decrement) 指令的汇编格式:DEC opr 指令的基本功能:(opr)←(opr)-1 指令支持的寻址方式:可以使用除立即数方式外的任何寻址方式。 指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0) ZF=1 减法结果为零 ZF=0 减法结果不为零 OF=1 两数符号相反(正数-负数,或负数-正数

17、而结果符号与减数相同。 OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。 18、比较指令 CMP (compare) 指令的汇编格式:CMP opr1,opr2 指令的基本功能:(opr1)-(opr2),根据相减结果设置条件码,但不回送结果。 指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。 指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0) ZF=1 减法结果为零 ZF=0 减法结果不为零 CF=1 二进制减

18、法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数>=减数,够减的情况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。 OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。 19、求补指令 NEG (negate) 指令的汇编格式:NEG opr 指令的基本功能:(opr)← -(opr) 指令支持的寻址方式:可以使用除立即数方式外的任何寻址方式。 指令对标志位的影响:CF=1  不为0的操作数求补时     CF=0  为0的操作数求补时 OF=1

19、 操作数为-128(字节运算)或操作数为-32768(字运算) OF=0 当求补运算的操作数不为(-128)(字节)或-32768(字)时 三、乘法指令 20、无符号乘法指令 NUL (unsigned multiple) 有符号乘法指令 IMUL(signed muliple) 指令的汇编格式:NUL src IMUL src 指令的基本功能:(AX)←(AL)*(src) (DX,AX)←(AX)*(src) 指令支持的寻址方式:src可以使用除立即数方式以外的任一种寻址方式。 指令对标志位的影响:乘法指令只影响标志位CF和OF,其他条件码位无定义。 MU

20、L指令的条件码设置为: CF OF=0 0 乘积的高一半为0(字节操作的(AH)或字操作的(DX)) CF OF=1 1 乘积的高一半不为0 IMUL指令的条件码设置为: CF OF=0 0 乘积的高一半为低一半的符号扩展. CF OF=1 1 其他情况 指令的特殊要求:MUL和IMUL指令的区别仅在于操作数是无符号还是带符号数,它们的共同点是,指令中只给出源操作数src,目的操作数是隐含的,它只能是累加器(字运算为AX,字节运算为AL)。隐含的乘积寄存器是AX或DX(高位)和AX(低位)。 四、符号扩展指令 21、节扩展为字 CBW (convert byte t

21、o word) 指令的汇编格式:CBW 指令的基本功能:(AH)=00H 当(AL)的最高有效位为0时 (AH)=FFH 当(AL)的最高有效位为1时 指令对标志位的影响:不影响标志位 指令的特殊要求:这是条无操作数的指令,进行符号扩展的操作数必须存放在AL寄存器或AX寄存器中。 22、字扩展为双字 CWD (convert word to double word) 指令的汇编格式:CWD 指令的基本功能:(DX)=0000H 当(AX)的最高有效位为0时 (DX)=FFFFH 当(AX)的最高有效位为1时 指令对标志位的影响:不影响标志位 指令的特殊要求:这

22、是条无操作数的指令,进行符号扩展的操作数必须存放在AL寄存器或AX寄存器中。 五、除法指令 23、无符号数除法 DIV (unsigned divide) 带符号数除法 IDIV (singed divide) 指令的汇编格式:DIV src IDIV src 指令的基本功能:字操作 (AL)←(AX)/src的商 (AH)←(AX)/src的余数 字节操作 (AX)←(DX,AX)/src的商 (DX)←(DX,AX)/src的余数 指令支持的寻址方式:src作为除数,可用除立即数以外的任一种寻址方式来取得。 指令对标志位的影响:不影响条件码。 指令的

23、特殊要求:除法指令要求字操作时,被除数必须为32位,除数是16位,商和余数是16位的;  字节操作时,被除数必须为16位,除数是8位,得到的商和余数是8位的。 六、十进制调整指令 [逻辑指令] 一、逻辑运算 24、逻辑与 AND (logic and) 指令的汇编格式:AND dst,src 指令的基本功能:(dst)←(dst)与(src) 指令支持的寻址方式:两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。 指令对标志位的影响:指令执行后 CF 和 OF 置零,AF无定义。 SF=1 指令

24、执行后的结果为负数(符号位为1) SF=0 指令执行后的结果为正数(符号位为0) ZF=1 指令执行后的结果为零 ZF=0 指令执行后的结果不为零 PF=1 结果操作数中1的个数为偶数时置1 PF=0 结果操作数中1的个数为奇数时置0 25、逻辑或 OR (logic or) 指令的汇编格式:OR dst,src 指令的基本功能:(dst)←(dst)或(src) 指令支持的寻址方式:两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,原操作数和目的操作数必须有一个寄存器寻址方式。 指令对标志位的影响:令执行后 CF 和 OF 置零,AF无定义。 SF

25、1 指令执行后的结果为负数(符号位为1) SF=0 指令执行后的结果为正数(符号位为0) ZF=1 指令执行后的结果为零 ZF=0 指令执行后的结果不为零 PF=1 结果操作数中1的个数为偶数时置1 PF=0 结果操作数中1的个数为奇数时置0 26、逻辑非 NOT (logic not) 指令的汇编格式:NOT orc 指令的基本功能:(dst)←(opr) 指令支持的寻址方式:除立即数寻址方式以外的其余寻址方式 指令对标志位的影响:对标志位无影响 27、异或 XOR (exclusice or) 指令的汇编格式:XOR dst,src 指令的基本功

26、能:(dst)←(dst)异或(src) 指令支持的寻址方式:两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,原操作数和目的操作数必须有一个寄存器寻址方式。 指令对标志位的影响:令执行后 CF 和 OF 置零,AF无定义。 SF=1 指令执行后的结果为负数(符号位为1) SF=0 指令执行后的结果为正数(符号位为0) ZF=1 指令执行后的结果为零 ZF=0 指令执行后的结果不为零 PF=1 结果操作数中1的个数为偶数时置1 PF=0 结果操作数中1的个数为奇数时置0 28、测试指令 TEST 指令的汇编格式:TEST opr1,opr2 指令的基

27、本功能:(opr1)与(opr2) 指令支持的寻址方式:两个操作数不能同时为存储器寻址,即为除源操作数为立即数的情况外,源操作数和目的操作数必须有一个寄存器寻址方式。 指令对标志位的影响:令执行后 CF 和 OF 置零,AF无定义。 SF=1 指令执行后的结果为负数(符号位为1) SF=0 指令执行后的结果为正数(符号位为0) ZF=1 指令执行后的结果为零 ZF=0 指令执行后的结果不为零 PF=1 结果操作数中1的个数为偶数时置1 PF=0 结果操作数中1的个数为奇数时置0 二、移位指令 29、逻辑左移 SHL (shift logical left) 指

28、令的汇编格式:SHL dst,cnt 指令的基本功能:SHL指令向左逐位移动cnt次,每次逐位移动后,最低位用0来补充,最高位移入CF。 指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移位次数(或位数)cnt=1时,1可以直接写在指令中,cnt>1时,cnt必须放入CL寄存器中。 指令对标志位的影响:CF=移入的数值 OF=1 当cnt=1时,移动后最高位的值发生变化。 OF=0 当cnt=1时,移动时最高位的值未发生变化。 SF、ZF、PF根据移动后的结果设置。 30、逻辑右移 SHR (shift logical right) 指令的汇编格式:

29、SHR dst,cnt 指令的基本功能:SHR指令向右逐位移动cnt次,每次逐位移动后,最高位用0来补充,最低位移入CF。 指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移位次数(或位数)cnt=1时,1可以直接写在指令中,cnt>1时,cnt必须放入CL寄存器中。 指令对标志位的影响:CF=移入的数值 OF=1 当cnt=1时,移动后最高位的值发生变化。 OF=0 当cnt=1时,移动时最高位的值未发生变化。 SF、ZF、PF根据移动后的结果设置。 31、算术左移 SAL (shift arithmetic left) 指令的汇编格式:SAL d

30、st cnt 指令的基本功能:SAL指令向左逐位移动cnt次,每次逐位移动后,最低位用0来补充,最高位移入CF。 指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移位次数(或位数)cnt=1时,1可以直接写在指令中,cnt>1时,cnt必须放入CL寄存器中。 指令对标志位的影响:CF=移入的数值 OF=1 当cnt=1时,移动后最高位的值发生变化。 OF=0 当cnt=1时,移动时最高位的值未发生变化。 SF、ZF、PF根据移动后的结果设置。 32、算术右移 SAR (shift arithmetic right) 指令的汇编格式:SAR dst,c

31、nt 指令的基本功能:SAR指令向右逐位移动cnt次,每次逐位移动后,最高位用符号位来补充,最低位移入CF。 指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移位次数(或位数)cnt=1时,1可以直接写在指令中,cnt>1时,cnt必须放入CL寄存器中。 指令对标志位的影响:CF=移入的数值 OF=1 当cnt=1时,移动后最高位的值发生变化。 OF=0 当cnt=1时,移动时最高位的值未发生变化。 SF、ZF、PF根据移动后的结果设置。 33、循环左移 ROL (rotate left) 指令的汇编格式:ROL dst,cnt 指令的基本功能:R

32、OL 对由dst指定的寄存器或存储器操作数左移循环移动cnt所指定的次数,每左移一次,把最高位同时移入CF和操作数最低位。 指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写在指令中,cnt>1时,cnt必须放入CL寄存器中。 指令对标志位的影响:CF=移入的数值 OF=1 当cnt=1时,移动后最高位的值发生变化。 OF=0 当cnt=1时,移动时最高位的值未发生变化。 SF、ZF、PF根据移动后的结果设置。 34、循环右移 ROR (rotate right) 指令的汇编格式:ROR dst,cnt 指令

33、的基本功能:ROR 对由dst指定的寄存器或存储器操作数右移循环移动cnt所指定的次数,每右移一次,把最低位同时移入CF和操作数最高位。 指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写在指令中,cnt>1时,cnt必须放入CL寄存器中。 指令对标志位的影响:CF=移入的数值 OF=1 当cnt=1时,移动后最高位的值发生变化。 OF=0 当cnt=1时,移动时最高位的值未发生变化。 SF、ZF、PF根据移动后的结果设置。 35、带进位的循环左移 RCL (rotate left through carry)

34、 指令的汇编格式:RCL dst,cnt 指令的基本功能:RCL 对由dst指定的寄存器或存储器操作数,连同进位标志CF左循环移动,m所指定的次数,每左移一次,把操作数的最高位移入CF,而CF中原有内容移入操作数的最低位。 指定支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写在指令中,cnt>1时,cnt必须放入CL寄存器中。 指令对标志位的影响:CF=移入的数值。 OF=1 当cnt=1时,移动后最高位的值未发生变化。 OF=0 当cnt=1时,移动后最高位的值发生变化。 SF、ZF、PF标志位不受影响。 36、带

35、进位的循环右移 RCR (rotate right through carry) 指令的汇编格式:RCR dst,cnt 指令的基本功能:RCR 对由dst指定的寄存器或存储器操作数,连同进位标志CF右循环移动,m所指定的次数,每右移一次,把操作数的最高低位移入CF,而CF中原有内容移入操作数的最高位。 指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写入指令中,cnt>1时,cnt必须放入CL寄存器中。 指令对标志位的影响:CF=移入的数值。 OF=1 当cnt=1时,操作数最高位的值未发生变化。 OF=0 当cn

36、t=1时,操作数最高位的值发生变化。 SF、ZF、PF标志位不受影响。 [串处理指令] 一、设置方向标志指令 37、DF置零 CLD (clear direction flag) DF置一 STD (set direction flag) 指令的汇编格式:CLD STD 指令的基本功能:CLD DF=0 STD DF=1 二、串处理指令 38、串传送 MOVSB / MOVSW (move string byte/word) 指令的汇编格式:MOVSB MOVSW 指令的基本功能:(ES:DI)←(DS:SI) (SI)←(SI) +/

37、 1(字节)或 +/- 2(字) (DI)←(DI) +/- 1(字节)或 +/- 2(字) 指令对条件码的影响:不影响条件码。 指令的特殊要求:源串必须在数据段中,目的串必须在附加段中,串处理指令隐含的寻址方式是SI和DI寄存器的间接寻址方式。源串允许使用段跨越前缀来指定段。 39、存串 STOSB / STOSW (stroe from string byte/word) 指令的汇编格式:STOSB STOSW 指令的基本功能:(ES:DI)←(AL)或(AX) (DI)←(DI) +/- 1(字节)或 +/- 2(字) 指令对条件码的影响:不影响条件码。 指

38、令的特殊要求:源串必须在数据段中,目的串必须在附加段中,串处理指令隐含的寻址方式是SI和DI寄存器的间接寻址方式。源串允许使用段跨越前缀来指定段。 40、取串LODSB / LODSW (load from string byte/word) 指令的汇编格式:LODSB LODSW 指令的基本功能:(AL)或(AX)←(DS:SI) (SI)←(SI) +/- 1(字节)或 +/- 2(字) 指令对条件码的影响:不影响条件码。 指令的特殊要求:源串必须在数据段中,目的串必须在附加段中,串处理指令隐含的寻址方式是SI和DI寄存器的间接寻址方式。源串允许使用段跨越前缀来指定

39、段。 41、串比较 CMPSB / CMPSW (compare string byte/word) 指令的汇编格式:CMPSB CMPSW 指令的基本功能:(DS:SI)-(ES:DI) 根据比较结果设置条件码 (SI)←(SI) +/-1 (字节)或+/-2(字) (DI)←(DI) +/-1 (字节)或+/-2(字) 指令对条件码的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0) ZF=1 减法结果为零 ZF=0 减法结果不为零 CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0

40、 二进制减法运算中最高有效为向高位无借位(被减数>=减数,够减的情况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。 OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。 42、串扫描 SCASB / SCASW (scan string byte / word) 指令的汇编格式:SCASB SCASW 指令的基本功能:(AL)←(ES:DI)或(AX)←(ES:DI) 根据扫描比较的结果设置条件码。 (DI)←(DI) +/-1 (字节)或+/-2(字) 指令对条件码的影响:SF=1 结果为负数(符号位为1) SF=0 结

41、果为正数(符号位为0) ZF=1 结果为零 ZF=0 结果不为零 CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数>=减数,够减的情况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。 OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。 三、串重复前缀 43、重复执行串 REP 指令的汇编格式:REP (CX)=重复次数 指令的基本功能:① (CX)=0时,串指令执行完毕,否则执行② - ④    ② (CX)←(CX)-

42、1    ③ 执行串指令(MOVS或STOS)   ④ 重复执行① 44、相等/为零时重复执行串指令 REPE/REPZ 指令的汇编格式:REPE / REPZ (CX)=比较/扫描的次数 指令的基本功能:① (CX)=0或ZF=0时,结束执行串指令,否则继续② - ④    ② (CX)←(CX)-1    ③ 执行串指令(CMPS或SCAS)    ④ 重复执行① 45、不等/不为零时重复执行串指令 REPNE / PEPNZ 指令的汇编格式:REPNE / PEPNZ (CX)=比较/扫描的次数 指令的基本功能:① (CX)=0或ZF=1,结束执

43、行串指令,否则继续② - ④    ② (CX)←(CX)-1    ③ 执行串指令(CMPS或SCAS)    ④ 重复执行① [控制转移指令] 一、无条件转移指令 46、短转移 JMP SHORT label (short jump) 指令的汇编格式:JMP SHORT label 指令的基本功能:(IP)←当前(IP)+8位位移量 8位位移量是汇编程序在汇编源程序时,根据目标地址和当前IP之间的距离自动生成的。 指令对条件码的影响:对标志位无影响。 47、近转移 JMP NEAR PTR label (near jump) 指令的汇编格

44、式:直接转移 JMP label (direct jump) 寄存器间接转移 JMP reg (register indirect jump) 存储器间接转移 JMP WORD PTR OPR (memory indirect jump) 指令的基本功能:JMP label (IP) ← OFFSET label = (IP)当前+16位位移量 JMP reg (IP) ← (reg) JMP WORD PTR OPR (IP) ← (PA+1,PA) 指令支持的寻址方式:指令中的转向地址可以是直接寻址方式、寄存器寻址方式、寄存器间接寻址方式和存储器寻址方式。 指令对条件码的影响

45、对标志位无影响。 48、远转移 JMP FAR PTR label (for jump) 指令的汇编格式:JMP FAR PTR label 指令的基本功能:(IP)←label的段内偏移地址 (CS)←label所在段的段地址 指令支持的寻址方式:远转移的目的地址可以使用除立即寻址方式外的任何寻址方式来表示。 指令对条件码的影响:对标志位无影响。 二、条件转移指令 指令的汇编格式及功能 根据条件码的值转移:() 49、JZ(JE) OPR ZF=1 50、JNZ(JNE) OPR ZF=0 51、JS OPR SF=1 52、JNS OPR SF=

46、0 53、JO OPR OF=1 54、JNO OPR OF=0 55、JP OPR PF=1 56、JNP OPR PF=0 57、JC OPR CF=1 58、JNC OPR CF=0 比较两个无符号数,根据比较的结果转移 59、JB(JNAE,JC) OPR CF=1 被减数小于减数则转移 60、JNB(JAE,JNC) OPR CF=0 被减数大于或等于减数则转移 61、JBE(JNA) OPR CF或ZF=1 被减数小于或等于减数则转移 62、JNBE(JA) OPR CF或ZF=0 被减数大于减数则转移 比较两个带符号数,根据比较结果转移 63、J

47、L/JNGE (OPR SF异或OF=1) 被减数小于减数则转移 64、JNL/JGE (SF异或OF=0) 被减数不小于减数则转移 65、JLE/JNE [(SF异或OF)与ZF=1] 被减数不大于减数则转移 66、JNLE/JG [(SF异或OF)与ZF=0] 被减数大于减数则转移 根据CX寄存器的值转移 67、JCXZ (CX)=0 CX内容为零 则转移(Jump if CX equals Zero) 指令的特殊要求:所有条件转移指令都是短转移指令,转移的目标地址必须在当前IP地址的-128至+127字节范围之内,因此条件转移指令是2字节指令。 三、循环指令

48、 68、循环 LOOP (loop) 指令的汇编格式:LOOP label 指令的基本功能:① (CX)←(CX)-1         ② 若(CX)≠0,则(IP)←(IP)当前+位移量,否则循环结束。 指令的特殊要求:循环指令都是短转移格式的指令,也就是说,位移量是用8位带符号数来表示的,转向地址在相对于当前IP值的(-128) - (+127)字节范围之内。 69、为零/相等时循环 LOOPZ/LOOPE (loop while Zero or Equal) 指令的汇编格式:LOOPNZ/LOOPNE label 指令的基本功能:① (CX)←(CX)-1    

49、     ② 若ZF=1且(CX)≠0,则(IP)←(IP)当前+位移量,否则循环结束。 指令的特殊要求:循环指令都是短转移格式的指令,也就是说,位移量是用8位带符号数来表示的,转向地址在相对于当前IP值的(-128) - (+127)字节范围之内。 70、不为零/不相等时循环 LOOPNZ/LOOPNE (loop while nonZero or Not Equal) 指令的汇编格式:LOOPNZ/LOOPNE label 指令的基本功能:① (CX)←(CX)-1          ② 若ZF=0且(CX)≠0,则(IP)←(IP)当前+位移量,否则循环结束。 指令的特

50、殊要求:循环指令都是短转移格式的指令,也就是说,位移量是用8位带符号数来表示的,转向地址在相对于当前IP值的(-128) - (+127)字节范围之内。 四、子程序调用 71、段内直接近调用 CALL SUBROUT 指令的基本功能: (SP)←(SP)-2 ((SP)+1,(sp))←(IP) (IP)←(IP)+16位位移量 段内间接近调用 CALL DESTIN 指令的基本功能: (SP)←(SP)-2 ((SP)+1,(SP))←(IP) (IP)←(EA) 72、段间直接调用 CALL FAR PTR SUBROUT 指令的基本功能:(SP)←(

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服