+ -
当前位置:首页 → 问答吧 → 请教高手:下面这种连续三个cmp指令,后面才一个JL跳转指令是什么意思

请教高手:下面这种连续三个cmp指令,后面才一个JL跳转指令是什么意思

时间:2011-06-18

来源:互联网

来之一个真实的软件。

0040502A 817C74 A1 807C93>CMP DWORD PTR SS:[ESP+ESI*2-5F],CC937C80
00405032 817CA8 2F 817C37>CMP DWORD PTR DS:[EAX+EBP*4+2F],CD377C81
0040503A 807CD9 2F 81 CMP BYTE PTR DS:[ECX+EBX*8+2F],81
0040503F ^7C F1 JL SHORT ARPPRODU.00405032

作者: joshua0137   发布时间: 2011-06-18

基本可以判定是反汇编乱了,可能没从正确的指令位置开始(从某条指令中间开始),或者把数据当成代码反汇编。

作者: DelphiGuy   发布时间: 2011-06-18

指令乱了

作者: lifesider   发布时间: 2011-06-18

cmp比较的结果是:如果 目的操作数 < 源操作数,则 CF 置 1

所以我想应该是:如果上面三个cmp中如果有任何一个目的操作数 < 源操作数则跳转(照此理解在三个cmp之前 CF 应有其他操作清零)

一家之言

作者: kasabranca   发布时间: 2011-06-18