首页
社区
课程
招聘
[求助]CMP汇编指令
2008-10-5 16:04 10847

[求助]CMP汇编指令

2008-10-5 16:04
10847
我把00401000的字符串放到EAX里,把00401020的字符串放到EDI里,然后比较,相等就跳,用汇编代码怎么实现
还有这样写对不对:
mov eax,00401000
mov edi ,00401020
cmp eax,edi
jz XXXXXX
但是我发现即使00401000和00401020的字符串相等,但是那个jz xxxxx(相等就跳)却没有跳,这是为什么
是代码格式错误么?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (10)
雪    币: 239
活跃值: (11)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
ufozhyufo 3 2008-10-5 21:22
2
0
mov eax,00401000
mov edi ,00401020
cmp eax,edi
因为00401000 !=00401020,所以ZF不会被置为1,不跳

下面可以试一下:
mov eax,00401000
mov edi ,00401020
mov bl,[eax]
cmp bl,[edi]
雪    币: 1564
活跃值: (3572)
能力值: ( LV13,RANK:420 )
在线值:
发帖
回帖
粉丝
xiaofu 8 2008-10-6 19:57
3
0
可以是可以比较,但是只能比较第一位字符是否相等,其他的字符就没有比较了?办
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DazzleJ 2008-10-6 20:09
4
0
写个小循环完成就行
雪    币: 1564
活跃值: (3572)
能力值: ( LV13,RANK:420 )
在线值:
发帖
回帖
粉丝
xiaofu 8 2008-10-6 20:11
5
0
小循化要怎么写,代码应该很多吧
雪    币: 233
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
glery 2 2008-10-7 12:14
6
0
看一下字符串比较函数strcmp的汇编代码吧
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
mstwugui 6 2008-10-7 16:50
7
0
repnz cmpsb
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
NONAME剑人 3 2008-10-7 19:37
8
0
来段暴力的:)

mov eax,s1 ;ADDRESS OF STRING 1
mov ebx,s2 ;ADDRESS OF STRING 2
xor edx,edx

sss:
mov cl,byte ptr [eax+edx]
mov ch,byte ptr[ebx+edx]
cmp cl,ch ;如果不等
jnz over
cmp cl,0
je ok  ;如果字符串结束
inc edx;循环变量
jmp sss

o k:  ;ok

over: ;失败
雪    币: 328
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
seya 5 2008-10-8 10:00
9
0
LZ请看汇编书对这两个指令的说明,看能不能满足要求
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
mstwugui 6 2008-10-8 10:12
10
0
抱歉记错了,应该是repz cmpsb
雪    币: 1564
活跃值: (3572)
能力值: ( LV13,RANK:420 )
在线值:
发帖
回帖
粉丝
xiaofu 8 2008-10-9 13:22
11
0
谢谢大家哈 !!!!!
游客
登录 | 注册 方可回帖
返回