【发布时间】:2016-12-18 20:24:55
【问题描述】:
当我在 DOS 下写作时
tcc filename.c filename.exe
什么都没有发生。
#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
void StartVidScreen (void){ //320x200
}
asm{
将视频模式屏幕设置为 320 x 200
mov ah,0
mov al,13h
int 10h
我正在尝试将背景设置为白色,但它不起作用
mov ah,0ffh
mov al,' '
int 10h
}
void main(void)
{
StartVidScreen(); // Start Video Screen
}
【问题讨论】:
-
AFAIK 没有 BIOS 中断
10h函数0FFh。space参数怎么可能做到这一点? -
我正在尝试将背景设置为白色,无论屏幕是 320x200 还是 640x480 都没有关系,不管是白色还是 11111111b,我都是中断事件的新手,所以任何人都可以帮忙??
-
@sharbel in 320x200 256 color
0xFF不是“白色”。实际上在default DOS palette 它是黑色的。白色是默认 DOS 调色板中的15和31。但是那个int 10h调用无论如何看起来都是无效的,所以我认为它甚至不会将屏幕设置为FF。但我对问题的第一部分更加困惑。什么是“什么都没有发生”,你能展示一下终端窗口的样子吗?并使用DIR检查当前目录中的文件。 -
DESQView/TopView 是窗口环境,稍早于微软使用您可能听说过或未听说过的小软件进入该领域。所以不是模拟器或显卡。很可能它在没有安装此软件的 PC 上什么都不做,更可能的是模拟器不会费心实现对它的支持。
-
在调试此类问题时,与其使用白底白字的空格,不如使用更有趣的东西:
mov ah,012h mov al,'x'