3-5 アドレッシング

アドレッシングとは命令の操作対象となるデータの位置(有効アドレス)を見つけることである。
以前、3-2 プロセッサ(CPU) – 基本情報辞書 (starfree.jp)の命令の処理の例で、命令の対象となるデータの位置を「有効アドレス」といった。

そもそも、命令とは命令部とオペラント部に分かれており、アドレッシングはオペラント部を参考にして行われる。

いくつかの種類がある。

  • 直接アドレズ指定方式
  • ベースアドレス指定方式
  • 自己相対アドレス指定方式
  • インデックスアドレス指定方式
  • 間接アドレス指定方式
  • 即値アドレス指定方式

直接アドレズ指定方式

オペラント部に指定されているアドレス定数を、そのまま有効アドレス(実行アドレス)とする。

ベースアドレス指定方式

オペラント部のアドレス定数+ベースレジスタの値を足して、有効アドレスとする。

ベースレジスタを使うことで動的再配置可能になる。

仕組みは、命令によってプログラムが主記憶にロードされ実行されていくが、その位置は毎度違うため、プログラムが主記憶から1度解放されて、再度そのプログラムを主記憶にロードしたとき、ベースレジスタの値が変化するだけで対応できる。(基準値がベースレジスタの値)

自己相対アドレス指定方式

プログラムカウンタの値+アドレス定数で有効アドレスを求める。
ベースアドレス指定方式と似ている。基準値がベースレジスタの値かプログラムカウンタかの違い。

インデックスアドレス指定方式

オペランド部にインデックスレジスタが入り、インデックスレジスタの値を加算することで、有効アドレスを求める

間接アドレス指定方式

間接アドレス指定方式とは、オペランド部に対象データの場所を示すメモリのアドレスが記載されている方式

即値アドレス指定方式

即値アドレス指定方式とは、オペランド部に対象となるデータそのものが入っている