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

[求助]CMP汇编指令

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

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 239
活跃值: (11)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
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]
2008-10-5 21:22
0
雪    币: 1564
活跃值: (3572)
能力值: ( LV13,RANK:420 )
在线值:
发帖
回帖
粉丝
3
可以是可以比较,但是只能比较第一位字符是否相等,其他的字符就没有比较了?办
2008-10-6 19:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
写个小循环完成就行
2008-10-6 20:09
0
雪    币: 1564
活跃值: (3572)
能力值: ( LV13,RANK:420 )
在线值:
发帖
回帖
粉丝
5
小循化要怎么写,代码应该很多吧
2008-10-6 20:11
0
雪    币: 233
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
看一下字符串比较函数strcmp的汇编代码吧
2008-10-7 12:14
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
7
repnz cmpsb
2008-10-7 16:50
0
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
8
来段暴力的:)

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