Assembly 使用RTC的ASM 8086

Assembly 使用RTC的ASM 8086,assembly,x86-16,real-time-clock,Assembly,X86 16,Real Time Clock,我对asm x8086 for DOSBox不是很有经验,我正在编写一个connect4游戏。我已经完成了所有的代码,并且可以正常工作。我想实现一个“计时器”,这样每个玩家有20秒的时间来决定他们的移动,如果这个时间发生了,那么移动是由程序随机进行的 我知道我必须使用RTC,但我不知道如何编程。我怎么做 感谢您的建议:D我需要它,因为它是为我的大学尽快。BIOS设置了一个18.18赫兹的中断。我不知道DOSBox是否是这样设置的,但似乎有可能。您可以通过更改中断1Ch的中断向量以指向您的处理程序

我对asm x8086 for DOSBox不是很有经验,我正在编写一个connect4游戏。我已经完成了所有的代码,并且可以正常工作。我想实现一个“计时器”,这样每个玩家有20秒的时间来决定他们的移动,如果这个时间发生了,那么移动是由程序随机进行的

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


感谢您的建议:D我需要它,因为它是为我的大学尽快。

BIOS设置了一个18.18赫兹的中断。我不知道DOSBox是否是这样设置的,但似乎有可能。您可以通过更改中断1Ch的中断向量以指向您的处理程序来钩住它。在更改向量之前,保存上一个向量,然后在处理程序末尾跳转到它。当您数到364时,所需的20秒已经过去。

更多选项,而不是挂接计时器中断:

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

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

和。PIT听起来是一个更好的选择,用于唤醒用户并告诉用户他们的时间已过。如果要更新时钟,请使用RTC生成计时器中断。