首页
社区
课程
招聘
[求助] 如何将2个32位数据 放入64位数据中
2009-7-18 13:21 5158

[求助] 如何将2个32位数据 放入64位数据中

2009-7-18 13:21
5158
ft.dwHighDateTime 和 ft.dwLowDateTime 都是32位数据

qwResult 是一个 64位数据.
如何把 ft.dwHighDateTime 放到qwResult 的高32位,ft.dwLowDateTime 放入qwResult 的低32位呢?

这是C++ 的代码

  ULONGLONG qwResult;

   // Copy the time into a quadword.
   qwResult = (((ULONGLONG) ft.dwHighDateTime) << 32) + ft.dwLowDateTime;

这段代码如何用汇编 (masm32)来实现呢?

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (7)
雪    币: 962
活跃值: (1541)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
loqich 2009-7-18 14:19
2
0
masm32用不着转······
雪    币: 207
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
athlor 2009-7-18 22:04
3
0
给出代码看看
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
pengmo 2009-7-19 13:13
4
0
mov dword ptr qwResult,  ft.dwHighDateTime
mov dword ptr qwResult+4, ft.dwLowDateTime
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
Winker 8 2009-7-19 16:33
5
0
写个简单的代码,然后用OD载入就可以了吧?
雪    币: 207
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
athlor 2009-7-20 12:40
6
0
链接的时候,说这是非法的语句....
雪    币: 142
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tsts 2009-7-20 13:31
7
0
c++用结构体实现很方便

struct
{
long ft.dwHighDateTime ;
long ft.dwLowDateTime ;
}time;
ULONGLONG qwResult;
qwResult=&time;
一般都这么写,还有其他方法,例如数组也可以,但一般不用数组。
你写个程序od或者ida看看就可以了。
链接非法语句的话可以这样看看
push ebp
mov [ebp+qwResult],  ft.dwHighDateTime
mov [ebp+qwResult+4], ft.dwLowDateTime
pop ebp
qwResult就随便定义吧
雪    币: 207
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
athlor 2009-7-21 09:30
8
0
thx.  
游客
登录 | 注册 方可回帖
返回