首页
社区
课程
招聘
[旧帖] [求助]MUL指令为什么有两个操作数? 0.00雪花
发表于: 2009-5-9 13:11 5384

[旧帖] [求助]MUL指令为什么有两个操作数? 0.00雪花

2009-5-9 13:11
5384
lkd> uf kernel32!GetTickCount
kernel32!GetTickCount:
7c80932e ba0000fe7f      mov     edx,offset SharedUserData (7ffe0000)
7c809333 8b02            mov     eax,dword ptr [edx]
7c809335 f76204          mul     eax,dword ptr [edx+4]
7c809338 0facd018        shrd    eax,edx,18h
7c80933c c3              ret

里面的MUL指令为什么两个操作数!

请高手把这段代码解释一下,谢谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 452
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
我晕,还是买本 ASm 的书看看吧!
2009-5-9 13:18
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
书上写就一个操作数啊
2009-5-9 13:26
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
肯定有原因,但我不知道!
关注一下,等下好来看!...
2009-5-9 13:31
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
是不是mul     eax,dword ptr [edx+4]

等价于mul     dword ptr [edx+4]
2009-5-9 13:32
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
乱估计下,是不是64位的啊???
2009-5-9 13:38
0
雪    币: 949
活跃值: (18)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
7
mul     eax,dword ptr [edx+4]
eax是寄存器
dword ptr [edx+4] 是寄存器相对寻址,结果是edx寄存器的偏移地址+4

dword ptr 是类型转换,将[edx+4]的值转换成dword类型。
2009-5-9 14:36
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
怎就没确切的回答呢?
2009-5-9 17:50
0
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
9
od里打开 看到那句代码是 MUL DWORD PTR DS:[EDX+4]
2009-5-9 17:57
0
游客
登录 | 注册 方可回帖
返回
//