汇编之JCC指令
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-09-06,21:59:16。
作者By-----溺心与沉浮----博客园
JCC指令决定它跳不跳转跟别的没关系,只跟EFLAG标志寄存器有关系!!!
1、JE, JZ 结果为零则跳转(相等时跳转) ZF=1
2、JNE, JNZ 结果不为零则跳转(不相等时跳转) ZF=0
3、JS 结果为负则跳转 SF=1
4、JNS 结果为非负则跳转 SF=0
5、JP, JPE 结果中1的个数为偶数则跳转 PF=1
6、JNP, JPO 结果中1的个数为偶数则跳转 PF=0
7、JO 结果溢出了则跳转 OF=1
8、JNO 结果没有溢出则跳转 OF=0
9、JB, JNAE 小于则跳转 (无符号数) CF=1
10、JNB, JAE 大于等于则跳转 (无符号数) CF=0
11、JBE, JNA 小于等于则跳转 (无符号数) CF=1 or ZF=1
12、JNBE, JA 大于则跳转(无符号数) CF=0 and ZF=0
13、JL, JNGE 小于则跳转 (有符号数) SF≠ OF
14、JNL, JGE 大于等于则跳转 (有符号数) SF=OF
15、JLE, JNG 小于等于则跳转 (有符号数) ZF=1 or SF≠ OF
16、JNLE, JG 大于则跳转(有符号数) ZF=0 and SF=OF
有符号无符号的区别:大家有兴趣可以去尝试一下
CMP AL,CL
JG 0x12345678
JA 0x12345678
这里我也不上图了,就简单列举一下,汇编指令的复习也就暂告一段落了,总算可以舒一口气了,虽然博文写了就十来篇,但笔者私底下的功课绝不止这么点,真的是要吐了。汇编的学习没别的,就是练,也不需要靠你去背,背来的东西迟早都会忘,但是忘的速度会很快。只有练到自己把自己恶心到,才能让自己把自己的功夫练到位!(当然笔者还没到那种境界,不然也不会重新来复习汇编了)真的!学汇编一定不要听信书上说的死记硬背!!!只有一句,忘死里练,练到把自己恶心得想锤爆电脑为止。
当然我说汇编学习告一段落,也不是说真不去碰汇编了,汇编会长期伴随着我,因为后面的堆栈图,C语言逆向,C++逆向,汇编是一直紧随的,而且还会有新的汇编指令再去学,只是换个方向去了解汇编了。
上面的JCC指令哗啦哗啦一摆一大堆,有人会问,靠!这怎么去记,这记得来么!如果你的英语有一点点底子的话,那恭喜你,完全不用去记了,去找大于,小于,等于,不等于英语单词就行,这些都是这英文单词的缩写。如果你英语差的话,也没事,反正都是跟if...else相关的,见多了,练多了,不用刻意去记,也会形成自然反射的记住的。
我下面借鉴他人文章,COPY这张表格,这张表格有JCC指令的英文单词全拼,可以帮助你更好的去理解JCC指令,注意结合我上面列出来的有符号的大于小于,和无符号的大于小于
指令 | 英文 | 中文 |
je | Equal | 等于 |
jne | Not Equal | 不等于 |
jg | Creater | 大于 |
jge | Creater or Equal | 大于等于 |
jng | Not Greater | 不大于 |
jnge | Not Greater or Equal | 不大于等于 |
jl | Less | 小于 |
jle | Less or Equal | 小于等于 |
jnl | Not Less | 不小于 |
jnle | Not Less or Equal | 不小于等于 |
ja | Above | 高于 |
jae | Above or Equal | 高于等于 |
jna | Not Above | 不高于 |
jnae | Not Above or Equal | 不高于等于 |
jb | Below | 低于 |
jbe | Below or Equal | 低于等于 |
jnb | Not Below | 不低于 |
jnbe | Not Below or Equal | 不低于等于 |
jpe | Parity Even | 校验为偶 |
jpo | Parity Odd | 检验为奇 |
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-09-06,21:59:16。
作者By-----溺心与沉浮----博客园
大家有兴趣可以尝试一下这道题,尝尝鲜。对JCC理解会有很好的帮助。
作业:使用汇编指令修改标志寄存器中的某个位的值,实现JCC的十六种跳转.
条件1、不允许在OD中通过双击的形式修改标志寄存器.
条件2、要通过汇编指令的执行去影响标志位,能用CMP和TEST实现的优先考虑.
汇编之JCC指令的更多相关文章
- JCC 指令
JCC跳转指令 JCC指条件跳转指令,CC就是指条件码. JCC指令 中文含义 英文原意 检查符号位 典型C应用 JZ/JE 若为0则跳转:若相等则跳转 jump if zero;jump if eq ...
- 针对JCC指令练习的堆栈图
堆栈图,主要目的就是练习一下JCC指令的熟练度,供参考 版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明.2019-09-10,23:41:41.作者By-----溺心与沉浮----博客园 ...
- 汇编总结:mov指令
mov指令的作用: mov指令可能是汇编里用的最多的指令了,完成c语言里的赋值. mov指令种类: 1.普通的mov指令 2.做符号扩展的movs 3.做零扩展的movz 1.普通mov的种类有: m ...
- 8051汇编:EQU指令
关于EQU汇编指令 EQU是英文单词equal的缩写,因此我们也能对EQU指令有一个初步的认识:做等价替换使用. 在8051汇编语言中,EQU用于定义一个符号常量,其效果不会带来存储空间的占用(这和C ...
- 汇编 REPE/REPZ 指令,CMPSB指令
知识点: REPE/REPZ 指令 CMPSB 指令 一.CMPSB //cmp //sub //SCASB//scasw//scasd cmp byte ptr [edi],al //对标志位的 ...
- Win32汇编之其他指令
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...
- Win32汇编常用算数指令
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...
- 学 Win32 汇编[21] - 传送指令: MOV、LEA、XCHG、XLATB、XLAT、MOVZX、MOVSX
汇编指令的一般性要求: 1.两个操作数的尺寸必须一致; 2.操作数不能同为内存. MOV(Move): 最常用的数据传送指令 ;该指令不影响 EFlags ;指令格式: (其中的 r.m.i 分别表示 ...
- ARM 汇编 内存访问指令
一. 单个寄存器操作读写内存 内存访问指令格式:<opcode><cond> Rd, [Rn] Rn 中保存的是一个内存的地址值 1. 内存写指令 [ str,strb,st ...
随机推荐
- 传入一个Map<String,Long> 返回它按value排序后的结果
//传入一个Map<String,Long> 返回它按value排序后的结果 sort为正序还是倒序(-1倒序),size为要几条数据 private static Map<Stri ...
- Nginx 配置实例-动静分离
1.什么是动静分离 通过 location 指定不同的后缀名实现不同的请求转发.通过 expires 参数设置,可以使浏 览器缓存过期时间,减少与服务器之前的请求和流量.具体 Expires 定义: ...
- Mybatis逆向工程中的 mybatis-generator:generate 代码生成器的使用
使用逆向工程可以根据数据库的表名字生成pojo层(实体类),mapper层(dao层,直接与底层的XML中映射相关),XML(映射执SQL语句) 下面请看具体生成步骤 1. 点击generatorCo ...
- c# WF 第9节 button控件
本节内容: 1:实现实例 1:实现实例 每当点击一个确定就出现一个窗口,当点击最后的确定时,关闭所有的窗口. 实现: 步骤1:对Form 1 -Form3 依次进行如下设置: 步骤2 : 当每点击一个 ...
- 第九周周五计划&&周四总结
今天主要将提取地主题词入库以及重新对新闻分类. 测试了一下单纯使用主题词作为主题追踪依据不是很好,明天尝试使用特征值提取(主题词(名词实体))+摘要比对综合.但是目前还没想好是每篇新闻的都要追踪还是热 ...
- <DP> (高频)139 375 374 (DP hard)312
139. Word Break 返回结果较为简单可用dp, 复杂用dfs class Solution { public boolean wordBreak(String s, List<Str ...
- ASP.NET开发实战——(七)ASP.NET与数据库
在之前的文章中介绍了使用ASP.NET MVC来开发一个博客系统,并且已将初具雏形,可以查看文章列表页面,也可以点击文章列表的其中一篇文章查看详情,这已经完成了最开始需求分析的读者的查看列表和查看文章 ...
- 【转】ServletContext介绍及用法
1.1. 介绍 ServletContext官方叫servlet上下文.服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象.这个对象全局唯一,而且工程内部的所有servl ...
- 调试九法: 软硬件错误的排查之道 (David J. Agans 著)
第1章 简介 (已看) 第2章 总体规则 (已看) 第3章 理解系统 (已看) 第4章 制造失败 第5章 不要想, 而要看 第6章 分而治之 第7章 一次只改一个地方 第8章 保持审计跟踪 第9章 检 ...
- Paper | Quality assessment of deblocked images
目录 1. 故事 2. 失真变化 3. 方法(PSNR-B) 4. 实验 这篇文章提出了一个PSNR-B指标,旨在衡量 压缩图像的块效应强度 或 去块效应后的残留块效应强度(比较去块效应算法的优劣). ...