アドレッシングモード
DEC PDP-10 などは、レジスタがメモリの先頭アドレス部分(0番地付近)を使って実現されていた(つまり、レジスタがメモリ空間にマップされていた)。これを活用すると、小さなループを構成する命令(機械語)をレジスタに並べておくと、高速にループを実行することができた。
後のPDP-11シリーズではレジスタを入出力エリアにマッピングしていたが、これは遠隔診断を意図したものである。
命令内でアドレスをそのまま指定する。例えば、ロード命令で参照するメモリアドレスを直接指定する。この場合、命令がかなり長くなる。CISCでは命令が可変長なので、このようなアドレッシングモードを持つことが多い。x86にもある。RISCではアドレスの上位半分だけをレジスタに格納する命令を持つことがある。その命令に続いて、OR命令でアドレスの下位半分をイミディエート値で指定し、上位半分とOR演算で組合わせて、アドレスをレジスタに格納する。そうしてアドレス全体をレジスタに格納してから「レジスタ間接」または「ベース+オフセット」のアドレッシングモードでそのアドレスにアクセスする。
本項で述べている各アドレッシングモードで、オプションのビットを設定することで間接アドレッシングとなるアーキテクチャもある。すなわち、それぞれの解説で実効アドレスとされているアドレス位置に真の実効アドレスが格納されているというアドレッシングモードである。間接アドレッシングは命令またはデータに使える。ポインタまたは参照の実装を容易にする効果がある。PDP-8などの初期のミニコンピュータでは、レジスタが少なくアドレス範囲も小さかった。そのため、大きなメモリを参照する唯一の手段がメモリ間接アドレッシングだった。
ベースレジスタにインデックスレジスタの値を加算した値がアクセスすべきメモリアドレスとなる。インデックスレジスタの値は加算する前に2倍、4倍、8倍とスケーリングすることができる。これは例えば 32ビットのデータの配列のインデックスをインデックスレジスタに保持している場合に、4倍にスケールアップすることで配列先頭からのオフセット(アドレスの差分)に変換されるような場合に使われる。