首页
社区
课程
招聘
[旧帖] [求助]请高手看看这两段代码! 0.00雪花
发表于: 2008-10-7 18:57 3062

[旧帖] [求助]请高手看看这两段代码! 0.00雪花

2008-10-7 18:57
3062
请那位高手,帮我看看下面这两段代码应该怎么解释:

mov     eax, edi
and     eax, 8000001Fh   ;感觉是在求 eax%32
jns     short 10001531
dec     eax                        ;下面这段就没搞懂了,是不是如果是负数走这里,但走这里干嘛呢
or      eax, 0FFFFFFE0h
inc     eax
10001531:
.........
..

第二段:
mov     eax, edi
cdq                     ; 书上说,这是把符号位给edx,edx只有一个符号位,
and     edx, 1Fh   ;edx只有一个符号位,为什么还要 &0x1F 呢,不是没意义了吗
add     eax, edx   ;如果edx只有一个eax的符号位,那怎么又要加eax,什么意义呢?
mov     edx, [esp+18h+arg_8]     ;这应该是函数的第二个参数
mov     esi, eax
sar     esi, 5
xor     ebp, ebp
mov     ebx, [edx+esi*4]

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
day
2
and edx, 1Fh ;edx只有一个符号位,为什么还要 &0x1F 呢,不是没意义了吗?


这之前 edx=0xfFFFFFFF
2008-10-8 10:41
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼猪蛮厉害的。。学习下。。
2008-10-8 12:53
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
下面的意思是负数对32取模...

比如-1%32 = -1这个样子
2008-10-8 13:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
多谢 随风之幻  
说的很有理,想想确实是。
第二段呢,有没有人指导一下啊
2008-10-8 19:02
0
游客
登录 | 注册 方可回帖
返回
//