分支结构Jcc 的一些助记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分支结构Jcc 的一些助记相关的知识,希望对你有一定的参考价值。


eax > ebx

OF=0  SF=0  ZF=0  AF=0  PF=0  CF=0


eax = ebx

OF=0  SF=0  ZF=1  AF=0  PF=1  CF=0


eax < ebx

OF=0  SF=1  ZF=0  AF=1  PF=1  CF=1


其中,重点看CFZF、( SF 和 OF

Jcc 的指令关于五个状态标志的十种状态分别有十种指令与之对应,如下所示:

标志 状态 指令 说明
ZF ZF=1 JZ 相等/等于零
ZF=0 JNZ ----
SF SF=1 JS 符号为负
SF=0 JNS ----
PF PF=1 JP “1”的个数为偶
PF=0 JNP ----
OF OF=1 JO 有溢出
OF=0 JNO ----
CF CF=1 JC 有进位/小于
CF=0 JNC ----

!关于指令有多个助记符,此处仅列一个以示意

指令 状态 说明
JA CF=0 & ZF=0 高于
JNA CF=1 | ZF=1 ----
JL SF = OF 小于
JNL SF ≠ OF ----
JG (SF = OF) & (ZF = 0) 大于
JNG (SF ≠ OF) & (ZF = 1) ----

 

 

 

 

 

 

JA 是对无符号整数的,JL、JG是对有符号整数的,参照状态中是否含SF即可辨别出。

结合前面所述的eax 和ebx 的比较,很容易做出判断。

另:高于也可以描述为不低于,小于亦可以描述为不大于,因为同一个指令会有多个助记符,所以具体怎么理解,视情况而定。

以上是关于分支结构Jcc 的一些助记的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中的分支结构

JS中有关分支结构循环结构以及函数应用的一些简单练习

逆向-分支结构上

实验三--for语句及分支结构else-if

labview条件结构的分支选择器的问题

3.2代码结构(顺序+分支+循环)+函数