みなさん始めまして。恩田です。 初歩的な質問で恐縮なのですが、H8S/2144のIRQ0割り込みを使用していて 疑問に思う点があります。 IRQ0割り込みは、エッジ/レベル検出回路→IRQ0Fレジスタ→AND(IRQ0Eでマスク) を経てIRQ0割り込み要求となるのですが、この構成だと、IRQ0Eをイネーブルにする以前でも IRQ0の入力があれば、IRQ0Fレジスタがセットされてしまいます。 そこで、IRQ0FレジスタをリセットすべくISRレジスタのIRQ0に該当するフラグをリセットしてみた のですが、IRQ0Eをイネーブにし、CCRの割り込みマスクフラグをリセットし割り込みを許可すると どうしても割り込みがかかってしまいます。(この時、ISRレジスタをリセットする以前にIRQ0の 入力を変化(立ち上がり)させ、その後Hレベルに固定しています。) IRQ0Fレジスタをリセットする方法が間違っているのでしょうか? すみませんが、ご教授の程よろしくお願いします。 プログラムの抜粋 DEFINE IER (H'FFFFC2) DEFINE ISCRH (H'FFFEEC) DEFINE ISCRL (H'FFFEED) DEFINE ISR (H'FFFEEB) ;IRQステータスレジスタ 省略 MOV.B #H'03,R0L ;IRQ0,IRQ1許可 MOV.L #IER,ER3 ;IER IRQイネーブルレジスタ MOV.B R0L,@ER3 MOV.B #H'00,R0L ; MOV.L #ISCRH,ER3 ;ISCRH IRQセンスコントロールレジスタ MOV.B R0L,@ER3 MOV.B #H'02,R0L ;Hエッジ MOV.L #ISCRL,ER3 ;ISCRL IRQセンスコントロールレジスタ MOV.B R0L,@ER3 省略 MOV.B #H'00,R0L ;0→COUNT MOV.L #ISR,ER3 MOV.B R0L,@ER3 ;0→ISR ANDC #H'7F,CCR ; LOOP: NOP BRA LOOP ----------------------------- 恩田紀雄 n.onda@xxxxxxxxxxxxxxxxxxx