21,459
社区成员
发帖
与我相关
我的任务
分享
.686
.model flat, stdcall
option casemap: none
include d:\masm32\include\windows.inc
include d:\masm32\include\kernel32.inc
include d:\masm32\include\user32.inc
includelib d:\masm32\lib\kernel32.lib
includelib d:\masm32\lib\user32.lib
.data
outi dword 0
consoleInfo CONSOLE_SCREEN_BUFFER_INFO<>
STD_OUTPUT_HANDLE = -11
attribute dd 0
xy COORD <0, 0>
ll dword 1
nb dword 0
.code
main:
invoke GetStdHandle, STD_OUTPUT_HANDLE
MOV outi,eax
invoke GetConsoleScreenBufferInfo,outi,addr consoleInfo
movzx eax, consoleInfo.srWindow.Right
movzx ecx, consoleInfo.srWindow.Bottom
movzx edx, consoleInfo.srWindow.Left
movzx ebx, consoleInfo.srWindow.Top
inc eax
inc ecx
sub eax, edx
sub ecx, ebx
mul ecx
mov ll, eax
mov xy.x, dx
mov xy.y, bx
mov ecx, eax
shl eax, 1
push ebp
mov ebp, esp
sub esp, eax
mov edi, esp
mov attribute, edi
cld
mov ax, FOREGROUND_GREEN or FOREGROUND_RED or FOREGROUND_INTENSITY or BACKGROUND_BLUE
rep stosw
invoke WriteConsoleOutputAttribute, outi, attribute, ll, dword ptr xy, addr nb
leave
invoke ExitProcess, 0
end main
.686
.model flat, stdcall
option casemap: none
include d:\masm32\include\windows.inc
include d:\masm32\include\kernel32.inc
include d:\masm32\include\user32.inc
includelib d:\masm32\lib\kernel32.lib
includelib d:\masm32\lib\user32.lib
.data
outi dword 0
consoleInfo CONSOLE_SCREEN_BUFFER_INFO<>
STD_OUTPUT_HANDLE = -11
attribute dd 0
xy COORD <0, 0>
ll dword 1
nb dword 0
.code
main:
invoke GetStdHandle, STD_OUTPUT_HANDLE
MOV outi,eax
invoke GetConsoleScreenBufferInfo,outi,addr consoleInfo
movzx eax, consoleInfo.srWindow.Right
movzx ecx, consoleInfo.srWindow.Bottom
movzx edx, consoleInfo.srWindow.Left
movzx ebx, consoleInfo.srWindow.Top
inc eax
inc ecx
sub eax, edx
sub ecx, ebx
mul ecx
mov ll, eax
mov xy.x, dx
mov xy.y, bx
mov ecx, eax
shl eax, 1
push ebp
mov ebp, esp
sub esp, eax
mov edi, esp
mov attribute, edi
cld
mov ax, FOREGROUND_GREEN or FOREGROUND_RED or FOREGROUND_INTENSITY or BACKGROUND_BLUE
rep stosw
invoke WriteConsoleOutputAttribute, outi, attribute, ll, dword ptr xy, addr nb
leave
invoke ExitProcess, 0
end main