当前位置: 代码迷 >> 汇编语言 >> GETDATETIME调用失败,求相助
  详细解决方案

GETDATETIME调用失败,求相助

热度:169   发布时间:2016-05-02 04:36:19.0
GETDATETIME调用失败,求帮助
本帖最后由 projects12345 于 2014-05-05 06:15:37 编辑
程序如下:
TITLE Calculate Elapsed Time               (Timer.asm)
INCLUDE  Irvine32.inc
INCLUDELIB Irvine32.lib
INCLUDELIB user32.lib
INCLUDELIB kernel32.lib
INCLUDE Macros.inc
.DATA
SYSTIME SYSEMTIME <>
FLTIME FILETIME <>
STARTTIME QWORD ?
.CODE
MAIN PROC
INVOKE GETDATETIME,ADDR STARTTIME
EXIT
MAIN ENDP
GETDATETIME PROC,PSTARTTIME:PTR QWORD
LOCAL SYSTIME:SYSTEMTIME,FLTIME:FILETIME
INVOKE GETLOCALTIME,ADDR SYSTIME
INVOKE SYSTEMTIMETOFILETIME,ADDR SYSTIME,ADDR FLTIME
MOV ESI,PSTARTTIME
MOV EAX,FLTIME.LODATETIME
MOV DWORD PTR [ESI],EAX
MOV EAX,FLTIME.HIDATETIME
MOV DWORD PTR [ESI+4],EAX
RET
GETDATETIME ENDP
END MAIN
编译错误提示如下:

我想返回一个系统时间,这个程序错误出在哪,怎样修改呢?求高手帮忙
------解决方案--------------------
.data 里定义 SYSTIME 时后面的 SYSTEMTIME 类型说明拼写错误,漏了个字母 T。其次,.data 里定义了 SYSTIME 和 FLTIME 变量,后面在子程里又 LOCAL 定义了同样名字的,汇编好像不让这样做,这和些高级语言的做法有别。
  相关解决方案