• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ベクタアドレスとは?)

ベクタアドレスとは?

このQ&Aのポイント
  • ベクタアドレスとは、割り込みが発生した際に参照される事前に決められたアドレスのことです。
  • H8/3694マイコンの場合、リセット割り込みのベクタ番号は0で、ベクタアドレスはH"0000~H"0001とされています。
  • H"0000を参照するか、それともH"0001を参照するかは、リセット処理(パワーオンリセット)のプログラムによって異なります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

H8はよく分からないのですが、 調査してみたところ、H8の命令は2バイトを基本としているとありました。 http://wave.iobb.net/doc/h8/index.html#_Toc99442952 つまり、命令の長さは2バイトあるので、ベクタも2バイト必要と言うことだと思います。 ですから、0x0000~0x0001両方を用いて、1つの命令を表していると言うことです。 すこし誤解があるかもしれませんので、老婆心ながら。 ベクタアドレスは、割込が入るとそのアドレスに飛んでくると言うのは良いと思います。 ただ、ここに割り込み処理そのものが書かれているわけではありません。 2バイトしかなかったら、1命令しか処理できませんからね。 たいていgoto命令を書き込み、gotoが示すアドレスへジャンプします。 ジャンプ先は、内蔵ROMにある割り込み処理の部分です。 リセットベクタなら、初期化ルーチンがジャンプ先ですね。

hide-study
質問者

お礼

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

その他の回答 (1)

  • foomufoomu
  • ベストアンサー率36% (1018/2761)
回答No.2

わたしもH8のアセンブラ&ハードウェアを知らないのですが、Z80と同じだとすると、 リセット0命令を受け取ったCPUは、0~1番地の数値を読み、そこに書かれている2バイトのアドレスにジャンプします。 たとえば アドレス0000:12 アドレス0001:34 と書かれていたなら、リセット0では、1234番地にジャンプします。(ほんとはZ80ではアドレスは逆順に書くので3412番地になりますが。)

hide-study
質問者

お礼

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