【发布时间】:2015-10-06 14:04:54
【问题描述】:
在 C 中,我如何写入特定的内存位置,例如显存 b800, DOS (real DOS, MS DOS 6.22)
我知道 C 没有内置任何东西可以做到这一点,但可能有一些特定于平台的内容,例如DOS 特定的 API 函数可以。
一个小的演示程序会很棒。
我有 Turbo C(TCC.EXE - 不是 tiny c 编译器,Turbo C 编译器)
我知道 debug 可以做到(例如,我知道的一些小调试)-f b800:0 FA0 21 CE(将一些感叹号写入命令行)。但我想要一个 C 程序写入 b800:0
【问题讨论】:
-
投票结束的人能否说明原因?
-
@dawg DOS 表示分段
-
2015 年写信给
B800:0000h真是太酷了! -
我认为 DOS 应用程序的文本界面比当今的许多 GUI 应用程序更有用。一切都是“键盘优化”的,一切都精确地位于精确的字符位置,在任何显示器上看起来都一样。然而,使用 16 位段的大内存对象是地狱 :)
-
@Stas 更酷看看这个家伙在 2015 年对 qbasic 做了什么:youtube.com/watch?v=HQYsFshbkYw