我有一个显示日期(日,月,年)和时间(小时,分钟,秒)的ASM脚本。在已打印的值上打印ASM
这将在DOS框上打印当前日期时间。 事情是静态的。我想要做的就是让它变成动态的,这意味着我必须在当前值在屏幕上的确切位置写入新值。你如何在ASM中做到这一点?
我根本没有任何线索,谷歌也不是我的朋友。
我有一个显示日期(日,月,年)和时间(小时,分钟,秒)的ASM脚本。在已打印的值上打印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转义序列。在显示新时间之前,您可以使用各种cursor commands将光标置于时钟的开始位置。
这不是一个真正的语言特定问题,而更像是一个特定于平台的问题。你说你在DOS窗口运行,因此你可以使用下列操作之一:
如果你打算做在DOS多汇编编程,我会保持一个书签的severalinterruptreferencesone。
所以你想在屏幕上的某个地方放置一个驻留时钟,该时钟在后台运行,并显示当前时间? – 2009-01-07 02:24:27
Kindof。我使用的是WinASM编辑器,创建了一个新的DOS项目,并使ASM代码显示所描述的时间,现在我想要的是看到秒钟已经消失,分钟到达下一个时间,几小时等等,一切都必须是正确和动态的。 – Vordreller 2009-01-07 07:45:31