include Irvine32.inc
.data
use byte ?,0
outi HANDLE 0
consoleInfo CONSOLE_SCREEN_BUFFER_INFO <>
STD_OUTPUT_HANDLE = -11
attribute label word
val1 byte 0
val2 byte 0
xy COORD <0,0>
nb dword 0
ll dword 1
.code
main proc
invoke Getstdhandle, STD_OUTPUT_HANDLE
MOV outi,eax
invoke GetConsoleScreenBufferInfo,outi,addr consoleInfo
mov ax,consoleInfo.dwSize.X
add ax,consoleInfo.srWindow.Right
mov xy.X,ax
mov ax,consoleInfo.dwSize.Y
add ax,consoleInfo.srWindow.Top
mov xy.Y,ax
mov dx,ax
movzx ecx,consoleInfo.srWindow.Right
movzx eax,consoleInfo.srWindow.Left
sub ecx,eax
L3:
push ecx
movzx ecx,consoleInfo.srWindow.Top
movzx eax,consoleInfo.srWindow.Bottom
sub ecx,eax
call Randomize
L1:
mov eax,0FFh
call RandomRange
inc eax
call WriteChar
mov eax,16d
call RandomRange
mov val1,al
shr al,1
jc L2
mov val1,4
L2:
push ecx
push edx
PUSH xy.X
dec xy.X
invoke WriteConsoleOutputAttribute, outi, addr attribute, ll, xy, addr nb
pop xy.X
pop edx
pop ecx
inc xy.X
loop L1
pop ecx
mov xy.X,ax
inc xy.Y
dec ecx
jne L3
exit
main endp
end main
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/252280.html
標籤:匯編語言
