使用int 21 ah = 01h时如何设置计时器

时间:2014-10-23 07:49:35

标签: assembly x86-16

基本上,我正在尝试制作一个简单的问答游戏,一旦提示问题,我需要为用户输入9秒计时器输入他们的答案,否则他们将失去游戏。我对汇编语言仍然很新,并希望寻求你们的帮助。

我尝试过使用:

mov ah,1h
int 21h

获取用户字符输入,基本上是a,b,c或d。

我还制作了一个循环9秒计时器,但我真的不知道把它放在哪里,因为我不能把它放在mov ah,1h之上或之下,因为它会没有任何意义。

1 个答案:

答案 0 :(得分:0)

您正在使用DOS或DOS模拟器进行测验 - 否则“int 21h”指令没有任何意义。

据我所知,DOS中没有允许等待给定时间输入的功能;所有功能都会无休止地等待。

您可以使用中断“int 16h”的BIOS功能AH = 0和AH = 1来查询键盘(AH = 1将检查是否按下了一个键,AH = 0将读取该键本身)。您可以使用中断“int 1Ah”的BIOS功能AH = 1来查询时间。

大多数DOS和BIOS中断都在Ralph Brown的中断列表中有详细记录:

http://www.ctyme.com/intr/int.htm