首页
社区
课程
招聘
[求助]几行汇编代码,数据突变。不懂为什么会变
发表于: 2007-4-9 16:22 5460

[求助]几行汇编代码,数据突变。不懂为什么会变

2007-4-9 16:22
5460
00439C57  |> \8B8E 98000000 mov     ecx, [esi+98]
00439C5D  |.  8BC7          mov     eax, edi  //edi=d602
00439C5F  |.  69C0 E8030000 imul    eax, eax, 3E8//这是乘法吗?得到:343F7D0
00439C65  |.  99            cdq                                    //??
00439C66  |.  81F1 87000000 xor     ecx, 87                        //??
00439C6C  |.  F7F9          idiv    ecx                            //??
00439C6E  |.  8986 0C010000 mov     [esi+10C], eax //eax =C002

最后一行eax怎么变成了C002了呢?EAX在带问号的三行号被修改了吗??
麻烦指点一下!

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 238
活跃值: (326)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
2
imul   带符号乘
cdq    将 DWORD 扩展到 QUADWORD  edx:eax
xor    异或运算
idiv   带符号除  eax中是结果,edx中是余数
2007-4-9 17:03
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
cdq                                    //??
这一条没用是吧。我跟的时候发现只是修改了EDX中的值。
2007-4-9 22:11
0
雪    币: 238
活跃值: (326)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
4
所谓的扩展,就是将那个eax 扩展成 edx:eax 的结构,准备放结果,所以将 edx清零。
2007-4-9 23:21
0
雪    币: 193
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
cdq好像是将eax的最高位扩展到edx的所有位吧!
2007-4-11 09:35
0
游客
登录 | 注册 方可回帖
返回
//