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

    第6章控制转移类指.ppt

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

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

    第6章控制转移类指.ppt

    4、控制转移类指令2.6.1 条件转移指令2.6.2 无条件转移指令2.6.3 循环指令 2.6.4 子程序调用指令2.6.5 中断指令2.6.1 条件转移指令条件转移指令1 1简单条件转移指令简单条件转移指令2 2无符号数条件转移指令无符号数条件转移指令3.3.有符号数条件转移指令有符号数条件转移指令 它们都有通用的语句格式和功能。它们都有通用的语句格式和功能。语句格式:语句格式:标号:标号:操作符操作符 短标号短标号功功能能:如如果果条条件件满满足足,则则(IPIP)位位移移量量IPIP。1 1简单条件转移指令简单条件转移指令2无符号数条件转移指令表2.2无符号数条件转移指令【例例】比比较较无无符符号号数数大大小小,将将较较大大的的数数存存放放AXAX寄存器。寄存器。CMPCMPAXAX,BX BX ;(;(AXAX)()(BXBX)JNBJNBNEXTNEXT ;若若AX=BXAX=BX,转转移移到到NEXTNEXTXCHGXCHGAXAX,BX BX ;若若AXBXAX=BXAX=BX,转转移移到到NEXTNEXTXCHGXCHGAXAX,BXBX;若若AXBXAXBX,交换交换NEXTNEXT:2.6.2 无条件转移指令无条件转移指令表表2.4 无条件转移指令的语句格式及功能无条件转移指令的语句格式及功能2.6.3 2.6.3 循环指令循环指令 1循环指令循环指令LOOP2相等相等/为零循环指令为零循环指令LOOPE3 不不 相相 等等/不不 为为 零零 循循 环环 指指 令令LOOPNE 4CX为零转移指令为零转移指令JCXZ1 1循环指令循环指令LOOPLOOP语句格式:语句格式:LOOP LOOP 短标号短标号功功能能:(CXCX)1 1 00,则则程程序序转转移(循环);否则,顺序执行。移(循环);否则,顺序执行。说说明明:使使用用LOOPLOOP指指令令可可代代替替两两条条指指令:令:DEC CXDEC CXJNE JNE 短标号短标号2 2相等相等/为零循环指令为零循环指令LOOPELOOPE语句格式:语句格式:LOOPE LOOPE 短标号短标号 LOOPZ LOOPZ 短标号短标号功功能能:(CXCX)1 1 00且且ZF=1ZF=1,则则程程序转移(循环);否则,顺序执行序转移(循环);否则,顺序执行。3 3不不相相等等/不不为为零零循循环环指指令令LOOPNELOOPNE语句格式:语句格式:LOOPNE LOOPNE 短标号短标号 LOOPNZ LOOPNZ 短标号短标号功功能能:(CXCX)1010,则则程程序序转转移(循环);否则,顺序执行。移(循环);否则,顺序执行。4 4CXCX为零转移指令为零转移指令JCXZJCXZ语句格式:语句格式:JCXZ JCXZ 短标号短标号功功能能:(CXCX)1010,则则程程序序转转移移(循循环环);否否则则,顺顺序序执执行。行。2.6.4 子程序调用指令1 1子程序调用指令子程序调用指令CALLCALL(1 1)段内直接调用段内直接调用(2 2)段间直接调用段间直接调用(3 3)段内间接调用段内间接调用(4 4)段间间接调用段间间接调用2 2返回指令返回指令RETRET(1 1)语句格式:语句格式:RETRET(2 2)语句格式:语句格式:RET nRET n(n n为偶数)为偶数)2.6.5 中断指令1 1中断调用指令中断调用指令INTINT语句格式:语句格式:INT nINT n功能:功能:(FLAGSFLAGS)(SPSP),),0 IF0 IF、TFTF。(CSCS)(SPSP),(),(4*n+24*n+2)CS CS。(IPIP)(SPSP),(),(4*n4*n)IP IP。2 2中断返回指令中断返回指令IRETIRET语句格式:语句格式:IRETIRET功能:功能:(SPSP)IP IP (SPSP)CSCS (SPSP)FLAGS FLAGS 3、2、5 控制转移指令控制转移指令控制转移指令分成控制转移指令分成无条件转移指令无条件转移指令和和条件转移指令条件转移指令。1无条件转移指令无条件转移指令转移可以分成两类:转移可以分成两类:段内转移段内转移和和段间转移段间转移。段内转移段内转移是指在同一段的范围之内进行转移,此时只需是指在同一段的范围之内进行转移,此时只需改变改变IP寄存器的内容,即用新的转移目标地址代替原有寄存器的内容,即用新的转移目标地址代替原有的的IP的值就可达到转移的目的。的值就可达到转移的目的。段间转移段间转移则是要转到另一个段去执行程序,此时不仅要则是要转到另一个段去执行程序,此时不仅要修改修改IP寄存器的内容,还需要修改寄存器的内容,还需要修改CS寄存器的内容才寄存器的内容才能达到目的,因此此时的转移目标地址应由新的段地址能达到目的,因此此时的转移目标地址应由新的段地址和偏移地址两部分组成和偏移地址两部分组成。(1)直接短转移)直接短转移 JMP SHORT OPR ;操作:(操作:(IP)(IP)+8位位移量位位移量(2)段内直接转移)段内直接转移 JMP NEAR PTR OPR;操作:(操作:(IP)(IP)+16位位移量位位移量(3)段内间接转移)段内间接转移 JMP WORD PTR OPR;操作:(操作:(IP)(有效地址)有效地址)(4)段间直接(远)转移)段间直接(远)转移 JMP NEAR PTR OPR操作:(操作:(IP)OPR的段内偏移地址的段内偏移地址 (CS)OPR所在段的段地址所在段的段地址(5)段间间接转移)段间间接转移 JMP DWORD PTR OPR操作:(操作:(IP)(EA)(CS)(EA+2)2、条件转移指令、条件转移指令状态标志作为转移的条件,当满足一定的条件时,转移到指定状态标志作为转移的条件,当满足一定的条件时,转移到指定的地址,否则,将顺序执行下条指令。的地址,否则,将顺序执行下条指令。作为判断条件的状态标志位有:作为判断条件的状态标志位有:CF、PF、ZF、SF和和OF。(1)根据单个标志位的设置情况转移这组包括10种指令,它们一般适用于测试某一次运算的结果并根据其不同特征产生程序分支作不同处理的情况。(2)结果为零(或相等)转移结果为零(或相等)转移 JZ/JE OPR ;ZF=1 结果不为零(或不相等)转移结果不为零(或不相等)转移 JNZ/JNE OPR;ZF=0 结果为负转移结果为负转移 JS OPR ;SF=1 结果为正转移结果为正转移 JNS OPR ;SF=0溢出转移溢出转移 JO OPR;OF=1无溢出转移无溢出转移 JNO OPR;OF=0奇偶位为奇偶位为1转移转移 JP/PE OPR;PF=1奇偶位为奇偶位为0转移转移 JNP/JPO OPR;PF=0低于低于/不高于或等于不高于或等于/进位为进位为1转移转移 JB/JNAE/JC OPR;CF=1不低于不低于/高于或等于高于或等于/进位为进位为0转移转移 JNB/JAE/JNC OPR;CF=0(2)比较两个无符号数,并根据比较的结果转移。低于低于/不高于或不等于不高于或不等于/进位为进位为1转移转移 JB/JNAE/JC OPR;CF=1且且ZF=0不低于不低于/高于或等于高于或等于/进位为进位为0转移转移 JNB/JAE/JNC OPR;CF=0或或ZF=1低于或等于低于或等于/不高于转移不高于转移 JBE/JNA OPR;CF=1或或CF=1不低于或不等于不低于或不等于/高于转移高于转移 JNBE/JA OPR;CF=0且且ZF=0(3)比较两个带符号数,并根据比较结果转移。比较两个带符号数,并根据比较结果转移。小于或者不大于或者等于转移小于或者不大于或者等于转移 JL(或或JNGE)OPR SF ZF=1小于或者不大于或者等于转移小于或者不大于或者等于转移 JNL(或或JGE)OPR SF ZF=0 小于或等于,或者不大于转移小于或等于,或者不大于转移 JLE(或或JNG)OPR(SF ZF)ZF=1小于或等于,或者不大于转移小于或等于,或者不大于转移 JNLE(或或JG)OPR(SF ZF)ZF=0(4)测试)测试CX的值为的值为0则转移指令则转移指令 JCXZ OPR;(CX)=0则转移则转移 3、循环控制指令、循环控制指令(1)LOOP(LOOP)循环指令循环指令 格式:格式:LOOP OPR 测试条件:(测试条件:(CX)0(2)LOOPZ/LOOPE(Loop while zero or equal)当为零或相等时循环指令当为零或相等时循环指令 格式:格式:LOOPZ(或或LOOPE)OPR 测试条件:测试条件:ZF=1且(且(CX)0(3)LOOPNZ/LOOPNE(Loop while nonzero,or not equal)当不为零或不相等时循环指令当不为零或不相等时循环指令 格式:格式:LOOPNZ(或或LOOPNE)OPR 测试条件:测试条件:ZF=0且(且(CX)0 4、子程序、子程序CALL调用指令(1)段内直接调用)段内直接调用 格式:格式:CALL DST 执行的操作:(执行的操作:(IP)(SP)2;(SP)1,(,(SP)(IP););(IP)(IP)D16;()()段内间接调用段内间接调用 格式:格式:CALL DST 执行的操作:(执行的操作:(SP)(SP)2;(SP)1,(,(SP)(IP);(IP)(EA)()()段间直接调用段间直接调用 格式:格式:CALL DST执行的操作:(执行的操作:(SP)(SP)2;(SP)1,(,(SP)(CS););(SP)(SP)2;(SP)1,(,(SP)(IP););(IP)偏移地址(指令的第偏移地址(指令的第2,3个字节);个字节);(CS)段地址(指令的第段地址(指令的第4,5个字节)。个字节)。(4)段间间接调用)段间间接调用 格式:格式:CALL DST 执行的操作:(执行的操作:(SP)(SP)2;(SP)1,(,(SP)(CS););(SP)(SP)2;(SP)1,(,(SP)(IP););(IP)(EA););(CS)(EA2)RET返回指令返回指令段内返回段内返回 RET ;(;(IP)(SP)+1,(,(SP)(SP)()(SP)+2段内带立即数返回段内带立即数返回 RET EXP;(IP)()(SP)+1,(,(SP)(SP)()(SP)+2 (SP)()(SP)+DISP16位移量位移量段间返回段间返回 RET;(;(IP)()(SP)+1,(,(SP)(SP)()(SP)+2(CS)()(SP)+1,(,(SP)(SP)()(SP)+2段间带立即数返回段间带立即数返回 RET EXP;(IP)()(SP)+1,(,(SP)(SP)()(SP)+2 (CS)()(SP)+1,(,(SP)(SP)()(SP)+2 (SP)()(SP)+DISP16位移量位移量3、2、6 处理机控制指令处理机控制指令1标志处理指令标志处理指令(1)CLC进位位置进位位置0指令指令(Clear carry)CF 0 (2)CMC进位位求反指令(进位位求反指令(Complement carry)CFCF(3)STC进位位置进位位置1指令(指令(Set carry)CF1(4)CLD方向标志置方向标志置0指令指令(Clear direction)DF0

    注意事项

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

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




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

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

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

    收起
    展开