【发布时间】:2021-06-24 05:52:54
【问题描述】:
我正在使用图形模式 (AL=12h),我想画一些线,然后清理屏幕并再次画一些线。
mov ah,06
mov al,00
mov bh,07
mov ch,00
mov cl,00
mov dh,24
mov dl,79
int 10h
我使用了上面的代码,但它停在int 10h。
我想做这样的事情:
draw_vrt 320,0
draw_hrz 0,240
mov ah,06
mov al,00
mov bh,07
mov ch,00
mov cl,00
mov dh,24
mov dl,79
int 10h
draw_vrt 320,0
draw_hrz 0,240
【问题讨论】:
-
通过设置videomode可以清空整个屏幕。 Int 10/AH=06h 向上滚动 AL 文本行(如果 AL=0,则为 30)。我在 DosBox 中尝试过它并没有出乎意料地停止。更具体。
-
问题是它没有进入代码末尾的draw_vrt 320,0 draw_hrz 0,240行,为什么
-
在 TurboDebugger 中调用
int 10h似乎没问题。这可能是您的模拟器中的错误。顺便说一句,您知道视频模式 12h 有 30 行而不是 25 行吗? -
阅读手册我们看到emu8086只支持视频模式0、3和19。您的模式 12h 不在其中!尽管如此,我还是尝试了它,是的,它产生了某种 80x60(字符)屏幕,根本不起作用。已经说过很多次了:“emu8086 是坏软件”。