廣田@本庄です。 後藤さんのもう一つのご質問に応えていませんでしたね。 Kohya Gotoh wrote: > > > ■"コピー"ってER1にコピーされるんじゃないんですか? H8が MOV.L @H'8000:16,ER1 を実行する時を考えてみましょう。 H8が MOV.L @H'8000:16 を解釈します。 「32ビットロングワードアクセスだな。」 「16ビット絶対アドレス指定か。 与えられた16ビットデータのMSBを符号拡張 して 24ビットのアドレス指定/出力レジスタに拡張されたアドレスデータを用意 しよう。」 (このアドレス指定/出力レジスタなるものはマニュアルには有りません。 架空のレジスタです。でも機構的には持っていると思います。) 「このアドレス指定/出力レジスタの値はH'FF8000になるね。」 ,ER1を解釈します。 「次は、,ER1か。 ER1にデータを入れるんだな。」 「アドレス指定/出力レジスタの値をアドレスバスに出力してっと。」 「制御線を出力して、アドレスバスの値が有効であることを周りに知らせてっと。」 「/RDを落として、FF8000番地のデータを読み込むよと知らせて。」 「そろそろデータがデータラインに乗ったかな?(WAITやその他の信号をチェック します。)/RDを上げよう。」 「入ってきたデータをER1に格納しよう。」 「一命令終わった、さて、次の命令はなに?」 このように MOV.L @H'8000:16,ER1 は、FF8000番地に入っているデータをER1に コピーするのです。ただ、マイコン関係ではコピーするという言葉は意識的に 使われない様です。だいたい「MOVEする」とか「LOADする。」「READする」「STOREす る。」なんて言い方が多いです。Windowsの「コピー」と同じです。WindowsではMOVEは 「移動する」って意味ですから混乱しちゃうかもしれません。Windowsでは移動すると データがもと有った場所には無くなってしまいますよね。 Windowsのコマンド的に命令を書いたら COPY.L @H'8000:16,ER1 となるのかな? 混乱しないように書いたつもりですが、不明点は遠慮なくどうぞ。 -- /****************************************************************************** Name: 廣田 正孝 "Masataka Hirota" E-mail address: mhirota@xxxxxxxxxxxxx ******************************************************************************/