【ハードウェア】メモリの中に「本当の番地」が書いてある!「間接アドレス指定」|情報処理問題1000本ノック
CPUのアドレス指定方式の中で、2段階のメモリ参照を行う特徴的な手法。オペランド部の番地を見に行くと、そこに「目的のデータが存在する真のアドレス」が格納されている「間接アドレス指定」を攻略しましょう。
1. 【 問題 】:ハードウェア(CPUの構造・アドレス指定方式)
【 問題 】 機械語命令のアドレス指定(修飾)方式に関する記述です。命令のオペランド部で指定されたメモリ番地に、目的のデータそのものではなく「目的データが格納されている別のメモリ番地(有効アドレス)」が保持されており、メモリを2回参照して目的のデータを取得する方式は、次のうちどれか。
(ア)直接アドレス指定
(イ)間接アドレス指定(Indirect Addressing Mode)
(ウ)即値アドレス指定(Immediate Addressing Mode)
(エ)レジスタアドレス指定
2. 正解:
正解:(イ)間接アドレス指定(Indirect Addressing Mode)
3. 解説:「『100番地を見ろ』➔ 行ってみると『本当は200番地だよ』と書いてある!」
間接アドレス指定方式は、オペランド部が指し示すメモリ領域に**「本当のデータが置かれているメモリアドレス(有効アドレス)」**が格納されている方式です。
目的のデータにたどり着くまでに**「メモリを合計2回読み出す(参照する)」**必要があるのが最大の特徴です。
| 方式名 | メモリ参照回数 | オペランド部(100番地)に格納されているもの |
|---|---|---|
| 直接アドレス指定 | 1回 | 目的のデータそのもの(例:数値データ「50」) |
| 間接アドレス指定 | 2回 | データが存在する本当の番地(例:「200番地」) |
1. 理解のコツ: 「宝探しのヒント」で例えてみましょう。
・直接アドレス指定:100番の箱を開けたら、そこに「宝物(データ)」が入っている。
・間接アドレス指定:100番の箱を開けたら「宝物は200番の箱にある」というメモ(アドレス)が入っており、200番の箱を開けて初めて「宝物(データ)」が手に入る。
2. 試験対策の視点: 基本情報技術者試験などの計算・図解問題で出題されます。
問題文に「指定されたメモリに有効アドレスが格納されている」「アドレスのアドレスを指す」「ポインタ参照」「メモリ参照が2回必要」といった文言が出たら、迷わず間接アドレス指定を選択しましょう!
4. まとめ
オペランド部が指すメモリ番地に「データそのもの」があれば直接アドレス指定、「データが置かれている別のメモリ番地」があれば間接アドレス指定(メモリ参照2回)です。この違いをセットで完璧にマスターしておきましょう!