日付(日、月、年)と時刻(時、分、秒)を表示する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ボックスで実行しているとのことでしたので、次のいずれかを使用できます。
DOS で多くのアセンブリ プログラミングを行う場合は、いくつかの割り込み参照の1 つにブックマークを付けておきます。