ASM 8086使用RTC

时间:2018-05-18 04:57:52

标签: assembly x86-16 real-time-clock

我在DOS框架的asm x8086上没有经验,而且我正在编写一个connect4游戏。我已经制作了所有代码,但它确实有效。我想实现一个"计时器"这样每个玩家有20秒的时间来决定他们的移动,如果这个时间发生,那么移动是由程序随机进行的。

我知道我必须使用RTC,但我不知道如何编程。我该怎么办?

感谢您的建议:D我需要尽快和我的大学一样。

2 个答案:

答案 0 :(得分:0)

BIOS设置18.18 Hz中断。我不知道DOSBox是否以这种方式设置它,但似乎很可能。您可以通过更改中断1Ch的中断向量来指向您的处理程序来挂钩。在更改向量之前,保存前一个向量,然后在处理程序的末尾跳转到它。一旦数到364,所需的20秒就过去了。

答案 1 :(得分:0)

还有几个选项,而不是挂钩定时器中断:

1)BIOS滴答计数器是BDA中40:6c的DWORD。您可以直接从等待循环中读取它,并等到它增加364。

2)Int 1Ah实现了一些你可能会觉得有用的计时器服务。