【お題】NEW演歌

マイコン勉強中の者です。

割り込みが発生するとあらかじめ決められたアドレスを参照する、というのは理解できました。
H8/3694の場合、リセット割り込みのベクタ番号は0で、ベクタアドレスは【H"0000~H"0001】と記載されています。

この【H"0000~H"0001】がよくわかりません。
このH0001またはH0001を参照するとリセット処理(パワーオンリセット?)のプログラムが書かれているんだと解釈しています。
では、H"0000を参照?それともH"0001を参照?どちら?と考えてしまいます。
恐らく私の考え方が間違っているのだと思うのですが・・・。

【H"0000~H"0001】の意味を御教授ください。
よろしく御願いいたします。

A 回答 (2件)

H8はよく分からないのですが、


調査してみたところ、H8の命令は2バイトを基本としているとありました。
http://wave.iobb.net/doc/h8/index.html#_Toc99442 …
つまり、命令の長さは2バイトあるので、ベクタも2バイト必要と言うことだと思います。

ですから、0x0000~0x0001両方を用いて、1つの命令を表していると言うことです。



すこし誤解があるかもしれませんので、老婆心ながら。

ベクタアドレスは、割込が入るとそのアドレスに飛んでくると言うのは良いと思います。
ただ、ここに割り込み処理そのものが書かれているわけではありません。
2バイトしかなかったら、1命令しか処理できませんからね。

たいていgoto命令を書き込み、gotoが示すアドレスへジャンプします。
ジャンプ先は、内蔵ROMにある割り込み処理の部分です。

リセットベクタなら、初期化ルーチンがジャンプ先ですね。
    • good
    • 0
この回答へのお礼

2バイトが基本なのですね。大変ありがとう御座います。
割り込みが入ったらここに飛んできて、さらに示されている処理の部分のアドレスに飛んでいく、
勉強になりました。

大変ありがとうございます。

お礼日時:2011/04/24 08:58

わたしもH8のアセンブラ&ハードウェアを知らないのですが、Z80と同じだとすると、


リセット0命令を受け取ったCPUは、0~1番地の数値を読み、そこに書かれている2バイトのアドレスにジャンプします。
たとえば
アドレス0000:12
アドレス0001:34
と書かれていたなら、リセット0では、1234番地にジャンプします。(ほんとはZ80ではアドレスは逆順に書くので3412番地になりますが。)
    • good
    • 0
この回答へのお礼

わかりやすい説明をありがとうございます。
2つのアドレスで1つのアドレスデータが成り立っているわけですね。
助かりました。

お礼日時:2011/04/24 09:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報