後藤さん、こんにちは。 > LABEL1: > LCD.B #1,CCR <−LDC.B ね。 > BRA LABEL1 > これでも無限ループって事ですね。 そうですね。 > LABEL1: > LCD.B #0,CCR > BRN LABEL1 > の場合、BRNのccは"0001"で条件は"False"ですよね。 全ての場合に於いて「cc」のビットパターンとCCRのビットパターンを 比較する事はありません。ビットパターンを比較して分岐条件を求める と言う考えを捨ててください。 これですっきりするはずです。 舘野さんが言っている様にこれは命令の一部です。比較パターンデータ ではありません。 > 気がするんですけど、どこの解釈がまちがってるんでしょう? 間違っているところは 1:「条件付き分岐命令の下位ニブル(cc)をCCRとの比較用ビットパターン だと思っている。」 この考えを捨てない限り先には進めないですね。 2:「BRA,BRN命令は実際は無条件分岐命令だと言うことを理解していない。」 の2点です。 > ■BRNでの質問と重複するんですが、 > ご教授して頂いた内容を、 > ”CCRをccでビットマスクして条件と比較する”と解釈すると、 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ↑このように解釈してはいけません。 私が、書いた内容の何処にも「ccとCCRを比較する」なんてかいてある ところは無いです。「ccはCCRのどのビットを分岐条件にするのかを示している」 と書いたはずです。 また、マニュアルの何処にもccとCCRを比較するなんて書いてありません。 「ccとCCRを比較する」≠「ccはCCRのどのビットを分岐条件にするのかを示している」 です。 > ううん分からん(~_~;) ccとCCRを比較するという考えを捨てれば全て理解できると思いますよ。 その考えを捨てない限り「解らん解らんスパイラル」に落ち込みます。 マイコンを離れて一般的な生活から考えてみましょう。 後藤さんが紙に書かれた指示書を見ながら道を歩いています。 その紙には「信号が赤なら止まれ」とあります。 しばらく歩くと前の信号が 赤になりました。後藤さんは指示書に従って止まりますね。 この信号は色が赤色になったのであって、信号機に「赤」と言う文字が出るわけ ではありません。 後藤さんは止まらずに「赤という文字が出なかったから進んでもいいんだ」とは 判断しないはずです。 マイコンに戻ると ccは紙に書かれた「赤なら止まれ」であり、「信号機の色」に相当するのがCCRの ビットなのです。 > お手数でしょうが、ひとつよろしくお願いします。 後藤さんが嫌でなければ、幾らでもお付き合いします。 では。 -- /****************************************************************************** Name: 廣田 正孝 "Masataka Hirota" E-mail address: mhirota@xxxxxxxxxxxxx GCD03040@xxxxxxxxxxx ******************************************************************************/