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