能力值:
(RANK:410 )
|
-
-
2 楼
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data
szCaption db '提示',0
szString db '现在是%d年%d月%d日',0
szBuffer db 256 dup(0)
dYear dd 0
dMonth dd 0
dDay dd 0
systime SYSTEMTIME <0,0,0,0,0,0,0,0>
.code
start:
invoke GetLocalTime,offset systime
movzx eax,systime.wYear
mov dYear,eax
movzx eax,systime.wMonth
mov dMonth,eax
movzx eax,systime.wDay
mov dDay,eax
invoke wsprintf,addr szBuffer,addr szString,dYear,dMonth,dDay
invoke MessageBox,NULL,addr szBuffer,addr szCaption,MB_OK
invoke ExitProcess,NULL
ret
end start
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
太感谢了。我找了好久都找不到这个错误,文朋友也说程序看着没错。
不愧是版主,一双慧眼啊。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
地址没对齐。。。
|
能力值:
( LV12,RANK:300 )
|
-
-
5 楼
不是地址没对齐,而是把变量的“地址”和变量的“值”给搞错了。
对于wsprintf函数,%d,后面带的应该是这个(这些)数字的值,而不是指向这个(这些)数字的地址,这就是小虾版主指出的问题。
当然还有最后要ExitProcess,并加个ret返回。
|