我有一个显示日期(日、月、年)和时间(小时、分钟、秒)的 ASM 脚本。
这会在 DOS 框上打印当前日期时间。问题是,它是静态的。我想要做的是使其动态化,这意味着我必须将新值写入当前值在屏幕上的确切位置。你如何在 ASM 中做到这一点?
我根本没有任何线索,谷歌也不是我的朋友。
在打印字符串之前使用 ASM 代码定位光标。例如:
MOV DX,1629H ; (LINE 16H, COL 29H)
MOV AH,2 ; Move cursor to DH,DL
INT 10H
; now print your string
如果您的 DOS 框是 COMMAND.COM 或 Windows 2000 之前的 CMD.EXE(较新的 CMD.EXE 不提供 ANSI 支持),那么它将支持 ANSI 转义序列。在显示新时间之前,您可以使用各种光标命令将光标定位在时钟的开头。
这实际上不是特定于语言的问题,而更多的是特定于平台的问题。你说你在 DOS 机器上运行,所以你可以使用以下之一: