【问题标题】:how can I get these two lines to print on different lines in the cmd console如何让这两行打印在 cmd 控制台的不同行上
【发布时间】:2016-08-01 08:10:32
【问题描述】:

当我单步执行代码以将这两条不同的行打印到控制台 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

【问题讨论】:

    标签: winapi assembly x86 nasm


    【解决方案1】:

    最快的方法是在每个字符串中添加回车换行符。例如:

    Title db "Basic Calculator",0x0d, 0x0a, 0
    Intruct1 db "please type your expresion",0x0d, 0x0a,0
    

    您可能还需要更新字符以将计数写入 +2。不熟悉您拨打的invoked 电话。

    Linux、OSX、BSD等只需要0x0a

    【讨论】:

      猜你喜欢
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 2018-05-02
      • 2011-02-23
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多