【发布时间】:2017-08-28 21:19:19
【问题描述】:
我目前正在编写一个汇编程序,但我需要让程序每隔一段时间等待一次。
所以,我一直在使用 int 15h/ah = 86h,但由于某种原因,DosBox 给我带来了困难,程序要么与像素(奇怪的颜色)混淆,要么在更糟的情况下;崩溃。
有人可以帮帮我吗?
【问题讨论】:
-
您是否在延迟之前保留寄存器并在延迟之后立即恢复它们?
-
也许Ralph Brown's interrupt list 可以帮助您解决这个问题。
-
我相信这个功能在 DOSBox 中是有问题的。
-
我无法在 DOSBox 0.74(Windows 64 位)上重现任何奇怪的行为。乍一看,源代码似乎也不错(IRQ 8 不能被阻碍,RTC 时间必须是默认的)你能更具体地说明问题的性质吗?我无法想象等待函数如何驱动程序“与像素混淆”或崩溃。
-
@MargaretBloom:stackoverflow.com/q/27877996/3512216 中的程序是否在 DOSBox 中完成?一段时间后我的 DOSBox 挂起,并在状态窗口中显示很多消息,例如“Illegal read from 20202000, CS:IP f000:11c4”。
标签: assembly wait interrupt dos dosbox