Assembly ASM在所有就绪打印值上打印
我有一个显示日期(天、月、年)和时间(小时、分钟、秒)的ASM脚本 这将在DOS框上打印当前日期时间。 问题是,它是静态的。我想做的是使其动态化,这意味着我必须在屏幕上当前值所在的位置写入新值。在ASM中如何做到这一点Assembly ASM在所有就绪打印值上打印,assembly,x86,dos,Assembly,X86,Dos,我有一个显示日期(天、月、年)和时间(小时、分钟、秒)的ASM脚本 这将在DOS框上打印当前日期时间。 问题是,它是静态的。我想做的是使其动态化,这意味着我必须在屏幕上当前值所在的位置写入新值。在ASM中如何做到这一点 我一点线索也没有,谷歌也不是我的朋友。如果你的DOS框是COMMAND.COM或Windows 2000之前的CMD.EXE(较新的CMD.EXE不支持ANSI),那么它将支持ANSI转义序列。在显示新时间之前,您可以使用各种方法将光标定位在时钟的开头。在打印字符串之前,使用AS
我一点线索也没有,谷歌也不是我的朋友。如果你的DOS框是COMMAND.COM或Windows 2000之前的CMD.EXE(较新的CMD.EXE不支持ANSI),那么它将支持ANSI转义序列。在显示新时间之前,您可以使用各种方法将光标定位在时钟的开头。在打印字符串之前,使用ASM代码定位光标。例如:
MOV DX,1629H ; (LINE 16H, COL 29H)
MOV AH,2 ; Move cursor to DH,DL
INT 10H
; now print your string
这实际上不是一个特定于语言的问题,而是一个特定于平台的问题。您说您正在DOS盒上运行,因此可以使用以下选项之一:
如果你打算在DOS下进行大量汇编编程,我会保留一个书签。所以你想在屏幕上的某个地方放置一个常驻时钟,它在后台运行并显示当前时间?有点像。我正在使用WinASM编辑器,创建了一个新的DOS项目,并制作了ASM代码来显示所描述的时间,现在我想看到的是秒在滴答滴答地流逝,几分钟到下一个,几小时都是一样的,等等,一切都必须是正确的和动态的。别忘了将页码(几乎总是0)加载到BH中。