0

我在汇编中比较大我想使用汇编语言开始一个项目这个程序必须将我的键盘从英语更改为另一种语言,例如谷歌 MS-DOS 环境中的土耳其语我搜索并找不到任何链接,任何人都可以帮助我问候

编辑问题:

对于一个项目,我需要更改打字键盘语言。本项目必须在 MS-DOS 6.22 平台下用汇编语言编写。我是组装的初学者。如果您可以详细说明,我不知道如何在程序集中定义字体。

/编辑

4

2 回答 2

0

我不认为 MS-DOS 有任何国际化。如果你想要土耳其语键盘,你要么需要土耳其语版本的 MS-DOS,要么需要真正的操作系统。因为 DOS 上的字符串处理和通过 BIOS 非常有限,多字节字符需要为它们设计的程序。此外,因为 MS-DOS(和所有 DOS)通过 BIOS 完成大部分 IO,并且 BIOS 很可能不支持土耳其语字符(除非它是土耳其语 BIOS)。这就是为什么大多数现代操作系统完全绕过 BIOS 并使用自己的文本和键盘驱动程序。

于 2012-08-18T14:28:16.793 回答
0

这个问题太宽泛了。但是我可以给出一些关于如何为 DOS 实现键盘布局切换器之类的提示。

您将需要做 3 件事:

  1. 实现您自己的 IRQ1 (int 9) ISR 以接收键盘输入并手动将扫描代码和字符存储在 BIOS 数据区域中,并更新 BIOS 数据区域中的 alt、control 和 shift 键的状态。
  2. 将 int 10h 与您自己的 ISR 挂钩,以在设置文本模式时为您的语言加载和激活 8x8 和 8x16 字体(如果显示为 VGA 或更好,则为 8x8 和 8x14,如果是 EGA)。
  3. 使程序成为 DOS 驻留程序(例如使用 DOS int 27h)。

有关 int 10h、int 27h 和 BIOS 数据区的说明,请参见 Ralf Brown 的中断列表。通过端口查找中断处理和键盘 I/O 的其他位置。

于 2012-08-18T14:55:13.200 回答