码迷,mamicode.com
首页 > 其他好文 > 详细

JCC

时间:2020-02-10 22:28:12      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:span   png   width   图片   修改   idt   一个   字节   alt   

一.简单认识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

标签:span   png   width   图片   修改   idt   一个   字节   alt   

原文地址:https://www.cnblogs.com/cat47/p/12292770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!