经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 汇编语言 » 查看文章
汇编之使用标志寄存器进行指令转移
来源:cnblogs  作者:迷茫的蕉太狼  时间:2021/6/15 9:14:35  对本文有异议
  1. 根据单个条件标志的设置情况转移

    指令 英文 含义 格式 测试条件
    JZ/JE jump if zero/equal 结果为零/相等则转移 JZ/JE OPR ZF=1
    JNZ/JNE jump if not zero/equal 结果不为零/不相等则转移 JNZ/JNE OPR ZF=0
    JS jump if sign 结果为负则转移 JS OPR SF=1
    JNS jump if not sign 结果为正则转移 JO OPR SF=0
    JO jump if overflow 溢出则转移 JO OPR OF=1
    JNO jump if not overflow 不溢出则转移 JNO OPR OF=0
    JP/JPE jump if parity/parity even 奇偶位为1则转移 JP/JPE OPR PF=1
    JNP/JNPE jump if not parity/parity even 奇偶位为0则转移 JNP/JNPE OPR PF=0
    JB/JNAE/JC jump if below/not above、not equal/carry 低于/不高于或不等于/进位为1则转移 JB/JNAE/JC OPR CF=1
    JNB/JAE/JNC jump if not below/ above、equal/not carry 不低于/高于或等于/进位为零则转移 JNB/JAE/JNC OPR CF=0

    适用于测试某一次运算的结果并根据其不同特征产生程序分支不同的处理的情况

  2. 比较两个无符号数,并根据比较的结果转移

    指令 英文 含义 格式 测试条件 等价于
    JB/JNAE/JC jump if below/not above、not equal/carry 低于/不高于或不等于/进位为1则转移 JB/JNAE/JC OPR CF=1 <
    JNB/JAE/JNC jump if not below/ above、equal/not carry 不低于/高于或等于/进位为零则转移 JNB/JAE/JNC OPR CF=0
    JBE/JNA jump if below/equal、not above 低于/等于、不高于则转移 JBE/JNA OPR CF并ZF=1
    JNBE/JA jump if not below/not equal、above 不低于/不等于、高于则转移 JNBE/JA OPR CF并ZF=0 >
  3. 比较两个带符号数,并根据比较的结果转移

    指令 英文 含义 格式 测试条件 等价于
    JL/JNGE jump if less、not greater/equal 小于、不大于/不等于则转移 JL/JNGE OPR SF异或CF=1 <
    JNL/JGE jump if not less、greater/equal 不小于、大于/等于则转移 JNL/JGE OPR SF异或CF=0
    JLE/JNG jump if less/equal、not greater 小于/等于、不大于则转移 JLE/JNG OPR (SF异或CF)并ZF=1
    JNLE/JG jump if not less/not equal、 greater 不小于/不等于、大于则转移 JNLE/JG OPR (SF异或CF)并ZF=0 >

 
注:OPR更改成标号名称

原文链接:http://www.cnblogs.com/arblogs/p/14866686.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号