我有两行 C# 我想转换为程序集。我试图遵循这个答案(FILETIME 到 __int64)而没有得到令人满意的结果。
这是C#的两行
System.DateTime dt = System.DateTime.Now;
long x = dt.ToFileTime();
从另一个答案(上面链接)我得出结论,这应该是执行相同操作的汇编代码。
local fTime :FILETIME
local ticks :DWORD
invoke GetLocalTime,addr time
invoke SystemTimeToFileTime,addr time,addr fTime
xor eax,eax
xor ebx,ebx
mov eax,fTime.dwLowDateTime
mov ebx,fTime.dwHighDateTime
sal ebx,32
or ebx,eax
mov ticks,ebx
C# 的输出是1221229007
我的 asm 的输出是2882329052
C# 和程序集彼此在几秒钟内运行,所以差异不应该那么大。应该是?
我哪里错了?