後藤さん、こんにちは。
> 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
******************************************************************************/