【发布时间】:2021-02-02 19:22:14
【问题描述】:
所以,我遇到了一个问题,即在新行上打印变量的每个值,但打印格式是一行。我真的花了很多时间寻找解决方案。但是这个解决方案不起作用。我认为那是因为我是汇编程序的菜鸟。所以,我删除了我所有的失败......这是我的代码:
global main
extern printf
section .data
str: db "%i", 10, 0
count: dw 1
section .text
main:
start:
push dword [count]
push dword str
call printf
push dword [count]
push dword str
call printf
所以,现在在终端打印这个:
1
1
这样打印需要做什么:
1 1
请举例我的代码,我理解.... 请不要在互联网上给我发送类似问题的第一个链接,因为我试过这个。我真的不明白... 我如何插入具有不同字符的打印字符串,例如':','空格','/'和其他......? 谢谢你:)
【问题讨论】:
-
str定义中的10充当U+000A换行符,用作换行符。 -
@ecm 我知道。我尝试删除它,但在此 str 之后不打印
-
您可能需要刷新 C 库的缓冲区。
-
我更新了@ecm链接的问题的一些答案; Printf without newline in assembly 具有适用于 Linux 的 NASM 代码,因此即使在从格式字符串中删除换行符后,您也可以刷新缓冲区以查看 printf 输出。