インデックスアドレス指定 【indexed addressing】 指標アドレス指定
概要
インデックスアドレス指定(indexed addressing)とは、CPUが命令を実行する際に処理対象となるデータの所在を指定するアドレス指定方式の一つで、命令のアドレス部の値にインデックスレジスタ(指標レジスタ)の値を加えたものをデータの存在するアドレスとする方式。アドレス部の値とレジスタの値を足し合わせる「修飾アドレス指定」の一種。CPUは機械語で記述された命令列をプログラムとして実行するが、命令の中にはメモリ上の特定の位置の内容を読み込んで処理するものがある。その場合、命令のオペランド部(アドレス部)でデータの存在するメモリアドレスを記述するが、その指定方式にはいくつかの種類があり、命令によって対応している方式が異なる。
インデックスアドレス指定はデータを取得する実際のメモリアドレス(有効アドレス)として、CPU内部の高速な記憶装置(レジスタ)の一種である「インデックスレジスタ」に保存された値と命令のアドレス部の値を足し合わせたものを用いる。
配列など連続したデータに繰り返し同じ処理を適用する場合などに用いる方式で、インデックスレジスタに先頭から何番目の要素を処理しているかを表す値を保持しておく。繰り返しのたびにこれを変化させていくことで、同じ命令で次々に異なる要素を処理することができる。
(2024.4.5更新)