0

アセンブリの私はアセンブリ言語を使用してプロジェクトを開始したいのですが、このプログラムは、Google の MS-DOS 環境で英語からトルコ語などの別の言語にキーボードを変更する必要があります。検索してもリンクが見つかりません。誰か助けてください。

質問を編集:

プロジェクトでは、入力キーボードの言語を変更する必要があります。このプロジェクトは、MS-DOS 6.22 プラットフォームでアセンブリによって作成する必要があります。組み立て初心者です。詳細を説明していただければ、アセンブリでフォントを定義する方法がわかりません。

/編集

4

2 に答える 2

0

MS-DOSには国際化がないと思います。トルコ語のキーボードが必要な場合は、トルコ語版のMS-DOSまたは実際のOSが必要です。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. テキストモードが設定されている場合、独自の ISR で int 10h をフックして、言語の 8x8 および 8x16 フォント (ディスプレイが VGA 以上の場合、EGA の場合は 8x8 および 8x14) をロードして有効にします。
  3. プログラムを DOS 常駐プログラムにします (DOS int 27h などを使用)。

int 10h、int 27h、および BIOS データ領域の説明については、Ralf Brown の割り込みリストを参照してください。ポート経由の割り込み処理とキーボード I/O については、他の場所を調べてください。

于 2012-08-18T14:55:13.200 に答える