[0499] アドレス指定方式

平成14年度春期 基本情報処理技術者試験より
命令のオペランド部において,プログラムカウンタの値を基準とし,その値からの変位で実効アドレスを指定する方式はどれか。
インデックスアドレス指定
絶対アドレス指定
相対アドレス指定 
ベースアドレス指定

正解

解説

 機械語の命令は,命令部とオペランド部から構成されています。オペランド部で主記憶装置上の番地やレジスタを指定し,命令部で,処理内容を指示する形式となっています。

 処理対象となる番地の指定方法には,いくつかの方法があります。まずは,各選択肢のアドレス指定方式について説明します。
■ 絶対アドレス指定方式(直接アドレス指定方式)

オペランド部で指定する番地が,そのまま目的の番地となる指定方式です。プログラム中で記述する番地を固定しなければならないので,マルチプログラミング環境では適さないアドレス指定方式といえます。


■ インデックスアドレス指定方式

汎用レジスタに格納された値と,オペランド部で指定した値の合計が目的の番地となる指定方式です。連続するアドレスに対してある命令を繰り返し実行する場合などに利用されます。


■ ベースアドレス指定方式

ベースレジスタに格納された値と,オペランド部で指定した値の合計が目的の番地となる指定方式です。ベースレジスタは,プログラムの先頭アドレスが格納されているレジスタです。オペランド部の番地は,プログラム先頭位置からの相対位置を指定することになるので,どの番地にプログラムをロードしても実行可能となります。この性質を,再配置可能といいます。


■ 相対アドレス指定方式

プログラムカウンタの値と,オペランド部で指定した値の合計が目的の番地となる指定方式です。プログラムカウンタは,次に実行する命令の番地を記憶しているレジスタです。ベースレジスタや汎用レジスタを持たないコンピュータで,再配置可能なプログラムを作成する場合に利用されます。


 問題文では,「プログラムカウンタの値を基準とし,その値からの変位で実効アドレスを指定する方式」が求められているので,ウの相対アドレス指定方式が正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題