1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> ホームオーディオ >> アンプ&プリアンプ

8086 マイクロプロセッサの入出力に int 21h をどのように使用できるかを説明してください。

INT 21h 割り込みは、MS-DOS オペレーティング システムでさまざまな入出力 (I/O) 操作を実行するために使用されるソフトウェア割り込みです。プログラムが INT 21h 割り込みを発行すると、マイクロプロセッサは MS-DOS I/O ハンドラ コードが配置されている特定のメモリ位置にジャンプします。次に、このコードは要求された I/O 操作を実行します。

以下は、INT 21h 割り込みを使用してキーボードから文字を読み取る方法の例です。

1. プログラムは、AH レジスタに値 1 をロードして、キーボードから文字を読み取りたいことを示します。

2. プログラムは INT 21h 割り込みを発行します。

3. マイクロプロセッサは MS-DOS I/O ハンドラ コードにジャンプします。

4. I/O ハンドラー コードは、キーボード バッファーに使用可能な文字があるかどうかをチェックします。

5. 使用可能な文字がある場合、I/O ハンドラ コードはバッファから文字を読み取り、AL レジスタに格納します。

6. 使用可能な文字がない場合、I/O ハンドラー コードはキャリー フラグ (CF) を 1 に設定して、この状態を示します。

7. プログラムはキャリー フラグをチェックして、文字が正常に読み取られたかどうかを判断します。

8. キャリー フラグが 0 の場合、プログラムは AL レジスタから文字を取得します。

この例のアセンブリ コードは次のとおりです。

「」

mov ああ、1; AH =1 キーボードから文字を読み取る

int 21h; I/O 操作を実行するための 21h の割り込み

jc ノーチャー;キャリーフラグが設定されている場合にジャンプします(使用可能なキャラクターがありません)

モブ ch、アル; ALレジスタから文字を取得します。

「」

この例は、画面への文字の書き込み、ファイルの読み取り、ファイルへの書き込みなど、他の I/O 操作を実行するように変更できます。各 I/O 操作は、INT 21h 割り込みを発行する前に AH レジスタにロードされる固有の機能コードによって識別されます。