0

我正在尝试使用 M/Tasm 语法设计一个组装秒表程序作为我自己的个人项目,它首先显示系统时间并打印它,然后再充当秒表,(从 00:00:00 开始)。如果用户在运行时按下“s”,程序将显示自秒表启动以来传递的 hh:mm:ss,然后显示结果。我已经成功地设计了代码来获取系统时间、显示它并执行正确的秒表。问题是我无法在运行时停止秒表,然后显示在 hh:mm:ss 中传递的时间。有任何想法的人吗?我不能在这里粘贴我的代码,否则我的代码将被其他人使用,这是一个很长的代码,请理解,我有我的理由:)

谢谢.. 只是寻求想法,而不是代码:)

4

1 回答 1

0

很遗憾你不能发布你的代码,但我认为你正在使用某种循环来更新秒表,因此有一些类似的代码;

loop:
"update stopwatch"
JMP loop

以及按下“s”时要退出循环的内容。如果是这种情况,您可以查询键盘状态以查看是否按下了键。

loop:
"update stopwatch"
MOV AH, 0x01
INT 0x16
JZ loop     ; ZF is set if there is no key in buffer
MOV AH, 0x00
INT 0x16    ; Get ASCII code from buffer
CMP AL, "s"
JNE loop

可能不是最优雅的方式,但它应该工作。

我希望这回答了你的问题。

于 2013-09-14T02:45:32.137 回答