Microprocessor-8085-addressing-modes-and-interrupts
8085アドレス指定モードと割り込み
次に、8085マイクロプロセッサのアドレス指定モードについて説明します。
8085のアドレス指定モード
これらは、内容を変更せずに、あるレジスタから別のレジスタに、メモリからレジスタに、レジスタからメモリにデータを転送するために使用される命令です。 8085のアドレス指定モードは5つのグループに分類されます-
即時アドレス指定モード
このモードでは、8/16ビットのデータは命令自体のオペランドの1つとして指定されます。 *例: *MVI K、20F:20FがレジスタKにコピーされることを意味します。
レジスタアドレッシングモード
このモードでは、データはあるレジスタから別のレジスタにコピーされます。* 例: *MOV K、B:レジスタBのデータがレジスタKにコピーされることを意味します。
直接アドレス指定モード
このモードでは、データは指定されたアドレスからレジスタに直接コピーされます。* 例: *LDB 5000K:アドレス5000KのデータがレジスタBにコピーされることを意味します。
間接アドレス指定モード
このモードでは、データはレジスタが指すアドレスを使用して、あるレジスタから別のレジスタに転送されます。* 例: *MOV K、B:データは、レジスタが指すメモリアドレスからレジスタKに転送されます。
暗黙のアドレス指定モード
このモードはオペランドを必要としません。データはオペコード自体によって指定されます。* 例:* CMP。
8085での割り込み
割り込みとは、マイクロプロセッサにタスクの実行を要求するために外部デバイスによって生成される信号です。 5つの割り込み信号があります。 TRAP、RST 7.5、RST 6.5、RST 5.5、およびINTR。
割り込みは、パラメータに基づいて次のグループに分類されます-
- ベクトル割り込み-このタイプの割り込みでは、割り込みアドレスはプロセッサに認識されています。 例: RST7.5、RST6.5、RST5.5、TRAP。
- 非ベクトル割り込み-このタイプの割り込みでは、割り込みアドレスはプロセッサに認識されないため、割り込みアドレスをデバイスから外部に送信して割り込みを実行する必要があります。 例: INTR。
- マスク可能な割り込み-このタイプの割り込みでは、プログラムにいくつかの命令を書き込むことで割り込みを無効にできます。 例: RST7.5、RST6.5、RST5.5。
- マスク不能割り込み-このタイプの割り込みでは、プログラムにいくつかの命令を書き込んで割り込みを無効にすることはできません。 例: TRAP。
- ソフトウェア割り込み-このタイプの割り込みでは、プログラマーはプログラムに命令を追加して割り込みを実行する必要があります。 8085には8つのソフトウェア割り込みがあります。 RST0、RST1、RST2、RST3、RST4、RST5、RST6、およびRST7。
- ハードウェア割り込み-ハードウェア割り込みとして使用される8085には5つの割り込みピンがあります。 TRAP、RST7.5、RST6.5、RST5.5、INTA。
注-NTAは割り込みではなく、マイクロプロセッサが確認応答を送信するために使用します。 TRAPが最高の優先度を持ち、RST7.5などが続きます。
割り込みサービスルーチン(ISR)
実行時に対応する割り込みソースにサービスを提供する小さなプログラムまたはルーチンは、ISRと呼ばれます。
TRAP
これはマスク不能割り込みであり、すべての割り込みの中で最も高い優先度を持ちます。 デフォルトでは、承認されるまで有効になっています。 障害が発生した場合、ISRとして実行され、データがバックアップメモリに送信されます。 この割り込みは、制御をロケーション0024Hに転送します。
RST7.5
これはマスク可能な割り込みで、すべての割り込みの中で2番目に高い優先度を持っています。 この割り込みが実行されると、プロセッサはPCレジスタの内容をスタックに保存し、003CHアドレスに分岐します。
RST 6.5
これはマスク可能な割り込みで、すべての割り込みの中で3番目に高い優先度を持っています。 この割り込みが実行されると、プロセッサはPCレジスタの内容をスタックに保存し、0034Hアドレスに分岐します。
RST 5.5
マスク可能な割り込みです。 この割り込みが実行されると、プロセッサはPCレジスタの内容をスタックに保存し、002CHアドレスに分岐します。
INTR
これは、すべての割り込みの中で最も低い優先度を持つ、マスク可能な割り込みです。 マイクロプロセッサをリセットすることで無効にできます。
- INTR信号が高くなる*場合、次のイベントが発生する可能性があります-
- マイクロプロセッサは、各命令の実行中にINTR信号のステータスをチェックします。
- INTR信号がHighになると、マイクロプロセッサは現在の命令を完了し、アクティブLowの割り込み確認信号を送信します。
- 命令を受信すると、マイクロプロセッサはスタック上の次の命令のアドレスを保存し、受信した命令を実行します。