64位汇编语言windows编程A1010,A2034,A2013,MSB3721
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 MSB3721 命令“ml.exe /c /nologo /Zi /Fo"Debug\cool22.obj" /W3 /errorReport:prompt /TaD:\Irvine\Irvine\irvine\examples\Lib64\cool22.asm”已退出,返回代码为 1。 dog C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\BuildCustomizations\masm.targets 70
错误 A1010 unmatched block nesting : main dog D:\Irvine\Irvine\irvine\examples\Lib64\cool22.asm 63
。。。。。。
错误 A2034 must be in segment block : main dog D:\Irvine\Irvine\irvine\examples\Lib64\cool22.asm 35
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 A2013 .MODEL must precede this directive dog D:\Irvine\Irvine\irvine\examples\Lib64\cool22.asm 8
GetConsoleScreenBufferInfo Proto
GetStdHandle Proto
WriteConsoleOutputCharacter proto
SetConsoleCursorPosition proto
ExitProcess proto
WriteString proto
max = 100;最大单行字节数
.data
kong byte max dup (' ')
consoleInHandle qword ?
consoleOutHandle qword ?
nb qword ?
STD_OUTPUT_HANDLE equ -11
COORD STRUCT
X WORD ?
Y WORD ?
COORD ENDS
SMALL_RECT STRUCT
Left word ?
Top word ?
Right word ?
Bottom word ?
SMALL_RECT ends
CONSOLE_SCREEN_BUFFER_INFO STRUCT
dwsize COORD<>
dwCursorPosition COORD<>
wAttributes word ?
srWindow SMALL_RECT<>
dwMaximumWindowSize COORD <>
CONSOLE_SCREEN_BUFFER_INFO ENDS
.code
main proc
sub rsp,8
sub rsp,40
mov rcx,STD_OUTPUT_HANDLE
call GetStdHandle
mov consoleOutHandle,rax
mov rcx,consoleOutHandle
mov rdx,offset CONSOLE_SCREEN_BUFFER_INFO
CALL GetConsoleScreenBufferInfo
MOV RDI,OFFSET CONSOLE_SCREEN_BUFFER_INFO.dwCursorPosition
MOV RCX,QWORD PTR (COORD PTR [RDI]).Y
L2:
mov rcx,consoleOutHandle
mov rdx,offset kong
mov r8,qword ptr (COORD ptr [rdi]).X
mov (COORD ptr [rdi]).X,0
mov r9,rdi
mov qword ptr [rsp + 4 * sizeof qword],nb
call WriteConsoleOutputCharacter
dec (COORD PTR [RDI]).Y
loop L2
mov COORD.Y,0
mov rcx,consoleOutHandle
mov rdx,offset COORD
call SetConsoleCursorPosition
mov ecx,0
call ExitProcess
add rsp,40
main endp
end