我有一個顯示日期(日,月,年)和時間(小時,分鐘,秒)的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