Index register とは

コンピュータのCPU内のインデックスレジスタは、通常はベクトル/アレイ演算を行うために、プログラムの実行中にオペランドアドレスを変更するために使用されるプロセッサレジスタである。
インデックスレジスタの内容は、実際のデータ(オペランド)の「実効」アドレスを形成するために即値アドレス(命令自体の一部であるもの)に加算される(場合によっては減算される)。通常、インデックスレジスタをテストするための特別な命令が用意されています。テストが失敗した場合は、インデックスレジスタを即時定数および分岐(通常はループの開始)に増分します。命令セットによっては、複数のインデックスレジスタを使用することができます。その場合、追加の命令フィールドは、どのインデックスレジスタを使用するかを指定する。通常、複数の索引レジスタを指定するように指示するプロセッサーは、内容を一緒に追加しますが、IBMは、内容が一緒になっている、または一緒になっていた一連のコンピューターを持っていました。
間接アドレシングのない初期のコンピュータでは、いくつかの追加のプログラムステップを必要とする命令アドレスを変更することによってアレイ操作を実行しなければならず、コンピュータのメモリを使い果たしてしまいました。 20年後の初期のマイクロコンピュータ)。