zoukankan      html  css  js  c++  java
  • 跳转指令

    跳转指令有:JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP等等

    JMP:无条件跳转,相当于C语言的goto

    JCC:根据指定的条件确定程序是否发生转移,条件满足,发生转移,否则,顺序执行下条指令

    JECXZ:ECX为0则跳转

    用有16条指令,分两类:

    ①单个标志状态作为条件

      5个状态标志ZF、CF、SF、OFPF的10种状态

    ②两数大小关系作为条件

      ㈠比较无符号整数的大小:

          低于、不低于、低于等于、高于

      ㈡比较有符号整数大小:

          小于、不小于、小于等于、大于

    标志状态作为条件:

    ②利用零位标志ZF的条件转移指令:

    JZ:运算结果为0 (ZF=1)

    JNZ:结果不为0 (ZF=0)

    JE:两数相等 (ZF=1)

    JNE:不相等 (ZF=0)

    ②利用进位标志CF的条件转移指令:

    JC:运算结果有进位/借位(CF=1)

    JNC:运算结果没有有进位/借位(CF=0)

    ③利用溢出标志OF的条件转移指令:

    JO:运算结果有溢出(OF=1)

    JNO:结果没有溢出(OF=0)

    ④利用符号标志SF的条件转移指令:

    JS:运算结果是负、最高位为1(SF=1)

    JNS:结果是正、最高位为0(SF=0)

    ⑤利用奇偶标志PF的条件转移指令:

    JP:低8位结果中1的个数为偶或0(PF=1)

    JPE:低8位结果中1的个数为偶或0(PF=1)

    JNP:低8位结果中1的个数为奇(PF=0)

    JPO:低8位结果中1的个数为奇(PF=0)

    ⑴两个无符号整数大小关系的条件转移指令:

    无符号数大小用高(Above)、低(Below)助记符

    JB:无符号低于

    JNAE:无符号不高于等于

    JNB:无符号不低于

    JAE:无符号高于等于

    JBE:无符号低于等于

    JNA:无符号不高于

    JNBE:无符号不低于等于

    JA:无符号高于

    即 JB = JNAE、 JNB = JAE、JBE = JNA 和 JNBE = JA

    ⑵两个有符号整数大小关系的条件转移指令:

    有符号数大小用大(Greater)、小(Less)助记符

    JL:小于

    JNGE:不大于等于

    JNL:不小于

    JGE:大于等于

    JLE:小于等于

    JNG:不大于

    JNLE:不小于等于

    JG:大于

    即JL = JNGE、JNL = JGE、JLE = JNG 和 JNLE = JG

  • 相关阅读:
    《数字图像处理原理与实践(MATLAB版)》一书之代码Part5
    编程算法
    SVM 输出分类概率(python)
    mysql 数据库通过拷贝文件恢复方法
    ubuntu取消自动登录
    迁移mysql数据位置
    No module named 'lsb_release'
    python3 ssl导入失败
    Linux tar: Cannot change ownership to [..]: Permission denied
    树莓派蓝牙
  • 原文地址:https://www.cnblogs.com/xingkongyihao/p/7900240.html
Copyright © 2011-2022 走看看