読み方 : ちょくせつアドレスしてい
直接アドレス指定【direct addressing】絶対アドレス指定/absolute addressing
概要

CPUは機械語で記述された命令列をプログラムとして順次実行する。各命令は、操作の種類を示す「オペコード」(opcode)と、操作の対象やその所在を示す「オペランド」(operand)で構成される。メインメモリ上のデータを参照する命令では、オペランド部にアドレスを記述する。このアドレスの指定方法にはいくつかの方式があり、命令の種類やアーキテクチャによって対応する方式が異なる。
直接アドレス指定では、オペランドに記述された数値がそのまま、実際にデータを読み出すメモリ上の番地である有効アドレスとして解釈される。例えば、オペランドの値が「1000」であれば、CPUは追加の計算や間接参照を行わず、主記憶上の1000番地に直接アクセスしてデータを取得する。構造が単純で動作を理解しやすく、初期のコンピュータや小規模な組み込み制御装置などで用いられた。
他のアドレス指定方式では、何らかの基準となるアドレスがあり、そこからの相対的な位置関係をオペランドとして指定することで有効アドレスを決定する。このような間接的な指定を行うことで配置変更に対応できる柔軟性を持つが、直接アドレス指定にはその柔軟性がない。プログラムが読み込まれる位置が変わると命令中の絶対番地は有効でなくなるため、常にメモリ上の同じ位置にプログラムがロードされることが前提となる。
現代のオペレーティングシステム(OS)では仮想メモリ管理やアドレス空間のランダム化(ASLR)によって配置アドレスが動的に変化するため、直接アドレス指定が一般的なアプリケーション開発で用いられることはほとんどない。実際に使われるのは、起動直後のファームウェアや、組み込みシステムの内部で配置が完全に固定された小規模な制御プログラムなど、限定的な場面に留まる。
(2026.6.17更新)