アドレッシングモード
ベースレジスタの内容が実効アドレスだが、実効アドレスを求めた後、ベースレジスタをそのデータのサイズだけインクリメントする。例えば32ビットのロード命令なら、ベースレジスタに4を加える。アセンブリ言語では (A7)+ などと表記される。ループで配列の各要素を走査する場合などに使用する。
高水準言語では、関数は副作用がない方が理解しやすく好ましいとされることが多い。このアドレッシングモードはベースレジスタが更新されるという副作用がある。例えばこのアドレッシングモードを使った命令でページフォールトなどが発生した場合、ベースレジスタの内容が命令実行前に戻っていないと正しく復帰できない。MC68000にはそのような問題があり、MC68010で対処された。DEC VAX では最大6オペランドで自動インクリメントが可能で、命令自体が最大50バイトにもなるため、命令とデータの両方で同時にページフォールトとなる可能性があった。
Data General Nova、MC6800ファミリ、MOS 6502 ファミリなどは内蔵レジスタ数が非常に少ないアーキテクチャである。そのため、多くの算術命令をメモリ上の値に対して行う。普通にアドレスを指定すると16ビット必要とし、コードの中でアドレス指定に要するメモリ量がかなり大きくなる。
そのため、プロセッサ設計者は「ゼロページ」アドレッシングと呼ばれる緩和手段を実装した。メモリ空間の先頭256バイト($0000 - $00FF; これがすなわちページ "0" である)を1バイトで指定できるアドレッシングモードを用意したのである。インデックス付きもある。これによって命令長が1バイト短縮され、クロックサイクルも1サイクル短縮される。結果としてゼロページはレジスタファイルのような使い方をされた。
6502を発展させた WDC 65816 や MOS 65CE02(英語版)、MC6809などでゼロページ・アドレッシングが強化され、「ダイレクトページ」アドレッシングとなった。これは、256バイトのゼロページの開始アドレスを専用レジスタで自由に設定できるようにしたもので、それによって複数のソフトウェアがダイレクトページを切り換えて使えるようになった。
PDP-8などの初期のミニコンピュータでは、特別なメモリアドレスがいくつかあり、そこにメモリ間接でアクセスすると、メモリの内容をアクセス後に自動インクリメントしたり、自動デクリメントしたりする(アドレスによって異なる)。これを使うとレジスタを使わずにループを実行することが容易になる。
ベースレジスタとインデックスレジスタを指定し、それぞれの内容を加算した値を実効アドレスとするアドレッシングモード。ベースレジスタは配列などの先頭アドレス、インデックスレジスタは特定の配列要素を指す。加算する前にインデックスレジスタの内容をスケーリングし、配列の添え字の値そのものをインデックスレジスタに格納しておき、スケーリングでメモリ上のオフセットに変換するアーキテクチャもある。