[H8-ML(1094)] Re: BRAの"cc:0000" と"条件:True" は、何を指してるんでしょうか?
From: 廣田 正孝 <mhirota@xxxxxxxxxxxxx>
Date: 2001年04月13日(金)21時01分06秒
後藤さん、こんにちは。

> 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
******************************************************************************/
スレッド概略
[1083(R)](起点)
 └[1092(U)]
   └[表示中]
     └[1095(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]