JCC

Posted cat47

tags:

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

一.简单认识JCC指令(也可以改EIP的寄存器但得看条件)

由下图可以看出JCC指令和很多标志寄存器有关

标志寄存器的不一样也就表示JCC指令的含义不同

所以 学习JCC指令实际上是学习标志寄存器

 

技术图片

 

技术图片

 

 

 二.标志寄存器(32位)

技术图片

 

 2.1 CF位(判断无符号数运算之后结果有没有溢出)

当无符号数发生进位或借位的时候,CF就是1,否则就是0

技术图片

 

 

2.2 PF位(奇偶校验位)

技术图片

 

 注意是最低有效字节  也就是最后一个不为全0 的字节

 

2.3 AF位(辅助进位标志 很少用到)

技术图片

 

 技术图片

 

 

2.4 ZF位(常见)

很好理解

技术图片

 

 CMP执行的结果不放在EAX里,它只影响标志位

 

2.5 SF位

技术图片

 

 

2.6 OF位

CF位也是看溢出的但并不能满足我们。因为CF只是反应无符号位

技术图片

 

 2.7 DF位

技术图片

 

 如果想改动DF的值 STD指令就是把DF改为1  CLD就是把DF改为0

三.深入看JCC

举例1

技术图片

 

 技术图片

 

 所以的jcc指令到底修不修改EIP的值 只看标志位

 

以上是关于JCC的主要内容,如果未能解决你的问题,请参考以下文章

com.ibm.db2.jcc.b.SqlException:无效参数:未知列名 COL1

reverse逆向6 JCC

分支结构Jcc 的一些助记

JCC指令

JCC指令

jcc手机站开发小计