;MASMPlus 代码模板 - 控制台程序
.386
.model flat, stdcall
option casemap :none
include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc
include gdi32.inc
includelib gdi32.lib
includelib user32.lib
includelib kernel32.lib
includelib masm32.lib
include macro.asm
.data
lpMsg db "Hello World!",0
endl EQU<0dh,0ah>
message BYTE '.',0
messagesize=($-message)
DT_TIME=4000
.data?
consolehandle DWORD ?
dwBytesWrite DWORD ?
StartTime DWORD ?
.CODE
START:
INVOKE GetStdHandle,STD_OUTPUT_HANDLE
MOV consolehandle,eax
invoke SetConsoleTextAttribute,consolehandle,FOREGROUND_BLUE OR FOREGROUND_INTENSITY
invoke GetTickCount
mov StartTime,eax
@@:
invoke WriteConsole,consolehandle,addr message,sizeof message,addr dwBytesWrite,NULL
invoke Sleep ,100
invoke GetTickCount
sub eax,StartTime
CMP eax,DT_TIME ;这里比较,,,因为两个
JB short @b ;eax < dt_dt_time 执行 @B
@@:
invoke ExitProcess,0
end START