アドレッシングモード
次の命令のアドレス(PCの内容)にオペランドとして指定したオフセット値を加えたものを実効PCアドレスとする。オフセットは負の場合もある。一般に分岐命令でよく見られる。条件分岐やループなどの制御構造は一般に比較的近いアドレスへの分岐を行うので、絶対アドレスを指定するよりも現在の命令から見た相対的な位置で十分である。実際のプログラムを調査したところ、条件分岐先の90%は8ビットから10ビットのオフセット値でカバーできるという。任意のアドレスに配置可能な位置独立コードでもPC相対のアドレッシングモードを多用する。なお、条件分岐命令の条件としては、ステータスレジスタ内のビットの状態を使う場合や、レジスタを1本(例えば、reg1=0 なら分岐)または2本(例えば reg1=reg2 なら分岐)指定する場合がある。
ある命令がアクセスするリソースが決まっているため、実効アドレスを明記せず暗黙のうちにアクセスする場合である。1970年代中ごろまでのコンピュータではよく見られた。古い典型的なコンピュータは演算対象となるレジスタが1つしかなく、それをアキュムレータと呼ぶ。アキュムレータ・マシンではほとんどの命令で暗黙のうちにアキュムレータを参照する。例えば、<a := b + c;> という処理は <load b; add c; store a;> という命令列になる。これらの命令はどれも暗黙のうちにアキュムレータにアクセスする。load 命令は b をアキュムレータにロードし、add 命令は c をアキュムレータに加算するといった具合である。store 命令はアキュムレータの内容を指定された場所に格納する。その後、複数の汎用レジスタを持つことが多くなり、算術演算の入力と出力をそれぞれ指定する必要が生じ、アドレッシングモードが複雑化していった。x86では乗除算命令などで暗黙のうちにALレジスタを使用する。
ベースレジスタの内容をデータのサイズだけデクリメントしてから、その内容を実効アドレスとする。ループで配列を後ろの方から走査する場合などに使用する。自動インクリメント付きレジスタ間接のアドレッシングモードと組合わせて、スタックを実装することもできる。
全部を使用した指定方法
オペランドとしてレジスタのみを指定する。場合によってはアドレッシングモードと見なされない。