アドレス指定方式(アドレシング)についての質問です。
タイトルの通り、インデックスアドレス指定方式とベースアドレス指定方式の違いを教えていただきたいです。
参考書などでは、
●インデックスアドレス指定方式
・命令の番地部とインデックスレジスタの値を加算した値を有効アドレスとする
・インデックスレジスタの内容を変えるだけで別なアドレスの内容が参照できる
●ベースアドレス指定方式
・命令の番地部が指定するアドレスに、ベースレジスタの内容を加算した値を有効アドレスとする
・ベースレジスタの値を変えるだけでプログラムが主記憶装置のどこからでも実行できる(再配置可能)
となっています。
有効アドレス=番地部のアドレス+レジスタの値
となるのが同じで、基準となる値がインデックスアドレス指定方式のほうでは命令の番地部であり、ベースアドレス指定方式のほうはベースレジスタの値、ということまではわかったのですが、この「基準」が違うことでどういう違いがあるのか、具体的にどういう場合にどちらの方式が使われるのかがわかりません。
ベースアドレス指定方式の「再配置可能」という部分もどういう仕組みなのか、よくわからないです。
ご回答、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
再配置可能には2つの意味があります。
1.(加工すれば)メモリーのどこにでも入れられるプログラム
2.メモリーにローディングしたあと、場所を動かしても動くプログラム
まず前提がいくつかあります。
1.プログラムはローディングされる時にどこに入るか分かりません。
2.ローディングされた時、先頭アドレスがベースレジスターに入れられます。
3.原則として絶対アドレスを捕まえないとメモリーにはアクセスできません。
4.ベースレジスター方式ではどこにローディングされても絶対アドレスが捕まえられます。
5.インデックスレジスター方式ではデータや飛び先の絶対アドレスの取得は困難です。
そこでリンケージエディターやローダーで命令のアドレス部の書き換えをやるのです。
インデックスは配列を処理すると考えればいいと思います。
再配置ですがインデックスレジスター方式では1番は通常やっていますが、
2は相当難しいです。
ベースレジスター方式では1も2も簡単にやってのけられます。
単にベースレジスターの書き換えだけで済みますから。
No.2
- 回答日時:
この2つは対立する概念ではなくて、独立したものです。
つまり、組み合わせで4通りありえます。・ダイレクトアドレッシング(命令語だけでアドレス指定)
・インデックスアドレッシング(命令語のアドレスに添え字の値を表すレジスタ値を加えて参照)
・ベースアドレス方式(命令語でベースレジスタからの変位を指定してアドレスを指定)
・ベースアドレス方式のインデックスアドレッシング(ベースレジスタに命令語の指定値を加え、さらに添え字レジスタ値を加える)
実行時にリロケータブルにするために、ベースアドレス方式を使い、配列要素を参照するためにインデックスアドレス方式を使います。
ご回答、ありがとうございます。
ベースアドレス方式:リロケータブル
インデックスアドレス方式:配列要素を参照
ということですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/03/31 12:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/12 16:58
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/20 16:37
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- その他(IT・Webサービス) Googleスプレッドシートのコメントについて 1 2022/07/07 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どうしたらアドレスを青色で表...
-
複数アドレスにメール送信した...
-
@live.jpというメールアドレス...
-
空メールが送信されてくるのは?
-
ybbメールとyahoo.co.jpメール...
-
アドレスの語尾 .com .co.jp ...
-
出していないメールが宛先不明...
-
hotmailから携帯への送信
-
スイッチングハブのMACアドレス...
-
メールがはねかえされて送れな...
-
最近、嫌がらせで勝手に出会い...
-
メールを送れません?(@lapis...
-
メール送信エラー。宛先アドレ...
-
Yahooメールを使っているのです...
-
@**dion.ne.jp は携帯アドレス...
-
Yahooメールアドレスを変更した...
-
メールアドレスがばれても悪用...
-
参考URLの貼り付け
-
SMSとMMSの送信の切り替え方
-
outlookのアドレス帳 同一人物...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どうしたらアドレスを青色で表...
-
複数アドレスにメール送信した...
-
@live.jpというメールアドレス...
-
アドレスの語尾 .com .co.jp ...
-
空メールが送信されてくるのは?
-
@**dion.ne.jp は携帯アドレス...
-
hotmailから携帯への送信
-
スイッチングハブのMACアドレス...
-
メール送信エラー。宛先アドレ...
-
署名の中に自分のアドレスを書...
-
電話番号とメルアド、どっちが...
-
メールがエラーで戻ってきまし...
-
Yahooメールアドレスを変更した...
-
メールアドレスがばれても悪用...
-
ヤフーメールの迷惑メールに困...
-
@gol.comというメールアドレス...
-
件名と本文なしのメールが多い...
-
 ̄のアドレス入力方法教えて下さい
-
メールがはねかえされて送れな...
-
ybbメールとyahoo.co.jpメール...
おすすめ情報