当我单步执行代码以将这两行不同的行打印到控制台、cmd 中的不同行而不是同一行时,如何获取代码。
.586
.model flat, stdcall
GetStdHandle proto :dword
WriteConsoleA proto :dword, :dword, :dword, :dword, :dword
ExitProcess proto :dword
STD_OUTPUT_HANDLE equ -11
.data
Title db "Basic Calculator",0
Intruct1 db "please type your expresion",0
outputHandle DWORD ?
bytes_written dd ?
bytes_written2 dd ?
.code
main proc
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov outputHandle, eax
invoke WriteConsoleA, outputHandle, addr Title, 20, addr bytes_written, 0
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov outputHandle, eax
invoke WriteConsoleA, outputHandle, addr Intruct1, 45, addr bytes_written2, 0
invoke ExitProcess, 0
main endp
end
最佳答案
最快的方法是向每个字符串添加回车换行符。例如:
Title db "Basic Calculator",0x0d, 0x0a, 0
Intruct1 db "please type your expresion",0x0d, 0x0a,0
您可能还需要更新字符以将计数写入+2。不熟悉您正在进行的那些调用
调用。
Linux、OSX、BSD等只需要0x0a
。
关于winapi - 如何让这两行在 cmd 控制台中的不同行上打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36544044/